On-demand multi-audio broadcasting
A content broadcast system may allow a user to select and start an audio stream of desired audio content without having to connect and authenticate to a specific device. Rather than a user having to pause the content and reconfigure settings of the broadcast system to select the desired audio content, the system may broadcast advertisements listing available audio content (e.g., corresponding to different spoken languages) and actively listen for requests from a device for new audio content to be streamed with the content. A user may manually select the new audio content, or the listening device may request particular audio content based on user preferences (e.g., a preferred language for streaming content). The system may broadcast audio data using a Bluetooth protocol.
1 . A method comprising:
receiving a first request to provide media content to a first audio output device;
sending, over a first period of time, portions of first audio data corresponding to first audio content of the media content;
periodically sending, over the first period of time, metadata listing available audio content for the media content, the metadata including information about at least second audio content different from the first audio content;
receiving, during the first period of time, a second request to provide the second audio content of the media content; and
sending, over a second period of time following the first period of time, the portions of the first audio data and portions of second audio data corresponding to the second audio content.
2 . The method of claim 1 , further comprising:
receiving, prior to sending the portions of the first audio data, a third request to provide the media content in a first language; and
determining that the third request corresponds to the first audio content, wherein sending the portions of the first audio data is based on receiving the third request and the second audio content corresponds to a second language different from the first language.
3 . The method of claim 1 , further comprising:
sending, over the first period of time, timing information corresponding to transmission of the portions of the second audio data.
4 . The method of claim 1 , further comprising:
determining a channel capacity of a channel used to broadcast the first audio data;
determining a first bandwidth corresponding to data being sent over the first period of time;
determining an available bandwidth based on the channel capacity and the first bandwidth; and
determining that the available bandwidth exceeds a second bandwidth corresponding to the second audio data, wherein periodically sending the metadata over the first period of time is in response to determining that the available bandwidth exceeds the second bandwidth.
5 . The method of claim 1 , further comprising:
determining a channel capacity of a channel used to broadcast the first audio data;
determining a first bandwidth corresponding to data being sent over the second period of time;
determining an available bandwidth based on the channel capacity and the first bandwidth;
determining that the available bandwidth is less than second bandwidth corresponding to third audio data associated with the media content; and
in response to determining that the available bandwidth is less than second bandwidth corresponding to third audio data associated with the media content, halting sending of the metadata during the second period of time.
6 . The method of claim 1 , further comprising:
receiving a third request to continue providing the first audio data; and
in response to the third request, continuing to send portions of the first audio data.
7 . The method of claim 1 , further comprising:
determining that a first length of time has elapsed without receiving a request to continue providing the second audio data; and
in response to determining that the first length of time has elapsed without receiving a request to continue sending the second audio data, halting the sending of the second audio data.
8 . A system, comprising:
at least one processor; and
at least one memory comprising instructions that, when executed by the at least one processor, cause the system to:
receive a first request to provide media content to a first audio output device;
send, over a first period of time, portions of first audio data corresponding to first audio content of the media content;
periodically send, over the first period of time, metadata listing available audio content for the media content, the metadata including information about at least second audio content different from the first audio content;
receive, during the first period of time, a second request to provide the second audio content of the media content; and
send, over a second period of time following the first period of time, the portions of the first audio data and portions of second audio data corresponding to the second audio content.
9 . The system of claim 8 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:
receive, prior to sending the portions of the first audio data, a third request to provide the media content in a first language; and
determine that the third request corresponds to the first audio content, wherein sending the portions of the first audio data is based on receiving the third request and the second audio content corresponds to a second language different from the first language.
10 . The system of claim 8 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:
send, over the first period of time, timing information corresponding to transmission of the portions of the second audio data.
11 . The system of claim 8 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:
determine a channel capacity of a channel used to broadcast the first audio data;
determine a first bandwidth corresponding to data being sent over the first period of time;
determine an available bandwidth based on the channel capacity and the first bandwidth; and
determine that the available bandwidth exceeds a second bandwidth corresponding to the second audio data, wherein periodically sending the metadata over the first period of time is in response to determining that the available bandwidth exceeds the second bandwidth.
12 . The system of claim 8 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:
determine a channel capacity of a channel used to broadcast the first audio data;
determine a first bandwidth corresponding to data being sent over the second period of time;
determine an available bandwidth based on the channel capacity and the first bandwidth;
determine that the available bandwidth is less than second bandwidth corresponding to third audio data associated with the media content; and
in response to determining that the available bandwidth is less than second bandwidth corresponding to third audio data associated with the media content, halt sending of the metadata during the second period of time.
13 . The system of claim 8 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:
receive a first request to provide media content to a first audio output device; a third request to continue providing the first audio data; and
in response to the third request, continue to send portions of the first audio data.
14 . The system of claim 8 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:
determine that a first length of time has elapsed without receiving a request to continue providing the second audio data; and
in response to determining that the first length of time has elapsed without receiving a request to continue sending the second audio data, halt the sending of the second audio data.
15 . A method comprising:
receiving, by a first device over a first period of time, portions of first audio data corresponding to first audio content of a media item;
receiving, during the first period of time, metadata listing available audio content for the media item, the metadata including information about at least second audio content different from the first audio content;
sending, during the first period of time, a first request to provide the second audio content of the media item; and
receiving, over a second period of time following the first period of time, portions of the first audio data and portions of second audio data corresponding to the second audio content.
16 . The method of claim 15 , further comprising:
sending, prior to receiving the first audio data, a second request for the first audio content, the first audio content corresponding to first language and the second audio content corresponding to a second language different from the first language.
17 . The method of claim 15 , further comprising:
determining, using the metadata, that the first audio content corresponds to a first language and the second audio content corresponds to a second language different from the first language; and
receiving a user input representing a request to receive the media item in the second language, wherein the first request is sent in response to receiving the user input.
18 . The method of claim 15 , further comprising:
determining, using the metadata, that the first audio content corresponds to a first language and the second audio content corresponds to a second language different from the first language; and
determining, using a stored user profile, a user preference to receive the media item in the second language, wherein the first request is sent automatically based on the user preference.
19 . The method of claim 15 , further comprising:
determining, using the metadata, timing information corresponding to transmission of the portions of the second audio data; and
synchronizing a radio of the first device using the timing information.
20 . The method of claim 15 , further comprising:
periodically sending, from the first device over the second period of time, requests to receiving the second audio data.