CPC G06F 3/165 (2013.01) [G05B 15/02 (2013.01); G06F 3/0482 (2013.01); G06F 3/162 (2013.01); H04L 12/2805 (2013.01); H04N 21/4307 (2013.01); H04N 21/43076 (2020.08)] | 20 Claims |
1. A computing device comprising:
a network interface;
at least one processor; and
at least one non-transitory computer-readable medium comprising program instructions that are executable by the at least one processor such that the computing device is configured to:
receive one or more first commands to (i) start playback of audio content and (ii) select a first playback device for playback from among a plurality of playback devices comprising the first playback device and a second playback device, wherein the first playback device comprises a first digital-to-analog conversion (DAC) clock, and wherein the second playback device comprises a second DAC clock;
determine a virtual clock based on a clock of the computing device;
stream, via the network interface from a source device, the audio content according to a first network streaming protocol;
stream, via the network interface to the first playback device, the audio content according to a second network streaming protocol for playback by the playback device at a playback rate set by the first DAC clock of the first playback device;
receive one or more second commands to additionally select the second playback device for playback; and
stream, via the network interface to the second playback device, the audio content according to the second network streaming protocol for playback by the second playback device in synchrony with playback of the audio content by the first playback device at a playback rate set by the second DAC clock of the second playback device, wherein synchrony is maintained between the first playback device and the second playback device via the virtual clock.
|