Has an internal track queue (PreviousItems, CurrentItem, NextItems)
Handles shuffling, unshuffling and repeat states
Uses a provided IAudioPlayerService for playback, or the source core for remote playback.
Exposes a StrixDevice, an IDevice which turns the playback handler into a useable SDK device.
The problem
When implementing this, most of our testing was done against the PreviousAsync and NextAsync methods. The PlayFromPrevious and PlayFromNext methods were largely neglected.
In both methods, we need to
[ ] Implement shifting the internal queue
[ ] Make sure repeat states are handled appropriately
[ ] Ensure events are fired as expected (CurrentItemChanged, NextItemsChanged, etc)
[ ] Write unit tests to make sure these methods stay working as expected.
Background
The
PlaybackHandlerService
is a class whichIAudioPlayerService
for playback, or the source core for remote playback.StrixDevice
, anIDevice
which turns the playback handler into a useable SDK device.The problem
When implementing this, most of our testing was done against the
PreviousAsync
andNextAsync
methods. ThePlayFromPrevious
andPlayFromNext
methods were largely neglected.In both methods, we need to
CurrentItemChanged
,NextItemsChanged
, etc)