Systems and methods for synchronizing multiple electronic devices
First Claim
1. A method comprising:
- joining, by a first audio playback device, an audio playback group, wherein the audio playback group includes (i) a master device that provides timing information for playback of audio content by the audio playback group, and (ii) a second audio playback device, wherein each of the first audio playback device and the second audio playback device is in a slave role in the audio playback group;
determining, by the first audio playback device, a difference between a clock of the first audio playback device and a clock of the master device;
receiving by the first audio playback device from the master device, a first time corresponding to audio data to be played by the first audio playback device as part of the audio playback group;
determining, by the first audio playback device, a second time based on (i) the first time and (ii) the difference between the clock of the first audio playback device and the clock of the master device;
playing, by the first audio playback device, the audio data at the second time according to the clock of the first audio playback device;
changing, by the first audio playback device, from the slave role to a master role in the audio playback group; and
after changing from the slave role to the master role, sending, by the first audio playback device to the second audio playback device, additional audio data for playback by the second audio playback device.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments are provided for syncing multiple electronic devices for collective audio playback. According to certain aspects, a master device connects (218) to a slave device via a wireless connection. The master device calculates (224) a network latency via a series of network latency pings with the slave device and sends (225) the network latency to the slave device. Further, the master devices sends (232) a portion of an audio file as well as a timing instruction including a system time to the slave device. The master device initiates (234) playback of the portion of the audio file and the slave devices initiates (236) playback of the portion of the audio file according to the timing instruction and a calculated system clock offset value.
113 Citations
20 Claims
-
1. A method comprising:
-
joining, by a first audio playback device, an audio playback group, wherein the audio playback group includes (i) a master device that provides timing information for playback of audio content by the audio playback group, and (ii) a second audio playback device, wherein each of the first audio playback device and the second audio playback device is in a slave role in the audio playback group; determining, by the first audio playback device, a difference between a clock of the first audio playback device and a clock of the master device; receiving by the first audio playback device from the master device, a first time corresponding to audio data to be played by the first audio playback device as part of the audio playback group; determining, by the first audio playback device, a second time based on (i) the first time and (ii) the difference between the clock of the first audio playback device and the clock of the master device; playing, by the first audio playback device, the audio data at the second time according to the clock of the first audio playback device; changing, by the first audio playback device, from the slave role to a master role in the audio playback group; and after changing from the slave role to the master role, sending, by the first audio playback device to the second audio playback device, additional audio data for playback by the second audio playback device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An audio playback device comprising:
-
a communication component; a memory; an audio output component for outputting audio; and a controller module interfaced with the communication component, the memory, and the audio output component, and configured to; join, via the communication component, an audio playback group, wherein the audio playback group includes (i) a master device that provides timing information for playback of audio content by the audio playback group, and (ii) a second audio playback device, wherein each of the audio playback device and the second audio playback device is in a slave role in the audio playback group, determine a difference between a clock of the audio playback device and a clock of the master device, receive, from the master device via the communication component, a first time corresponding to audio data to be played by the audio playback device as part of the audio playback group, determine a second time based on (i) the first time and (ii) the difference between the clock of the audio playback device and the clock of the master device, cause the audio output component to play the audio data at the second time according to the clock of the audio playback device, change from the slave role to a master role in the audio playback group, and after changing from the slave role to the master role, send, to the second audio playback device via the communication component, additional audio data for playback by the second audio playback device. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for changing audio playback roles within a group audio session, comprising:
-
a first audio playback device having a master role in the group audio session; a second audio playback device having a slave role in the group audio session; and a third audio playback device configured to; join the group audio session in the slave role, determine a difference between a clock of the third audio playback device and a clock of the first audio playback device, receive, from the first audio playback device, a first time corresponding to audio data to be played by the third audio playback device as part of the group audio session, determine a second time based on (i) the first time and (ii) the difference between the clock of the third audio playback device and the clock of the first audio playback device, play the audio data at the second time according to the clock of the third audio playback device, and change from the slave role to the master role in the group audio session. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification