SYSTEM AND METHOD FOR PLAYING MEDIA DURING NAVIGATION BETWEEN MEDIA STREAMS
An electronic device with one or more processors, memory and a display receives a first request to display a first video stream on the display. In response to receiving the first request, the device displays the first video stream on the display. While displaying the first video stream on the display, the device receives a second request to display a second video stream on the display. In response to receiving the second request, the device displays at least a portion of the first video stream on the display concurrently with at least a portion of the second video stream and the device displays at least a portion of a third video stream on the display concurrently with at least the portion of the second video stream and the portion of the first video stream.
1 . A method, comprising:
at an electronic device with one or more processors, memory and a display:
receiving a first request to display a first video stream on the display;
in response to receiving the first request, displaying the first video stream on the display; and
while displaying the first video stream on the display:
receiving a second request to display a second video stream on the display, wherein receiving the second request includes detecting a gesture corresponding to movement in a respective direction; and
in response to receiving the second request:
sliding a first video tile toward a first edge of the display in a direction corresponding to the respective direction, wherein the first video tile displays the first video stream at a reduced size;
sliding a second video tile onto the display from a second edge of the display that is opposite to the first edge of the display, wherein the second video tile displays the second video stream at a reduced size; and
displaying at least a portion of the first video tile on the display concurrently with at least a portion of the second video tile.
2 . The method of claim 1 , wherein:
prior to receiving the first request, the first video is displayed in the first video tile at a first size;
the second request includes a request to reduce the size of the first video tile; and
displaying the portion of the second video stream and the portion of the third video stream concurrently with the portion of the second video stream includes displaying an array of video tiles including the first video tile, the second video tile corresponding to the second video stream and a third video tile corresponding to the third video stream are displayed in the array, where the first video tile, the second video tile and the third video tile are displayed at respective sizes that are smaller than the first size.
3 . The method of claim 2 , further comprising, after displaying the array of video tiles:
receiving a third request to increase the size of a selected video tile in the array of video tiles; and
in response to receiving the third request, enlarging the selected video tile so that the other video tiles in the array are not displayed on the display.
4 . The method of claim 2 , wherein:
the array includes a plurality of video tiles for which video data has been preloaded; and
displaying the array includes displaying, in each respective video tile of the plurality of video tiles, preloaded video data corresponding to the respective video tile.
5 . The method of claim 1 , wherein:
the second video stream was received, at least in part, from a content source for the second video stream in response to a request, from the electronic device to the content source for the second video stream, for delivery of the second video stream; and
the third video stream was received, at least in part, from a content source for the third video stream in response to a request, from the electronic device to the content source for the third video stream, for delivery of the third video stream.
6 . (canceled)
7 . (canceled)
8 . (canceled)
9 . (canceled)
10 . (canceled)
11 . The method of claim 1 , wherein, during the gesture:
the first video tile displays video content from the first video stream; and
the second video tile displays video content from the second video stream.
12 . The method of claim 1 , comprising, prior to receiving the second request to display the second video, preloading one or more video streams including the second video stream.
13 . (canceled)
14 . The method of claim 12 , wherein:
the first video stream corresponds to a first channel in a predetermined sequence of channels;
the second video stream corresponds to a second channel in the predetermined sequence of channels that is adjacent to the first channel; and
the method includes:
in response to receiving the first request to display the first video stream on the display, starting to download the first video stream from a content source for the first video stream; and
after starting to download the first video stream, starting to preload the second video stream from the content source for the second video stream.
15 . The method of claim 14 , further comprising after starting to download the first video stream, starting to preload the third video stream from a content source for the third video stream, wherein the third video stream corresponds to a third channel in the predetermined sequence of channels that is adjacent to the first channel.
16 . The method of claim 15 , wherein:
receiving the first request to display the first video stream includes receiving a channel switching request for switching channels in a detected channel-switching direction in the predetermined sequence of channels; and
the method includes selecting an order for preloading the second channel and the third channel in accordance with the detected channel-switching direction.
17 . The method of claim 1 , further comprising:
operating in a first concurrent-download mode of operation, wherein while in the first concurrent-download mode of operation, the device downloads concurrent media streams in accordance with first concurrent download constraints;
while operating in the first concurrent-download mode of operation, detecting a change in an available bandwidth for downloading media streams; and
in response to detecting the change in the available bandwidth for downloading media streams, operating in a second concurrent-download mode of operation, wherein, while in the second concurrent-download mode of operation, the device downloads concurrent media streams in accordance with second concurrent download constraints that are different from the first concurrent download constraints.
18 . A computer system, the computer system comprising:
one or more processors;
memory; and
one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:
receiving a first request to display a first video stream on the display;
in response to receiving the first request, displaying the first video stream on the display; and
while displaying the first video stream on the display:
receiving a second request to display a second video stream on the display, wherein receiving the second request includes detecting a gesture corresponding to movement in a respective direction; and
in response to receiving the second request:
sliding a first video tile toward a first edge of the display in a direction corresponding to the respective direction, wherein the first video tile displays the first video stream at a reduced size;
sliding a second video tile onto the display from a second edge of the display that is opposite to the first edge of the display, wherein the second video tile displays the second video stream at a reduced size; and
displaying at least a portion of the first video tile on the display concurrently with at least a portion of the second video tile.
19 . A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computer system with one or more processors, cause the computer system to:
receive a first request to display a first video stream on the display;
in response to receiving the first request, display the first video stream on the display; and
while displaying the first video stream on the display:
receive a second request to display a second video stream on the display, wherein receiving the second request includes detecting a gesture corresponding to movement in a respective direction; and
in response to receiving the second request:
slide a first video tile toward a first edge of the display in a direction corresponding to the respective direction, wherein the first video tile displays the first video stream at a reduced size;
slide a second video tile onto the display from a second edge of the display that is opposite to the first edge of the display, wherein the second video tile displays the second video stream at a reduced size; and
display at least a portion of the first video tile on the display concurrently with at least a portion of the second video tile.
20 . A method, comprising:
at an electronic device with one or more processors, memory and a display:
receiving a first request to display a first video stream on the display;
in response to receiving the first request, displaying the first video stream on the display; and
while displaying the first video stream on the display:
receiving a second request to display a second video stream on the display, wherein receiving the second request includes detecting a gesture corresponding to movement in a respective direction; and
in response to receiving the second request:
sliding a first video tile that includes content extracted from the first video stream toward a first edge of the display in a direction corresponding to the respective direction;
sliding a second video tile that includes content extracted from the second video stream onto the display from a second edge of the display that is opposite to the first edge of the display; and
displaying at least a portion of the first video stream on the display concurrently with at least a portion of the second video stream.
21 . The method of claim 20 , wherein the first video tile is playing content from the first video stream, and the second video tile is playing content from the second video stream.