Merge pull request #2088 from forslund/feature/audioservice-list
Feature/audioservice listpull/2103/head
commit
8c09f88e53
|
@ -194,6 +194,7 @@ class AudioService:
|
|||
self.bus.on('mycroft.audio.service.next', self._next)
|
||||
self.bus.on('mycroft.audio.service.prev', self._prev)
|
||||
self.bus.on('mycroft.audio.service.track_info', self._track_info)
|
||||
self.bus.on('mycroft.audio.service.list_backends', self._list_backends)
|
||||
self.bus.on('mycroft.audio.service.seek_forward', self._seek_forward)
|
||||
self.bus.on('mycroft.audio.service.seek_backward', self._seek_backward)
|
||||
self.bus.on('recognizer_loop:audio_output_start', self._lower_volume)
|
||||
|
@ -430,6 +431,18 @@ class AudioService:
|
|||
self.bus.emit(Message('mycroft.audio.service.track_info_reply',
|
||||
data=track_info))
|
||||
|
||||
def _list_backends(self, message):
|
||||
""" Return a dict of available backends. """
|
||||
data = {}
|
||||
for s in self.service:
|
||||
info = {
|
||||
'supported_uris': s.supported_uris(),
|
||||
'default': s == self.default,
|
||||
'remote': isinstance(s, RemoteAudioBackend)
|
||||
}
|
||||
data[s.name] = info
|
||||
self.bus.emit(message.response(data))
|
||||
|
||||
def _seek_forward(self, message):
|
||||
"""
|
||||
Handle message bus command to skip X seconds
|
||||
|
@ -496,4 +509,3 @@ class AudioService:
|
|||
self.bus.remove('recognizer_loop:audio_output_end',
|
||||
self._restore_volume)
|
||||
self.bus.remove('recognizer_loop:record_end', self._restore_volume)
|
||||
self.bus.remove('mycroft.stop', self._stop)
|
||||
|
|
|
@ -168,6 +168,16 @@ class AudioService:
|
|||
|
||||
return self.info or {}
|
||||
|
||||
def available_backends(self):
|
||||
""" Return available audio backends.
|
||||
|
||||
Returns:
|
||||
dict with backend names as keys
|
||||
"""
|
||||
msg = Message('mycroft.audio.service.list_backends')
|
||||
response = self.bus.wait_for_response(msg)
|
||||
return response.data if response else {}
|
||||
|
||||
@property
|
||||
def is_playing(self):
|
||||
return self.track_info() != {}
|
||||
|
|
Loading…
Reference in New Issue