Mechanism for handling interrupted playback experience for media items in a playlist
By identifying the availability of media items in the playlist and automatically switching to the next available item, the playback interruption problem caused by media items is solved, achieving a seamless playback experience.
Patent Information
- Application Number
- CN202010985418.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2014-03-26
- Filing Date
- 2015-03-25
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2035-03-25
AI Technical Summary
In the playlist, if the media item becomes unavailable, the user needs to manually proceed to the next media item, causing the playback experience to be interrupted and affecting the user experience and the usage time of the content sharing platform.
By identifying whether the media item in the playlist is available for playback, if the media item is not available, the server automatically advances the user device to the next available media item without user interaction; if the media item is available, the user device plays the media item.
Maintain the manual user experience of playlists, avoid playback interruptions due to media items being unavailable, and improve the user experience and content sharing platform usage time.
Smart Images

Figure CN112287133B_ABST
Abstract
Description
[0001] Description of the case
[0002] This application is a divisional application of Chinese invention patent application No. 201580015693.4, filed on March 25, 2015. Technical Field
[0003] The present disclosure relates to the field of media content, and in particular to systems and methods for handling an interrupted playback experience of a media item in a playlist. Background Art
[0004] The user can consume media content using a user device. The user device may include a desktop computer, a laptop computer, a tablet computer, a handheld device (such as a portable media player and a smart phone), and any suitable device. The media content may include video clips, audio clips, and images hereinafter collectively referred to as media items. These media items may be stored in a user device, such as a memory and a hard drive of a user device. These media items may also be made available to the user by providing services such as content sharing platforms.
[0005] Multiple media items can be grouped together into a playlist. Media player software ("media player") can then be used to continuously play media items from the playlist without requiring the user to manually advance to the next media item after finishing the current media item. For example, a certain singer's music video can be grouped together into a playlist. When the user requests the playlist, the media player can present the playlist and start playing the music video according to the playlist.
[0006] A playlist may be created by one or more authors and then published on a content sharing platform for public viewing. This type of playlist may be referred to as a public playlist. A public playlist may be provided via a content sharing platform so that user devices of the public may retrieve the playlist and play the media items on the playlist. Alternatively, a playlist may be accessible only to a limited number of viewers. This type of playlist may be referred to as a private playlist. Summary of the invention
[0007] The following is a brief summary of the present disclosure in order to provide a basic understanding of some aspects of the present disclosure. The present summary is not a broad overview of the present disclosure. It is neither intended to identify the key or important elements of the present disclosure, nor to describe any scope of the specific embodiments of the present disclosure or any scope of the claims. Its only purpose is to present some concepts of the present disclosure in a simplified form as a prelude to a more detailed description presented later.
[0008] Implementations of the present disclosure may include a method comprising: in response to a user request for a playlist, identifying, by a processing device, multiple media items from a playlist; for each of the multiple media items, determining whether the corresponding media item is available for playback on a user device; in response to determining that the corresponding media item is not available for playback on the user device, causing the user device to advance to the next media item on the playlist without user interaction; and in response to determining that the corresponding media item is available for playback on the user device, causing the user device to play the corresponding media item.
[0009] Implementations of the present disclosure may include a method comprising: in response to a user request for a playlist, presenting, by a processing device, a playlist comprising a plurality of media items and initiating sequential playback of the plurality of media items; and when any of the plurality of media items is not available for playback, presenting an error message to the user and advancing to the next media item on the playlist without user interaction. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The present disclosure is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings.
[0011] Figure 1 An example system architecture according to an embodiment of the present disclosure is illustrated.
[0012] Figure 2 An example media player including a user interface according to an embodiment of the present disclosure is illustrated.
[0013] Figure 3 is a flow chart illustrating a method for managing a playlist according to some embodiments of the present disclosure.
[0014] Figure 4 is a flow chart illustrating another method for playing a playlist according to an embodiment of the present disclosure.
[0015] Figure 5 is a block diagram illustrating an example computer system in accordance with some implementations. DETAILED DESCRIPTION
[0016] Aspects of the present disclosure relate to processing the interrupted playback experience of content items in a playlist. A playlist can be a file containing a data link to an ordered set of media items. For example, a playlist can include a hyperlink pointing to a uniform resource locator (URL) or a web address, through which the media items in the playlist can be retrieved on the Internet. A playlist can also include a directory path, through which the media items in the playlist can be retrieved from a data store having stored the media items thereon.
[0017] The media player on the user device receives the media items in the playlist from the server (e.g., received as streaming content from a content sharing platform) and presents the media items in the order defined by the playlist. For example, the media player can play video clips one after another continuously without user input. In another example, by changing the order defined by the playlist, the user can navigate directly to a specific video in the playlist.
[0018] When playing, if all of the media items on the playlist are available, the user of the playlist can continuously enjoy the content of the media items. However, for different reasons, some or all of the media items may become unavailable to the media player of some user equipment. For example, a video may be unavailable in a specific country, or may have been removed from a content sharing platform. Video may only be available in a premium mode of paid playback. For example, a user device at some geographic area may be blocked from receiving some media items due to copyright restrictions in these areas. In addition, it is possible that after creating a playlist, the owner of the media items may remove the media items from its original position subsequently. Therefore, the playlist may include a hanging link that is not coupled to any accessible content. In addition, when the position pointed to by the link becomes temporarily unavailable due to a network connection problem, a hanging link may occur. Therefore, if the media items from the playlist become unavailable when it is turned to be played for any of the above reasons, the playback of the media items on the playlist may be terminated (stoppage). In this situation, the user needs to manually advance playback to the next media item in the playlist (eg, by pressing a forward button on the user interface).
[0019] Manually advancing from an unavailable media item to the next media item causes an interruption of the user's hands-free viewing experience of the media items in the playlist. For example, the user may listen to the music of the playlist in the background while doing something else. The suspension of the playlist may cause the user to stop working in order to restart the playlist, resulting in an unsatisfactory user experience. An unsatisfactory user experience may result in a shorter playback session, which may directly affect the use time of the content sharing platform.
[0020] Embodiments of the present disclosure may include systems and methods that identify one or more media items from a playlist and determine whether each of the media items is available for playback on a user device. If a media item is not available for playback on the user device, the server may cause the media player of the user device to advance to the next media item on the playlist without user interaction with the user of the user device. However, if the media item is available for playback on the user device, the media player of the user device begins to play the media item. In this way, a hands-free user experience of the playlist can be maintained without further user action.
[0021] Figure 1 An example system architecture 100 in accordance with some embodiments of the present disclosure is illustrated. The system architecture 100 includes user devices 110A through 110Z, a network 105, a data store 106, a content sharing platform 120, and a server 130. In one embodiment, the network 105 may include a public network (e.g., the Internet), a private network (e.g., a local area network (LAN) or a wide area network (WAN)), a wired network (e.g., Ethernet), a wireless network (e.g., an 802.11 network or a Wi-Fi network), a cellular network (e.g., a Long Term Evolution (LTE) network), routers, hubs, switches, server computers, and / or combinations thereof. In one embodiment, the data store 106 may be a memory (e.g., random access memory), a cache, a drive (e.g., a hard drive), a flash drive, a database system, or another type of component or device capable of storing data. The data store 106 may also include multiple storage components (e.g., multiple drives or multiple databases), which may also span multiple computing devices (e.g., multiple server computers).
[0022] Each of the user devices 110A to 110Z may include a computing device such as a personal computer (PC), a laptop computer, a mobile phone, a smart phone, a tablet computer, a notebook computer, and the like. In some embodiments, the user devices 110A to 110Z may also be referred to as a "client device". Each user device includes a media player 111. In one embodiment, the media player 111 may be an application that allows a user to view content such as images, videos, web pages, documents, and the like. For example, the media player 111 may be a web browser capable of accessing, retrieving, presenting, and / or navigating content served by a web server (e.g., web pages such as Hypertext Markup Language (HTML) pages, digital media items, and the like). The media player 111 may present, display, and / or present content (e.g., web pages, media player) on the user device to the user. The media player 111 may also be an embedded media player (e.g., a web page that may provide information about products sold by an online merchant) embedded in a web page (e.g., a web page that may provide information about products sold by an online merchant). In another example, the media player 111 may be a standalone application that allows a user to view media items (eg, digital videos, digital images, e-books, etc.).
[0023] The media player 111 may be provided to the user devices 110A to 110Z by the server 130 and / or the content sharing platform 120. For example, the media player 111 may be an embedded media player embedded in a web page provided by the content sharing platform 120. In another example, the media player 111 may be an application downloaded from the server 130 and installed on the user devices 110A to 110Z.
[0024] In general, the functions described in one embodiment as being performed by the content sharing platform 120 may also be performed on the user devices 110A to 110Z as appropriate in other embodiments. In addition, the functions attributed to a particular component may be performed by a different component or multiple components operating together. The content sharing platform 120 can also be accessed as a service provided to other systems or devices through an appropriate application programming interface, and therefore the content sharing platform 120 is not limited to use in a website.
[0025] In one embodiment, the content sharing platform 120 can be one or more computing devices (such as rack servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, etc.), data storage (such as hard disks, memories, databases), networks, software components, and / or hardware components that can be used to provide users with access to media items and / or provide media items to users. For example, the content sharing platform 120 can allow users to consume, upload, search, agree ("like"), dislike, and / or comment on media items. The content sharing platform 120 can also include a website (e.g., a web page) that can be used to provide users with access to media items. The server 130 can be part of the content sharing platform 120 and hosted by the same computing device as the content sharing platform 120. Alternatively, the server 130 can be part of a different computer system or a separate computer system including one or more computing devices (such as rack servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, etc.).
[0026] The content sharing platform 120 may include a plurality of channels (eg, channel A to channel Z). A channel can be data content available from a public source or data content having a public topic or theme.
[0027] Each channel may include one or more media items 121. Examples of media items 121 can include, but are not limited to: digital videos, digital movies, digital photos, digital music, website content, social media updates, electronic books (e-books), electronic magazines, digital newspapers, digital audio books, electronic journals, web blogs, Really Simple Syndication (RSS) feeds, electronic comic books, software applications, etc.
[0028] Media items 121 may be consumed via the Internet and / or via mobile device applications. For brevity and simplicity, throughout this document, online videos (hereinafter also referred to as videos) are used as examples of media items 121. As used herein, "media," "media items," "online media items," "digital media," "digital media items," "content," and "content items" can include electronic files that can be executed or loaded using software, firmware, or hardware configured to present digital media items to an entity. In one embodiment, content sharing platform 120 can use data storage device 106 to store media items 121.
[0029] In one embodiment, the server 130 may include a content availability manager 140 to manage the playlists accessible by the server. In response to receiving a request for a playlist, the content availability manager 140 may identify the media items of the playlist. If the content availability manager 140 determines that any media item is not available for playback, the content availability manager 140 may send a message to the user device indicating that the specific media item is not available for playback on the user device. When the media items in the playlist are identified, the determination may be performed for all media items on the playlist. Alternatively, the determination may be performed for the media items that will be streamed to the user device. In response to determining that one or more media items are not available for playback, the content availability manager 140 may instruct the media player 111 to skip the one or more unavailable media items and automatically play the next available media item on the playlist without user interaction. Meanwhile, the media player 111 may receive and display an error message from the content availability manager 140 indicating that these media items are unavailable.
[0030] Playlist 160 can comprise the ordered list of media items, and described media items will be played on user device according to this ordered list.Can be according to the order of playlist 160 or with any other order (for example, sequentially or in parallel) come media items from data storage device 106 stream to user device.Content availability manager 140 can keep pointer, and this pointer points to the current media item being played on user device.When the media player 11 on user device ends (or is about to end) playing current media item, content availability manager 140 can receive indicator from this user device.For example, user device can send signal to server 130, and this signal indicates that content availability manager 140 should make pointer advance to next media item according to the order of playlist, and should instruct media player to play the next media item on user device.
[0031] In response to the indication of the user device above, the content availability manager 140 can determine whether the next media item to be played can be used to play on the user device. As previously discussed, the next media item may not be available for the user device for different reasons. For example, the content availability manager 140 can retrieve copyright information from the metadata of the next media item and (for example, based on the geographical location of the user device) determine whether the user device has appropriate copyright rights to receive the next media item. The content availability manager 140 can also check whether the next media item still exists at the indicated position on the playlist. If the content availability manager 140 determines that the next media item can be used to play on the user device, the content availability manager 140 can advance the current pointer to the next media item to make it the current media item and instruct the media player to play the current media item. However, if the content availability manager 140 determines that the next media item is not available for playing on the user device, the content availability manager 140 can go to the subsequent media item in the playlist to determine whether the subsequent media item can be used to play on the user device. The process can continue until an available media item is found. If the content availability manager 140 determines that a media item further down from the playlist is available to the user device, it can move the pointer to point to the media item and make it the current media item to give the user device permission to play the current media item. The content availability manager 140 can also send an error message to the user device indicating that one or more media items on the playlist are no longer available and should be skipped.
[0032] In one embodiment, in response to receiving an instruction to play the next available media item in the playlist and an error message indicating that one or more media items should be skipped, a media player executing on the user device may play the next available media item without further interaction from the user. According to some embodiments, the media player may display a message on a screen of the user device indicating that one or more media items are not available.
[0033] In another embodiment, in response to receiving the instruction of the next available media item played in the playlist and indicating that one or more media items should be skipped, the media player of the user device can delay the playing of the next available media item for a predetermined time. For example, in one embodiment, the media player can display a timer to show the remaining time until the playing of the next available media item begins. The media player can also display the description (such as title) of the next available media item scheduled for playing, and can also display the description of one or more unavailable media items. In this way, during the delay period, the user can have an option to pause the playing of the next available media item. However, by default, if the media player does not receive the user's request to pause playing, the media player of the user device starts the playing of the current media item on the playlist 160.
[0034] Embodiments of the present disclosure may also detect the following situation: skipping unavailable media items may not be the desired user experience. In one embodiment, the content availability manager 140 may determine whether the playlist is a sequence of continuous episodes that may need to be consumed sequentially. An example of a continuous episode may include a situation where the previous continuous episode is a necessary class for the following class. In one embodiment, the content availability manager 140 may make this determination based on the metadata of the playlist. For example, the metadata may include a flag, which indicates a preference for sequential playback under the event of unavailable media items. If the content availability manager 140 determines that sequential playback is better than skipping for the playlist, the content availability manager 140 may notify the user device of the specific mode. In response, the media player of the user device may stop playing the media items on the playlist and display a message to notify the user of the missing episode. Instead of automatically advancing to the next available media item, the media player may wait for further instructions from the user before any further playback.
[0035] In one embodiment, the content availability manager 140 may receive a request from a user device to play a specific media item in a playlist. For example, a user may directly navigate to a specific media item in a playlist via a user interface (e.g., a watch page) because the user's primary interest is in the specific media item. If the media item requested by the user happens to be unavailable, skipping the media item may not be an appropriate user experience. Alternatively, in one embodiment, the media player of the user device may not play the next available media item on the playlist, but instead display a message to notify the user of the missing media item.
[0036] The content availability manager 140 determines that all subsequent media items in the playlist (all media items after the media item that just ended) are unavailable. In the event of this situation, the content availability manager 140 can instruct the media player to stop playing the playlist. Alternatively, the content availability manager 140 can cause the user device to loop the same media item that just ended.
[0037] Figure 2 An example user interface 200 of a media player 111 according to an embodiment of the present disclosure is illustrated. Figure 2 , the user interface 200 of the media player 111 may include multiple areas 202 to 208 to display the content and information of the playlist. The first display area 202 includes an information bar that can display information about the playlist. For example, the information bar can display the title and author of the playlist. The second display area 204 may include a display area (or a graphic container (canvas)) to present the content of a media item such as a video clip. Therefore, the second display area 204 can display a video (or a time-synchronized video frame). Alternatively, if the media item is an audio clip, the area 204 can simply display an image or graphic representing the audio clip. If the media item is a stack of images, the area 204 can display these images. The third display area 206 may include actionable elements 206A to 206F corresponding to a media item on the playlist, respectively. In one embodiment, the order of the actionable elements (from top to bottom) can indicate the order in which the media items 206A to 206F should be played. The media item currently being played can be highlighted. As shown in Figure 2 , for example, media item 206A is currently playing in zone 204, and media item 206B to media item 206F are in a queue to be played subsequently. In the sense that each actionable element can be selected (for example, under the guidance of the user) for playing in zone 204, action element 206A to action element 206F are actionable. The fourth display area 208 may include functional elements and display elements. For example, zone 208 may include a "play" button that can be switched between "play" mode and "pause" mode. Zone 208 may also include an actionable element for changing volume and a display element (sliding display and text display) of the total duration of indication playback and the time since playback began. In addition, zone 208 may include actionable / display elements such as dedicated subtitles (closed caption), settings, and screen size.
[0038] In one embodiment, the media player 111 receives a message indicating that one or more media items on the playlist are unavailable and may display an alert informing the user of the message. Figure 2, warning message 210 may be displayed in a non-intrusive location (such as the lower right corner of region 204). Correspondingly, a visual indicator (e.g., the same as warning mark 210) regarding an actionable element (e.g., actionable element 206E) corresponding to the unavailable media item may be displayed in region 208. In one embodiment, received messages of unavailable media items may be stored in a queue of the user device or in a queue transmitted to a server so that they may be used for later debugging.
[0039] Reference Figure 1 In one embodiment, the media player 111 may further include functionality for determining whether a media item on a playlist is available for playback (similar to the content availability manager 140). The determination made by the media player 111 may utilize the convenience of access to a playlist stored on the user device 110 (such as a private playlist) compared to the determination made by the content availability manager 140 on the server 130.
[0040] In one embodiment, in response to a request for a playlist, the media player 111 may determine whether any media item in the playlist is unavailable for playback on the user device. In response to determining that one or more media items are unavailable for playback, the media player 111 may skip the one or more unavailable media items and automatically advance to the next available media item on the playlist without user interaction. At the same time, the media player 111 may also display a message indicating that these media items are unavailable. Alternatively, the media player 111 may delay playback of the next available media item for a period of time. For example, the media player 111 may (e.g., in Figure 2 The media player 111 may also display a clock (on the area 204 of the display) to indicate the remaining time until the playback of the next available media item on the playlist begins. The media player 111 may also display a message indicating that one or more media items are unavailable. The media player 111 may process the playlists stored on the user device and provide functionality similar to that of the content availability manager 140. Alternatively, the user device may include a local content availability manager to cooperate with the media player 111 and handle the interrupted playback experience of the media items in the local playlist in the manner discussed above.
[0041] Figure 3 is a flowchart illustrating a method 300 for managing a playlist according to some embodiments of the present disclosure. The method 300 may be performed by processing logic including hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions running on a processing device for performing hardware simulation), or a combination thereof.
[0042] For simplicity of explanation, the method of the present disclosure is depicted and described as a series of actions. However, the actions according to the present disclosure can occur in various orders and / or in parallel, and other actions not presented and described herein can also occur. In addition, according to the disclosed subject matter, not all illustrated actions are required to implement the method. In addition, those skilled in the art will understand and appreciate that the method can alternatively be represented as a series of interrelated states via state diagrams or events. In addition, it should be appreciated that the methods disclosed in this specification can be stored on an article of manufacture to facilitate the conveying and transmission of such methods to a computing device. As used herein, the term "article of manufacture" is intended to cover a computer program accessible from any computer-readable device or storage medium. In one embodiment, method 300 can be implemented as in Figure 1 Executed by the content availability manager 140 shown in FIG.
[0043] Reference Figure 3 At 302, a content availability manager may receive a request for a playlist of media items. The request may be made by a user device to a server (e.g., under the guidance of a user). In response to receiving the request, the content availability manager may identify the media items included in the playlist for streaming to the user device. At 304, for each media item in the playlist, the content availability manager may determine whether the media item is available for playback on the user device. The determination may be based on whether the user device has appropriate rights (such as copyright) to the media item, whether the media item has been removed from its storage, etc. In some embodiments, the above determination may be performed before the corresponding media item is streamed to the user device. Alternatively, the streaming of the media item may be completed independently of the above determination. For example, all available media items in the playlist may be streamed by a component other than the content availability manager (e.g., in parallel or in sequence using an order defined by the playlist or any other order). The other component may record information about available media items that have been streamed to the user device, and the content availability manager may then use the recorded information to perform the above determination. For example, the content availability manager may make the above determination upon receiving a signal from a user device that has completed or is about to complete playback of a preceding media item.
[0044] At 306, in response to determining that the media item in the playlist is not available for playback on the user device, the content availability manager can cause the user device to advance to the next media item in the playlist, wherein the advancement is implemented on the user device without user interaction. In some embodiments, the content availability manager can cause the user device to advance to the next media item by sending an error message indicating the unavailability of the current media item and an instruction to start playing the next media item in the playlist to the user device. If the next media item has not yet been streamed to the user device, the content availability manager can also stream the next media item to the user device.
[0045] At 308, in response to determining that the media item in the playlist is available for playback on the user device, the content availability manager can cause the user device to play the media item. For example, the content availability manager can send an instruction to start playing the media item. If the media item has not yet been streamed to the user device, the content availability manager can also stream the media item to the user device.
[0046] Figure 4 4 is a flowchart illustrating another method 400 for playing a playlist according to an embodiment of the present disclosure. The method 400 may be performed by processing logic including hardware (e.g., circuits, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions running on a processing device for performing hardware simulation), or a combination thereof. In one embodiment, the method 400 may be performed by a processor such as in Figure 1 The process is performed by the user device 110 shown in FIG.
[0047] Reference Figure 4At 402, a user device including a media player may receive a user request for a playlist. The request may be generated in response to a user selection of a playlist in a user interface. The user device may retrieve the playlist from the local storage of the user device or request the playlist from a server of a content sharing platform. At 404, the user device may present a playlist listing media items in a user interface. The user interface may include a first area for presenting the content (e.g., video or audio) of the media item and a second area for presenting an element corresponding to each media item. In response to the request for the playlist, the media player may initiate sequential playback of the media item. In 406, if any media item in the playlist is not available for playback on the user device, the media player may present an error message in a non-intrusive position on the user interface and advance the playback to the next media item in the playlist without any user interaction. The error message may indicate that one or more media items are unavailable. In one embodiment, an indication that a media item is unavailable is received from a server. Alternatively, the media player may make this determination based on certain criteria, such as whether the user device has the appropriate authority (e.g., copyright) to access the media item.
[0048] Figure 5 A diagrammatic representation of a machine in the exemplary form of a computer system 500 is illustrated, in which an instruction set for causing the machine to perform any one or more methods discussed herein can be executed. In an alternative embodiment, the machine can be connected (e.g., networked) to other machines in a LAN, an intranet, an extranet, or the Internet. The machine can operate in the capacity of a server or client machine in a client-server network environment, or operate as a peer in a peer-to-peer (or distributed) network environment. The machine can be a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular phone, a web instrument, a server, a network router, a switch, or a bridge, or any machine capable of executing an instruction set (sequential or otherwise) specifying the action taken by the machine. Further, although only a single machine is illustrated, the term "machine" should also be understood to include any set of machines that individually or jointly execute an instruction set (or multiple instruction sets) for implementing any one or more of the methods discussed herein.
[0049] The exemplary computer system 500 includes a processing device (processor) 502 that communicates with each other via a bus 508, a main memory 504 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Ranbus DRAM (RDRAM)), etc.), a static memory 506 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage device 518.
[0050] The processor 502 represents one or more general-purpose processing devices such as a microprocessor, a central processing unit, etc. More specifically, the processor 502 may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor that implements other instruction sets or a processor that implements a combination of instruction sets. The processor 502 may also be one or more special-purpose processing devices such as an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, etc. The processor 502 is configured to execute instructions 526 for implementing the operations and steps discussed herein.
[0051] The computer system 500 may further include a network interface device 522. The computer system 500 may also include a video display unit 510 (e.g., a liquid crystal display (LCD), a cathode ray tube (CRT), or a touch screen), an alphanumeric input device 512 (e.g., a keyboard), a cursor control device 514 (e.g., a mouse), and a signal generating device 520 (e.g., a speaker).
[0052] The data storage device 518 may include a computer-readable storage medium 524 having stored thereon one or more instruction sets 526 (e.g., software) embodying any one or more of the methodologies or functions discussed herein. The instructions 526 may also reside completely or at least partially within the main memory 504 and / or within the processor 502 during execution thereof by the computer system 500, the main memory 504 and the processor 502 also constituting computer-readable storage media. The instructions 526 may be further transmitted or received over the network 574 via the network interface device 522.
[0053] In one embodiment, the instructions 526 include instructions for respectively communicating with Figure 1The instructions of the content availability manager 140 corresponding to their identically named counterparts described, and / or a software library containing methods for managing the playback of playlists on the content sharing platform. Although the computer-readable storage medium 524 is shown as a single medium in the exemplary embodiment, the term computer-readable storage medium should be understood as a single medium or multiple media (e.g., a centralized or distributed database, and / or associated cache memory and server) that store one or more instruction sets. The term "computer-readable storage medium" should also be understood as including any medium that can store, encode, or carry an instruction set for execution by a machine and cause the machine to implement any one or more methods in the disclosed method. The term "computer-readable storage medium" should accordingly be understood to include, but is not limited to, solid-state memory, optical media, and magnetic media.
[0054] In the foregoing description, many details are set forth. However, it is apparent to those of ordinary skill in the art who benefit from the present disclosure that the present disclosure may be practiced without these details. In some instances, well-known structures and devices are shown in block diagram form rather than in detail in order to avoid obscuring the present disclosure.
[0055] Some parts of this specific embodiment have been presented in terms of algorithms and symbolic representations of the operation of data bits in computer memory. These algorithmic descriptions and representations are used by technical personnel in the field of data processing to most effectively convey the essence of their work to other technical personnel in the field. Here and generally, algorithms are conceived as self-consistent sequences of steps that lead to desired results. This step requires the step of physically manipulating physical quantities. Usually, although not necessary, these quantities take the form of electronic signals or magnetic signals that can be stored, transmitted, combined, compared, and otherwise manipulated. It has been proven that sometimes convenient, mainly for the reason of customary usage, these signals are referred to as positions, values, elements, symbols, characters, items, numbers, etc.
[0056] It should be kept in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless otherwise noted, it will be apparent from the following discussion that discussions utilizing terms such as "segment," "analyze," "determine," "enable," "identify," "modify," etc., throughout the specification refer to computer system (or similar electronic computing device) actions and processes that manipulate data represented as physical (e.g., electronic) quantities within the computer system's registers and memories and convert them into other data similarly represented as physical quantities within the computer system's memories or registers or other such information storage, transmission, or display devices.
[0057] The present disclosure also relates to a device for performing the operations herein. The device may be specially constructed for the desired purpose, or may include a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer-readable storage medium, such as, but not limited to, any type of disk, including a floppy disk, an optical disk, a CD-ROM, and a magneto-optical disk, a read-only memory (ROM), a random access memory (RAM), an EPROM, an EEPROM, a magnetic card or an optical card, or any type of medium suitable for storing electronic instructions.
[0058] The words "example" or "exemplary" are used herein to mean serving as examples, instances, or diagrams. Any aspect or design described herein as "example" or "exemplary" need not be interpreted as being more preferred or advantageous than other aspects or designs. On the contrary, the use of the words "example" or "exemplary" is intended to present the concept in a specific manner. As used in this application, the term "or" is intended to represent an inclusive "or" rather than an exclusive "or". That is, unless otherwise specified, or clearly visible from the context, "X includes A or B" is intended to mean any natural inclusive permutation and combination. That is, if X includes A, X includes B, or X includes A and B, then "X includes A or B" is satisfied under any of the above examples. In addition, the articles "one" and "an" used in this application and the appended claims should generally be interpreted as meaning "one or more", unless otherwise specified or clearly visible from the context that it points to a singular form. In addition, throughout the entire text, unless described as such, the term "embodiment" or "one embodiment" or "implementation method" or "one implementation method" is not intended to mean the same embodiment or implementation method.
[0059] Throughout this specification, references to "one embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in conjunction with the embodiment is included in at least one embodiment. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification do not necessarily all refer to the same embodiment. Furthermore, the term "or" refers to an inclusive "or" rather than an exclusive "or".
[0060] It is to be understood that the above description is intended to be illustrative, rather than restrictive. After reading and understanding the above description, many other embodiments will be apparent to those skilled in the art. Therefore, the scope of the present disclosure should be determined with reference to the attached claims together with the full range of equivalents enjoyed by such claims.
Claims
1. A method for handling an interrupted playback experience of a media item, include: identifying, by a server, a plurality of media items from the playlist in response to receiving a request for the playlist from a user device, wherein the plurality of media items are accessible for streaming from a remote location to the user device when determined to be available for playback on the user device; causing, by the server, the user device to display the plurality of media items from the playlist; In response to receiving a user selection of a first media item directly from the displayed plurality of media items, determining, by the server, whether the first media item is available for playback on the user device; as well as In response to determining that the first media item is not available for playback on the user device, determining based on a configuration: (i) causing the user device to display a message indicating that the first media item is not available and delaying the playing of the next media item available for streaming, or (ii) causing the user device to display a message indicating that the first media item is unavailable, wherein the message is displayed on the user device together with information including a title of a next available media item that is available for streaming after the first media item in the playlist, wherein the information including the title of the next available media item is displayed before starting to play the next available media item, and causing the user device to advance to the next available media item on the playlist and stream the next available media item from a remote location, wherein the message is displayed on the user device along with a timer indicating the time remaining before playback of the next available media item begins, and Therein, the method further includes providing a user interface element that allows a user to decline to play the next available media item during a time indicated by the timer.
2. The method according to claim 1, in, Causing the user device to move forward further comprises: streaming the next available media item to the user device; and A media player on the user device is instructing to skip the first media item and play the next available media item.
3. The method according to claim 1, in, Causing the user device to proceed further includes transmitting the message to the user device.
4. The method according to claim 3, in, The information including the title of the next available media item further includes one or more of: a description or an indicator of the order of the next available media item on the playlist.
5. The method according to claim 3, in, The message will be added to a queue for subsequent troubleshooting.
6. The method according to claim 1, further comprising: include: providing a watch page user interface to present the playlist, Therein, each unavailable media item will be identified on the playlist using a visual indicator.
7. The method according to claim 1, further comprising: include: Determining whether causing the user device to advance to the next available media item on the playlist without user interaction is an intended user experience.
8. The method according to claim 7, further comprising: include: In response to a determination that causing the user device to advance to the next available media item on the playlist without user interaction is not a desired user experience, causing the user device to pause playing of the playlist.
9. A device for handling an interrupted playback experience of a media item, include: Data storage; as well as a processing device of a server, the processing device being communicatively coupled to the data store, the processing device being configured to execute instructions to: in response to receiving a request for a playlist from a user device, identifying a plurality of media items from the playlist, wherein the plurality of media items are accessible for streaming from a remote location to the user device when determined to be available for playback on the user device; causing the user device to display the plurality of media items from the playlist; In response to receiving a user selection of a first media item directly from the displayed plurality of media items, determining whether the first media item is available for playback on the user device; as well as In response to determining that the first media item is not available for playback on the user device, determining based on a configuration: (i) causing the user device to display a message indicating that the first media item is not available and delaying the playing of the next media item available for streaming, or (ii) causing the user device to display a message indicating that the first media item is unavailable, wherein the message is displayed on the user device together with information including a title of a next available media item that is available for streaming after the first media item in the playlist, wherein the information including the title of the next available media item is displayed before starting to play the next available media item, and causing the user device to advance to the next available media item on the playlist and stream the next available media item from a remote location, wherein the message is displayed on the user device along with a timer indicating the time remaining before playback of the next available media item begins, and The processing device further executes instructions to provide a user interface element that allows a user to decline to play the next available media item during a time indicated by the timer.
10. The device according to claim 9, in, Causing the user device to move forward further comprises: streaming the next available media item to the user device; and A media player on the user device is instructing to skip the first media item and play the next available media item.
11. The device according to claim 9, in, Causing the user device to proceed further includes transmitting the message to the user device.
12. A non-transitory machine-readable storage medium storing instructions, wherein when the instructions are executed, the processing device of the server performs an operation, wherein the operation include: in response to receiving a request for a playlist from a user device, identifying a plurality of media items from the playlist, wherein the plurality of media items are accessible for streaming from a remote location to the user device when determined to be available for playback on the user device; causing the user device to display the plurality of media items from the playlist; In response to receiving a user selection of a first media item directly from the displayed plurality of media items, determining whether the first media item is available for playback on the user device; as well as In response to determining that the first media item is not available for playback on the user device, determining based on a configuration: (i) causing the user device to display a message indicating that the first media item is not available and delaying the playing of the next media item available for streaming, or (ii) causing the user device to display a message indicating that the first media item is unavailable, wherein the message is displayed on the user device together with information including a title of a next available media item that is available for streaming after the first media item in the playlist, wherein the information including the title of the next available media item is displayed before starting to play the next available media item, and causing the user device to advance to the next available media item on the playlist and stream the next available media item from a remote location, wherein the message is displayed on the user device along with a timer indicating the time remaining before playback of the next available media item begins, and Wherein the operations further include providing a user interface element that allows a user to decline to play the next available media item during a time indicated by the timer.
13. The non-transitory machine-readable storage medium of claim 12, in, Causing the user device to move forward further comprises: streaming the next available media item to the user device; and A media player on the user device is instructing to skip the first media item and play the next available media item.
14. A method for handling an interrupted playback experience of a media item, include: causing, by a server, a user device to present the playlist comprising a plurality of media items, and causing the user device to initiate sequential playback of the plurality of media items, in response to receiving a user request for a playlist, wherein the plurality of media items are accessible for streaming to the user device from a remote location when determined to be available for playback on the user device; In response to a determination by the server that a first media item from the presented playlist is not available for playback, determining based on the configuration: (i) causing the user device to display a message indicating that the first media item is not available and delaying the playing of the next media item available for streaming, or (ii) causing the user device to display a message indicating that the first media item is unavailable, wherein the message is displayed on the user device along with information including a title of a next available media item that is available for streaming after the first media item in the playlist, wherein the information including the title of the next available media item is displayed prior to commencing playback of the next available media item, and causing the user device to advance to the next available media item on the playlist and stream the next available media item from a remote location, wherein the message is displayed on the user device along with a timer indicating the time remaining before playback of the next available media item begins, and Therein, the method further includes providing a user interface element that allows a user to decline to play the next available media item during a time indicated by the timer.
15. The method according to claim 14, further comprising: include: A determination is made, by a media player on the user device, whether the first media item is available for playback.
16. The method according to claim 14, in, The information including the title of the next available media item further includes one or more of: a description or an indicator of the order of the next available media item on the playlist.
17. The method according to claim 14, in, Media items that are not available on the playlist are identified using a visual indicator.
18. A non-transitory machine-readable storage medium storing instructions, which when executed cause a processing device of a server to perform an operation, the operation include: causing a user device to present the playlist including a plurality of media items, in response to receiving a user request for the playlist, and causing the user device to initiate sequential playback of the plurality of media items, wherein the plurality of media items are accessible for streaming to the user device from a remote location when determined to be available for playback on the user device; as well as In response to determining that a first media item from the presented playlist is not available for playback, determining based on the configuration: (i) causing the user device to display a message indicating that the first media item is not available and delaying the playing of the next media item available for streaming, or (ii) causing the user device to display a message indicating that the first media item is unavailable, wherein the message is displayed on the user device together with information including a title of a next available media item that is available for streaming after the first media item in the playlist, wherein the information including the title of the next available media item is displayed before starting to play the next available media item, and causing the user device to advance to the next available media item on the playlist and stream the next available media item from a remote location, wherein the message is displayed on the user device along with a timer indicating the time remaining before playback of the next available media item begins, and Wherein the operations further include providing a user interface element that allows a user to decline to play the next available media item during a time indicated by the timer.
19. The non-transitory machine-readable storage medium of claim 18, in, Causing the user device to move forward further comprises: A determination is made, by a media player on the user device, whether the first media item is available for playback.
Citation Information
Patent Citations
Program delivery control system and program delivery control method
US20100332919A1
Management of Local and Remote Media Items
US20130047084A1