Como adicionar uma barra de tempo rolável ao indicador de som

4

O indicador de som do Ubuntu é bom porque você pode pausar a música que está tocando, ir para o próximo ou para o anterior. Existe uma maneira de adicionar uma barra de tempo rolável a essa interface para a música que está tocando?

Eu tive a ideia de um maquete em DeviantArt

EDIT 1

Eu acho que é possível. Eu encontrei esta captura de tela aqui , mesmo que seja a partir de 2010: -)

EDIT 2

Eu gostaria de uma solução global não apenas para o rhythmbox, como mostrado na imagem acima. Uma solução global significa que ele pode ser usado para controlar a música atual, independentemente do player de mídia usado, seja VLC, Banshee, Rhythmbox, Audacious, etc.

EDIT 3

Como uma solução global é meio impraticável (veja os comentários abaixo), que tal apenas para o VLC? É praticamente o único media player que eu uso.

    
por Parto 16.03.2014 / 15:24

3 respostas

0

Você terá que alterar o código-fonte para o indicador sonoro .

No entanto, eu criei um hack baseado em esta questão .

( para VLC )

Primeiro de tudo, para adicionar VLC ao indicador de som, você tem que habilitar a interface MPRIS Dbus. (Siga este link para obter explicações mais detalhadas .) Uma vez que você tenha habilitado, o VLC (junto com outros Music Players) pode ser controlado através da interface D-bus.

Por exemplo, para o VLC, você pode executar o seguinte comando do terminal para procurar 10s para frente.

qdbus org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Seek 10000000

Você pode ler todas as funções disponíveis na interface do MPRIS aqui .

Agora, baseado em esta questão , você pode criar seu próprio script personalizado para buscar 10s para frente, para trás etc.

    
por ignite 25.03.2014 / 03:09
0

Para usuários do Gnome-Shell (não Unity)

Você pode usar o gnome-shell-extensions-mediaplayer.

sudo add-apt-repository ppa:webupd8team/gnome3
sudo apt-get update
sudo apt-get install gnome-shell-extensions-mediaplayer

Por favor, vá abaixo link, você pode personalizar muitas coisas:

link

    
por Vivek 25.03.2014 / 14:50
0

Eu criei um indicador de aplicativo personalizado com 3 itens de menu, a saber. Retroceder, Avançar & amp; Sair. Eu testei na unidade funciona bem. Pode te dar uma ideia. Estou tentando fazer com que pareça uma foto fornecida por você. Enquanto isso, estou postando o código que estou usando, você pode trabalhar nisso também.

Requisito: mdbus2

Instale-o usando: sudo apt-get install mdbus2

Abaixo está o código 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()

Espero que isso ajude. :)

    
por Vivek 28.03.2014 / 15:15