示例#1
0
def main():
    parser = argparse.ArgumentParser(description='MPRIS to Icecast bridge.')
    parser.add_argument('url', type=str, help='URL to Icecast server.')
    parser.add_argument('username', type=str, help='Username')
    parser.add_argument('password', type=str, help='Password')

    args = parser.parse_args()

    DBusGMainLoop(set_as_default=True)

    uri = next(get_players_uri())
    player = Player(dbus_interface_info={'dbus_uri': uri})

    player.PropertiesChanged = partial(properties_changed, args.url,
                                       (args.username, args.password))

    mloop = gi.repository.GLib.MainLoop()
    mloop.run()
示例#2
0
from dbus.mainloop.glib import DBusGMainLoop
from mpris2 import get_players_uri, Player
import gi.repository.GLib
import serial
import time
import sys

DBusGMainLoop(set_as_default=True)
uri = next(get_players_uri())

song_name = "Example"

def another_handler(self, *args, **kw):
    if (song_name != player.Metadata['xesam:title']):
        update_song()

def update_song():
    global song_name
    metadata = player.Metadata
    song_name = metadata['xesam:title']
    artist_name = artist_name = (metadata['xesam:artist'][0])
    arduino.write((song_name + "*" + artist_name + "*").encode())

arduino = serial.Serial('/dev/ttyACM0', 9600) 
time.sleep(2)
player = Player(dbus_interface_info={'dbus_uri': uri})
player.PropertiesChanged = another_handler
mloop = gi.repository.GLib.MainLoop()
update_song()
mloop.run()
示例#3
0
 def connect_to_all_players(self):
     for uri in get_players_uri():
         p = Player(dbus_interface_info={'dbus_uri': uri})
         p.PropertiesChanged = self.properties_changed_cb
         self.players.append(p)