Adds a mechanism for interrupting the playhead of a given zone, playing a URI, and returning the playhead, volume, and playing state to its original position. Useful for things like playing a doorbell, a build notification, or any number of other things. For ease of integration, calls to Speaker.voiceover(uri, volume) are blocking until the state has been reset.
As it's not a real "endpoint" on the Sonos API, I propose a new Sonos::Features namespace to handle things that build on top of existing endpoints, but don't align to the UPNP endpoint structure.
Adds a mechanism for interrupting the playhead of a given zone, playing a URI, and returning the playhead, volume, and playing state to its original position. Useful for things like playing a doorbell, a build notification, or any number of other things. For ease of integration, calls to
Speaker.voiceover(uri, volume)
are blocking until the state has been reset.As it's not a real "endpoint" on the Sonos API, I propose a new
Sonos::Features
namespace to handle things that build on top of existing endpoints, but don't align to the UPNP endpoint structure.