Ubuntu 声音指示器很不错,因为您可以暂停正在播放的歌曲、播放下一首或上一首。有没有办法在该界面上为正在播放的歌曲添加可滚动的时间条?
编辑1
我认为有可能。我找到了这个屏幕截图这里尽管它是 2010 年的 :-)
编辑2
我想要一个全局解决方案,而不仅仅是如上图所示的 rhythmbox。全局解决方案意味着它可以用于控制当前播放的歌曲,而不管使用哪种媒体播放器,无论是 VLC、Banshee、Rhythmbox、Audacious 等。
编辑3
由于全局解决方案有点不切实际(请参阅下面的评论),那么仅适用于 VLC 怎么样?它实际上是我使用的唯一媒体播放器。
答案1
你必须更改源代码提示音。
然而,我想出了一个基于这个问题。
(对于 VLC)
首先,要将 VLC 添加到声音指示器,您必须启用 MPRIS Dbus 接口。(关注此链接以获得更详细的解释。)一旦启用它,VLC(以及其他音乐播放器)就可以通过 D-bus 接口进行控制。
例如,对于 VLC,您可以从终端运行以下命令来向前搜索 10 秒。
qdbus org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Seek 10000000
您可以从 MPRIS 界面读取所有可用的功能这里。
现在基于这个问题,您可以创建自己的自定义脚本来向前、向后搜索 10 秒等。
答案2
对于 Gnome-Shell 用户(非 Unity)
您可以使用 gnome-shell-extensions-mediaplayer。
sudo add-apt-repository ppa:webupd8team/gnome3
sudo apt-get update
sudo apt-get install gnome-shell-extensions-mediaplayer
请点击以下链接,您可以自定义许多东西:
https://github.com/eonpatapon/gnome-shell-extensions-mediaplayer/blob/master/README.md
答案3
我创建了一个自定义应用程序指示器,其中包含 3 个菜单项,即倒带、前进和退出。我已经在 Unity 中测试过它,它运行良好。它可以给你一些想法。我试图让它看起来像你提供的图片。同时,我正在发布我正在使用的代码,你也可以使用它。
要求:mdbus2
使用以下方式安装:sudo apt-get install mdbus2
以下是 Python 代码:
#!/usr/bin/env python
'''
To rewind and forward the currently playing song
depend on mbus2 and can be installed using sudo apt-get install mbus2
version 0.1 (public domain)
Author: Vivek Mishra
'''
import dbus
bus = dbus.SessionBus()
proxy = bus.get_object('org.mpris.MediaPlayer2.rhythmbox','/org/mpris/MediaPlayer2')
player = dbus.Interface(proxy, 'org.mpris.MediaPlayer2.Player')
APPNAME = "Player Navigation"
ICON = "/usr/share/icons/hicolor/48x48/apps/totem.png"
from gi.repository import AppIndicator3 as AI
from gi.repository import Gtk
# Forwards a song for 100 sec
def forward(item):
player.Seek(100000000)
# Rewinds a song for 100 sec
def rewind(item):
player.Seek(-100000000)
def scroll(aai, ind, steps):
print "hello" # doesn't print anything
def makemenu():
' Set up the menu '
menu = Gtk.Menu()
forward_item = Gtk.MenuItem('Forward')
forward_item.connect('activate', forward)
forward_item.show()
rewind_item = Gtk.MenuItem('Rewind')
rewind_item.connect('activate', rewind)
rewind_item.show()
exit_item = Gtk.MenuItem('Quit')
exit_item.connect('activate', Gtk.main_quit)
exit_item.show()
menu.append(forward_item)
menu.append(rewind_item)
menu.append(exit_item)
menu.show()
return menu
def startapp():
ai = AI.Indicator.new(APPNAME, ICON, AI.IndicatorCategory.HARDWARE)
ai.set_status(AI.IndicatorStatus.ACTIVE)
ai.set_menu(makemenu())
ai.connect("scroll-event", scroll)
Gtk.main()
startapp()
希望这可以帮助。 :)