==== Fixed Issues ====
#942
==== Tech Notes ====
Separate multiple skills found error from no skill found error.
- Multiple skills found = Err 301
- No skill found = Err 302
Add audio service
==== Fixed Issues ====
NONE
==== Tech Notes ====
Adds a separate audio service process. This audio service handles queuing audio and adds the possibility to send audio to different backends (including mpg123, vlc, mopidy and chromecast)
TTS is moved from the clients to this process.
==== Documentation Notes ====
audio service skill API should be documented.
==== Localization Notes ====
NONE
==== Environment Notes ====
The audio service needs to be started together with the other parts of mycroft.
Ideally we should include vlc on the image to allow better control over the playback than mpg123/aplay allows
==== Protocol Notes ====
A bunch of audio control related message bus messages has been added:
mycroft.audio.service.play - start playing a playlist
mycroft.audio.service.pause - pause currently playing list
mycroft.audio.service.resume - resume paused playback
mycroft.audio.service.stop - stop playback
mycroft.audio.service.next - start playing next track
mycroft.audio.service.prev - start playing previous track
mycroft.audio.service.track_info - return information about the currently playing track
when the audio configuration option "pulseaudio" is set to mute running
audio streams will be muted while mycroft is speaking and while mycroft
is listening.
Chromecast can be manually added with a backend entry with type set to "chromecast" or the service can autodetect all chromecast and register them with their names by setting the Audio configuration parameter autodetect-chromecast set to true.
Currently this implementation is very basic and is using the default media controller. This limits the usable uri's to http(s), adding support for local files and hopefully more services will be added later.