blueplayer
blueplayer copied to clipboard
Faster player search
I am having trouble using "Play" "Next" etc. commands in different media players. When a user switches from Spotify to Youtube, the player object path changes, which means that the path must be re-searched the player must be updated. I've written updatePlayer, which is like findPlayer, but that makes the application take a long time to search path sometimes. Do you guys have any idea how this could be solved?
def update_player(self): manager = dbus.Interface(self.bus.get_object("org.bluez", "/"), "org.freedesktop.DBus.ObjectManager") objects = manager.GetManagedObjects()
player_path = None
try:
for path, interfaces in objects.iteritems():
if PLAYER_IFACE in interfaces:
print path
player_path = path
break
except Exception as err:
print err
if player_path:
self.connected = 1
self.getPlayer (player_path)
self.playerpath = player_path
player_properties = self.player.GetAll(PLAYER_IFACE, dbus_interface="org.freedesktop.DBus.Properties")
def next(self): try: self.player.Next(dbus_interface=PLAYER_IFACE) except Exception as err: print err self.update_player() self.player.Next(dbus_interface=PLAYER_IFACE)