Improved method for streaming content

The content distribution system enables seamless streaming across multiple providers with a single user input, addressing the inefficiencies of existing systems by reducing interactions and gaps in playback.

DE102019119648B4Active Publication Date: 2026-04-02LOGITECH EUROPE SA
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2019-07-19
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Existing content streaming systems require multiple user interactions and steps to switch between different content providers, leading to gaps in audio playback and user frustration.

Method used

A content distribution system that allows users to initiate streaming from multiple content providers with a single user input, using a button on a media device to send a signal to a connected electronic device, which automatically sends delivery commands to the appropriate content servers to seamlessly transition between playlists.

Benefits of technology

Simplifies the content streaming process by reducing user interactions and minimizing playback gaps, providing a seamless experience across different content providers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A method for streaming media content, comprising: Sending an initial user input signal from a first content player (101A) to a connected electronic device (205), wherein the initial user input signal contains streaming command information, and wherein the initial user input signal was generated from an initial input submitted by a user to the first content player (101A, 101B); Sending a first delivery command from the connected electronic device (205) to a first content server (21) after a control software application running on the connected electronic device (205) has determined that the first user input signal contains streaming command information, wherein The sending of the first delivery command is automatically provided based on the receipt of the first user input signal, and the first delivery order contains media identification information; and Streaming information, which includes at least one media-containing file provided by the first content server (21), from the first content server (21) directly to the first content player (101A) via a hard-wired or wireless communication link (25) based on information contained within the first delivery command.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND area

[0001] Embodiments of the present disclosure generally relate to a method for streaming content, such as streaming media content. Description of the related technique

[0002] Today, users have the choice to access audio content from multiple content providers (for example, Pandora). ® , Spotify ® Apple Music ® , Deezer ® to stream audio to one or more audio devices, such as wireless speakers. Users typically initiate the streaming of audio content by interacting with an application running on an electronic device, such as a smartphone. For example, to stream a playlist from Pandora ® To start, the user typically starts a Pandora. ®The application runs on an electronic device, selects the content, and then initiates streaming from the electronic device. This process can be time-consuming and require several steps from the user, which can be frustrating.

[0003] Furthermore, if the user selects a song or playlist from another content provider, such as Spotify ® If the user wants to play the content, they typically close the application for the first content provider (i.e., Pandora). ® The application then starts the application for the second content provider, which in this example is Spotify. ®The device then selects content from the second content provider and streams that content. Switching between content providers in this way may create a gap between stopping the audio streamed by the first provider and starting the audio streamed by the second, which can be irritating for those listening to the streamed audio. It also requires multiple steps and user interaction with a device running the content provider's software.

[0004] US 2018 / 0 190 279 A1 discloses a method for streaming media content, comprising: sending an initial user input signal from a first content player to a connected electronic device, wherein the initial user input signal contains streaming command information, and wherein the initial user input signal was generated from an initial input submitted by a user to the first content player; sending an initial delivery command from the connected electronic device to a first content server after a control software application running on a connected electronic device has determined that the initial user input signal contains streaming command information, wherein the sending of the initial delivery command is automatically provided based on the receipt of the initial user input signal, and the initial delivery command contains media identification information. Another method is known from US 2018 / 0 288 123 A1.

[0005] Consequently, there is a need for an improved content streaming system to simplify and optimize the process of streaming media content from one or more content providers to one or more electronic devices. SUMMARY

[0006] The need is met by the method with the features of claim 1. Advantageous further developments are defined in the dependent claims.

[0007] In some cases, the process of initiating the sending of the first delivery command is based solely on receiving the first user input signal. Then, thirdly, a streaming of information, which includes at least one media-containing file provided by the first content server, to the first content player based on information contained within the first delivery command.

[0008] Further embodiments of the disclosure include, firstly, defining a first collection of media content, wherein the first collection comprises a plurality of media content files accessible by a first content provider. Secondly, storing a first information link associated with the defined first collection of media content in a memory of a connected electronic device. Thirdly, receiving a first user input signal from a first content player by the connected electronic device, wherein the first delivery command includes the first information link. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] To better understand the features of the disclosure presented above, a more specific description of the present disclosure, briefly summarized above, may be obtained by referring to embodiments, some of which are illustrated in the attached drawings. It should be noted, however, that the attached drawings represent only exemplary embodiments and should therefore not be considered as limiting their scope, and may refer to other equally effective embodiments. The Fig. Figure 1 is a block diagram of a content distribution system 100, according to an embodiment disclosed herein. The Fig. Figure 2 shows a process flow diagram of a method for setting up a control application running on a connected electronic device, according to one embodiment. The Fig. Figure 3 shows a process flow diagram of a method for connecting the connected electronic device to an audio loudspeaker, according to one embodiment. The Fig. Figure 4 shows a process flow diagram of a method for initiating a stream of the media content selected in the control application to the media device, according to one embodiment. The Fig. Figures 5A-5D represent process flow diagrams of methods for initiating a streaming of media content, according to one embodiment.

[0010] To facilitate understanding, identical reference numerals have been used where possible to identify identical elements common to the figures. It is understood that elements and features disclosed in one embodiment may advantageously be incorporated into other embodiments without further explanation. DETAILED DESCRIPTION

[0011] Embodiments of the disclosure feature an improved content streaming system configured to simplify and optimize the process of streaming media content from one or more content providers to one or more electronic devices. In some embodiments, a user's interaction with one or more components in a content distribution system is used to initiate the streaming of media content from a content server to one or more content players, also referred to herein as media devices. One or more advantages of the disclosure provided herein include a system capable of streaming various forms of media content, including different types of video, audio, or content that includes both audio and video.

[0012] The Fig. Figure 1 is a block diagram of a content distribution system 100, according to an embodiment disclosed herein. The content distribution system 100 comprises a first media device 101A, a connected electronic device 205, a first server 20, a first content server 21, and a second content server 22. The first server 20 can be an internet-accessible server used to connect to at least one of the content servers 21, 22. Each content server 21, 22 can be an internet-accessible server of a different content provider (for example, Pandora). ® , Spotify ® , Netflix ® ). In one example, one or more of the content providers are a remote music service, such as Apple Music. ® , Spotify ® , SoundCloud ® , Prime Music ® , Deezer ® Pandora ®or another streaming music service. Although two content servers 21, 22 are shown, the content distribution system 100 could be extended to include more than two content servers, for example, ten content servers or twenty content servers, etc. Furthermore, the content distribution system 100 could include two media devices 101, such as the first media device 101A (first content player) and a second media device 101B (second content player). In some embodiments, the content distribution system 100 could have more than two media devices.

[0013] During operation, a user can interact with the content distribution system 100 to initiate the streaming of media content (for example, a playlist) to one or more of the media devices 101 from either the first content server 21 and / or the second content server 22 by providing a single user input. The single user input received can be in the form of a physical input, an optically generated input, or an audible input, captured by an input capture device, and can generally be easily provided by the user to the media device 101.In some cases, the input detection device may be a device configured to receive physical input, an acoustic receiving device (for example, a microphone) capable of detecting audible input, or an optical radiation detector configurable to detect radiation from a light source and / or the absence of radiation emitted by the light source. In some embodiments, the input detection device used to detect physical input includes an electromechanical device, such as a mechanical switch, an electronic switch, a potentiometer, a touch sensor (for example, a resistive, capacitive, or piezoelectric switch), or another similar device configured to detect physical interaction with the input detection device by the user.While it is not intended to limit the scope of the disclosure provided herein, and for the sake of simplicity, an input-capture device used to capture user input will be described throughout the discussion provided below as a Button 104. Unless otherwise specified in the subsequent disclosure, the term “button” may include an electromechanical device used to detect and generate a user input signal based on input generated by a user. In the . Fig. Figure 1 shows the input capture device, or button 104, schematically positioned on top of each of the media devices 101A and 101B. In the content distribution system 100, the user can interact with or press button 104 to initiate a stream of media content from one or more of the first content server 21 and the second content server 22. The signal generated by the user's interaction with button 104, and the duration for which the signal was generated (for example, the button was pressed for 3 seconds), can be detected and used by one or more components in the processing system 106 of the media device 101 to perform a desired activity, which is explained below.

[0014] In this example, when button 104 is pressed, media device 101 can send a signal to connected electronic device 205. Upon receiving this signal, connected electronic device 205 can contact either the first content server 21 or the second content server 22 via a respective communication link 21A or 22A, based on the user's selection of media content (for example, a playlist) to be streamed when button 104 is pressed. In some configurations, connected electronic device 205 can contact content servers 21 or 22 indirectly through the first server 20 using a communication link 20A and a connecting communication link 21B or 22B. Communication links 20A, 21A, and 22A, and connecting communication links 21B and 22B, can generally be wired or wireless.The user's selection of the media content to be streamed when the user presses button 104 on a media device 101 can be made using a control software application 209A, or simply referred to herein as a control application 209A (which is explained in more detail below). As an example, the control application 209A can be used to cause an initial playlist from a first content provider to be streamed to the media device 101 on which button 104 was pressed, and then to seamlessly continue playing a second playlist from a second content provider after the first playlist from the first content provider has finished playing.

[0015] In some embodiments, a simpler configuration of the content distribution system 100 may include only the first media device 101A, the connected electronic device 205, and the first content server 21. For example, some of the advantages of the embodiments described herein may be achieved without including the first server 20, the second content server 22, and / or the second media device 101B. The first media device 101A can, for example, play the media content, such as at least part of a media content file (for example, music from Pandora). ® , Deezer ® or Spotify ® , Video from Netflix ®, etc.), received by the first content server 21 of the first content provider when the user presses button 104 on the first media device 101A, causing the first media device 101A to communicate with the connected electronic device 205, which can then communicate directly with the first content server 21 via communication link 21A to stream media content (for example, a first playlist from the first content provider) to the first media device 101A. The first media device 101A can communicate with the connected electronic device 205 using a device communication link "D", which can be a wired or wireless (for example, Bluetooth) communication link.The first content server 21 can communicate directly with the first media device 101A via a hardwired or wireless communication link 25, or indirectly via the connected electronic device 205 using the communication link 21A and the device communication link “D”. The information transmitted between the first media device 101A and the connected electronic device 205 via the device communication link “D” when the user presses button 104 can include a user input signal containing streaming command information. The streaming command information can include an initiate playlist streaming command, device ID information (for example, audio device identification information, serial number, model number, software version, etc.), or other useful information.The Initiate Playlist Streaming command can contain information or instructions that the control application 209A uses to decide on initiating the streaming process and / or which media content should be delivered to the first media device 101A.

[0016] As explained below, the control application 209A, running on the connected electronic device 205, can send a delivery command to the first content server 21 via the communication link 21A after the connected electronic device 205 has received an Initiate Playlist Streaming command from the first media device 101A. The delivery command can contain media identification information (media ID information), content provider information (for example, Pandora), ® -, Deezer ® - Spotify ® - or Netflix ®Media ID information includes content provider login information, device authentication information, and / or other information required to initiate media streaming from the content provider. Media ID information will include a content provider's identification information relating to the media content to be streamed, such as media identification information relating to one or more specific playlists, one or more songs, and / or one or more media content files. In some embodiments, the delivery command includes one or more information links, such as one or more Uniform Resource Locators (URLs), Uniform Resource Identifiers (URIs), or other types of information links, that reference at least media ID information and content provider information.The generation and sending of the delivery command by the control application 209A can be performed automatically (for example, without any further user input or the need for it) based on receiving a command to initiate streaming.

[0017] The first media device 101A and the connected electronic device 205 can also be configured to stream local content stored on the connected electronic device 205 when button 104 is pressed. The ability to stream local content can be implemented without the need for a content server and can therefore be a simpler configuration for the content distribution system 100.

[0018] Furthermore, in one embodiment, the first server 20 can be omitted, and the connected electronic device 205 can directly contact at least one of the content servers 21, 22 to initiate the streaming of the media content to one or more of the media devices 101. Additionally, in some embodiments, the connected electronic device 205 can act as a mobile hotspot, allowing the media devices 101 to access the internet so that the media content can be streamed from the content servers 21, 22 to one or more of the media devices 101.

[0019] In some embodiments, each of the servers 20-22 may be an internet-accessible server. The first server 20 can store settings (for example, the settings from the control application 209A) that control how media content is streamed to the media devices 101 when the button 104 on one of the media devices 101 is pressed. For example, the first server 20 can store settings that cause a first playlist stored within the first content server 21 to be streamed to the first media device 101A when the button 104 on the first device 101A is pressed. In some embodiments, the first server 20 can also act as a hub that relays information between the connected electronic device 205 and the content servers 21, 22 to at least initiate the streaming of the media content to the media device 101.Furthermore, in some embodiments, one or more of the media devices 101 can perform at least some communication with the first server 20 via a hub communication link (not shown for the purpose of clear illustration) without using the connected electronic device 205, so that the first server 20 can further act as a hub that relays information between the media devices 101 and the content servers 21, 22.For example, if the user presses button 104 on the first media device 101A, the initial communication to the first server 20 can take place through the connected electronic device 205, but the actual streaming of the media content can take place using a communication path that does not include the connected electronic device 205 and the first server 20, such as a communication path (for example, the hard-wired or wireless communication link 25) between the first media device 101A and the first content server 21.

[0020] The first server 20 may also contain software and settings stored in non-volatile memory and used to contact content servers 21, 22 to initiate the streaming of media content to one or more of the media devices 101. For example, the first server 20 may store the user's account information (e.g., username and password) for each of the content providers supplied by content servers 21, 22 to assist in initiating the streaming of media content from there. Consequently, when instructed by the connected electronic device 205 or the first media device 101A, the first server 20 may send a delivery command to one of the two content servers 21, 22 via their respective communication links 21B, 22B to initiate the streaming process to the first media device 101A.

[0021] The media devices 101 and the connected electronic device 205 can be located in a first environment 50. The first environment 50 can be a house, a building, an outdoor area, or any other area where the media devices 101 can communicate with the connected electronic device 205 without using the internet. In some embodiments, for example, each media device 101 can communicate with the connected electronic device 205 via a direct communication link D, such as a personal area network (PIN), a Bluetooth connection (e.g., BTLE, Bluetooth Classic), or a local area network (LAN) connection. Furthermore, in some embodiments, as mentioned above, each media device 101 and the connected electronic device 205 can communicate with devices accessible via the internet, such as servers 20-22.For example, the media devices 101 and the connected electronic device 205, as described in the . Fig. Figure 1 shows that the media devices 101 are connected to servers 20-22 via a communication link, such as an internet connection. In one embodiment, a WiFi modem (not shown) in the connected electronic device 205 can be used to connect the media devices 101 to the internet-accessible servers 20-22. In another embodiment, the connected electronic device 205 can include a cellular transceiver, such as a GSM, CDMA, GPRS, or fourth-generation (4G) telecommunications transceiver, to form a communication link (for example, communication link 20A, 21A, and / or 22A) used for independent internet access and to allow the media devices 101 to access the internet through the connected electronic device 205.

[0022] As mentioned above, the first server 20 can also be connected to the content servers 21 and 22 via separate internet connections, each formed by the communication links 21A and 22A, respectively. In some embodiments, when the user presses button 104 on one of the media devices 101, the connected electronic device 205 receives a user input signal from that media device 101 and then sends a delivery command to the first server 20 to initiate the streaming of media content. The first server 20 can then contact the content servers 21 and 22 to initiate the streaming of the desired media content. In some embodiments, upon receiving the delivery command, one or more software applications running on the content servers 21 and 22 will initiate the streaming of the selected media, identified in the information contained within the delivery command, to the first media device 101A.The selected media can be streamed either directly to the first media device 101A or indirectly through the first server 20 and / or the connected electronic device 205.

[0023] Alternatively, in some embodiments, the content server 21, 22, which receives the delivery command from the first server 20, can then send one or more information links, for example, one or more Uniform Resource Locators (URLs), Uniform Resource Identifiers (URIs), or other types of information links that reference a connected external resource providing media content, to the first server 20. The first server 20 can then send the received link to the media device 101, on which the button 104 has been pressed, for example, by sending the link through the connected electronic device 205, so that the media device 101 can begin streaming the media content directly.In other embodiments, the first server 20 sends the received link to the connected electronic device 205, which can then initiate the streaming of the media content to the media device 101, for example using the communication link 21A (e.g., an internet connection) and the direct communication link D. Streaming through the connected electronic device 205 can be useful if a separate internet connection is not available without the connected electronic device 205. Media device example

[0024] The media devices 101A, 101B (sometimes referred to herein as audio devices) are an example of a content player that may be used in the content distribution system 100 and may be a wired speaker, a wireless speaker (for example, a standalone wireless speaker, wireless headphones, wireless earphones, wireless earphones), an internet radio, a mixed media player, or other similar content player devices. In further embodiments, the content player may be another electronic device capable of receiving input from a user 10 and delivering media content (for example, audio and / or visual media) to the user 10.

[0025] The media device 101 includes an audio device having a housing 105, an active loudspeaker assembly 110, and a passive loudspeaker assembly 120. The housing 105 of the media device 101 encloses an inner chamber 103 of the media device 101. The active loudspeaker assembly 110 can contain typical loudspeaker components, such as a voice coil (not shown) coupled to a permanent magnet (not shown), to produce sound when an electrical signal is supplied to the voice coil. The passive loudspeaker assembly 120 (for example, a passive radiator) can move in response to changes in air pressure in the inner chamber 103 caused by the movements of the active loudspeaker assembly 110, enabling the media device 101 to produce sound of higher quality.

[0026] The media device 101 may further comprise a memory 107, a processing system 106, and a microphone 111. The memory 107 may contain stored data 108 and one or more software applications, such as a software program 109. The processing system 106 may typically comprise input / output (I / O) hardware 106A, a processor 106B, a first transceiver 106C, and a second transceiver 106D. The I / O hardware 106A may be connected to inputs, such as the button 104, the microphone 111, and one or more other inputs, such as switches and sensors, contained in the media device 101. In some embodiments, to simplify manufacturing and reduce the complexity of the device, the Button 104 has a switch that can detect an input provided by the user by opening and closing electrical contacts (for example, a mechanical switch).In one embodiment, the I / O hardware 106A further includes additional inputs, such as a separate power button and a separate play / stop button, each of which may have a switch.

[0027] The I / O hardware 106A may also be connected to outputs, such as one or more status indicators (e.g., LEDs) and the active loudspeaker assembly 110. The processor 106B may include a central processing unit (CPU), a digital signal processor (DSP), and / or application-specific integrated circuits (ASICs) and other useful components.

[0028] The first transceiver 106C can be a wireless transceiver configured to communicate on a local network to allow the media device 101 to communicate with the internet. For example, the first transceiver 106C can be a Wi-Fi transceiver (e.g., IEEE 802.11 a, b, g, n) configured to access the internet through a wireless access point, such as a Wi-Fi modem (not shown), via a communication link (e.g., the wireless version of communication link 25). By executing software program 109, the first transceiver 106C can be used to allow the media device 101 to communicate with one or more of the first server 20, the first content server 21, and the second content server 22 when a Wi-Fi network is available.The second transceiver 106D can be a wireless transceiver configured to communicate on a personal network, such as Bluetooth. ®-Transceiver (for example, BTLE, Bluetooth Classic). The second transceiver 106D can be used to communicate with the connected electronic device 205, allowing the connected electronic device 205 to configure, control, and / or monitor the streaming of media content to the media device(s) 101. In some embodiments, however, the media device 101 may communicate with the connected electronic device 205 using the first transceiver 106C and a corresponding transceiver 206C on the connected electronic device 205.In some other embodiments, the media device 101 may be additionally or alternatively configured to communicate with other types of external electronic devices, such as a cellular modem, a broadband modem, a wireless router, or other similar device, using the first transceiver 106C and a corresponding transceiver located within the external electronic device. The media devices 101A and 101B may also communicate with each other using corresponding first transceivers 106C or second transceivers 106D.

[0029] Memory 107 may be any technically feasible type of hardware unit configured to store data. Memory 107 could, for example, include a type of non-volatile memory, such as a hard disk, a random access memory (RAM) module, a flash memory unit, or a combination of different hardware units configured to store data. The software program 109, stored within memory 107, contains program code that may be executed by processor 106B to perform various functionalities associated with media device 101.

[0030] The stored data 108 may include any type of information relating to the configuration or control of the media device 101, device data (for example, a unique identifier that can be used to identify the first media device 101A relative to other media devices, such as the second media device 101B), useful software applications, or other useful information. In some embodiments, the stored data 108 may include information relating to one or more software applications or tasks performed by one or more of the software applications stored with the memory 107. The stored data 108 may reflect various data files, settings, and / or parameters associated with communication with the connected electronic device 205 and / or one or more of the servers 20-22 in the content distribution system 100.In some embodiments, the stored data 108 may also include various data files, settings and / or parameters associated with a user's preferences or other user information (for example, streaming account information) that are useful or required to communicate with one or more of the servers 20-22 in the content distribution system 100. Connected electronic device

[0031] The connected electronic device 205 described herein may be a smartphone, but other connected electronic devices may be used. The connected electronic device 205 could be, for example, a mobile phone (such as a smartphone), a tablet computer, a laptop computer, or a similar electronic device. Examples of a connected electronic device 205 might be an iPhone. ® , iPad ® , Android™ phone, Samsung Galaxy ®, Microsoft Surface ® , laptop or other similar device, but not limited to. The connected electronic device 205 may be used to configure, control and / or monitor the streaming of media content, such as at least part of a media content file (for example, music from Pandora). ® , Deezer ® or Spotify ® or video from Netflix ® , etc.), to the media devices 101. Furthermore, in some embodiments, the connected electronic device 205 may be replaced by a stationary electronic device, such as a desktop computer.

[0032] The connected electronic device 205 includes a processing system 206 and a memory 207, which stores data 208 and one or more software applications 209, such as a tax application 209A, a software application 209B of a first content provider (for example, a Pandora) ® -Application for streaming media content from Pandora ® ) and a software application 209C from a second content provider (for example, Spotify) ® -Application for streaming media content from Spotify ®The control application 209A can be used to arrange one or more collections of media-content files (for example, collections of songs and / or playlists) from one or more content providers to be streamed by one or more of the media devices 101 when the user provides a single input, such as pressing the button 104 on the first media device 101A. In some embodiments, the user can store collections of audio content, or herein referred to as audio-containing files, on the first server 20, a content server 21, 22, or on a special electronic device (for example, connected electronic device 205). Storing these collections of audio content on the first server 20 can allow the user to access and modify these collections of audio content on different electronic devices.The user can also save collections of video content, such as a daily video program or a daily news program, by replacing at least one of the media devices 101 with an electronic device that has a display capable of streaming and displaying video. The media content can include video containing visual images and audio content.

[0033] In one embodiment, the user can arrange a first collection of media content and a second collection of media content using control application 209A. The first collection of media content might contain a first playlist from a first content provider and a second playlist from a second content provider. The user can designate the first collection as the selected media content to be streamed when the user provides a single user input (that is, pressing button 104). Subsequently, if the user prefers that a second collection of media content be streamed when the single input is provided, the user simply swaps the collection currently designated as the selected media content to be streamed (for example, the first collection) with the second collection using a setting in control application 209A.

[0034] The control application 209A (for example, a Software Development Kit (SDK)) is generally configured to communicate with and transfer information between various other software applications, such as a content provider's software application 209B or 209C (for example, an SDK). In one embodiment, the control application 209A can access and select a desired collection of media content (for example, audio content) using a content provider's software application 209B or 209C. In another embodiment, the control application 209A can receive or read information relating to the collection of media content from a content provider's software application 209B or 209C. In both cases, the control application 209A can cause one or more Uniform Resource Locators (URLs), Uniform Resource Identifiers (URIs), or other types of information links to be stored in memory.Uniform Resource Locators (URLs), Uniform Resource Identifiers (URIs), or other types of information links are configured to allow access to media content stored on the content provider's content server and available for streaming from there.

[0035] In some embodiments, the control application 209A is configured to deliver an initial request to stream the contents of an initial playlist to a content provider's software application 209B, 209C running on the connected electronic device, wherein the delivery of the initial request to stream the contents of the initial playlist is initiated by a control software application 209A running on the connected electronic device. The content provider's software application 209B, 209C is then used to send the initial request to stream the contents of the initial playlist to the initial content server, so that the contents of the initial playlist can be streamed from the content provider's content server to the connected electronic device 205 or to the media device 101.

[0036] The user can also use the control application 209A to configure how media content is streamed to the available media devices 101A and 101B. For example, the user can use the control application 209A to configure a preferred playback configuration, such as selecting the first media device 101A as the preferred audio device for streaming the selected media content when button 104 is pressed on the first media device 101A, and selecting the second media device 101B as the preferred media device for streaming the media content when button 104 is pressed on the second media device 101B, or specifying that both media devices 101A and 101B play the streamed media content when button 104 is pressed on one or more of the media devices 101A and 101B.

[0037] The preferred playback configuration may also include additional media devices that do not require user input, such as pressing button 104 on a media device 101 to initiate streaming. For example, the playback configuration may be set up to stream media content to the first media device 101A as well as to multiple additional (not shown) media devices connected to one or more of the first media device 101A and the connected electronic device 205. The control application 209A may be configured to generate media information that can be used to display a graphical representation of all available media devices to the user using a display device (for example, a screen on the connected electronic device 205).Furthermore, the 209A control application can be configured to allow the user to quickly select all available media devices or all available media devices that have certain properties, such as being of a specific device type (for example, all Logitech UE Boom). ®The control application 209A can be configured to automatically select these media devices, such as speakers, or to be capable of receiving streamed wireless audio. The control application 209A can also be configured to allow the user to attach media devices in groups. For example, the user might attach five speakers in a "Party" group, select the "Party" group as the devices that should play the streamed media content when button 104 is pressed on the first media device 101A, and then the speakers in the "Party" group can stream the media content when button 104 is pressed on the first media device 101A. The groups can also be configured to include the audio device on which button 104 was pressed.

[0038] In some embodiments, the media device 101 or the connected electronic device 205 may further be configured such that, when the button 104 is pressed on a given media device 101, it sends a "turn on" signal or a "wake up" signal to other media devices, such as other media devices in a selected group or all available media devices, so that these other media devices are ready to play the streamed media content after the button 104 has been pressed.

[0039] In some embodiments, a media device can act as a relay for audio data. For example, media device 101A might receive an audio stream from electronic device 205 and stream the received audio stream to additional media devices, such as those within a previously mentioned "party" group. In response to button 104 being pressed, media device 101A can send a command to other media devices within a group to turn on and / or receive a respective audio stream from media device 101A.Streaming audio data to additional media devices via a media device 101A or electronic device 205 can be based on preselected media devices chosen by a user within a group, by a user-selected option stored within the connected electronic device 205, and / or by attributes of media devices that can be used by the connected electronic device 205 and / or the media device 101A to automatically connect to media devices, to turn on media devices, and / or to stream media content to media devices.

[0040] The processing system 206 of the electronic device 205 may include input / output (I / O) hardware 206A and a processor 206B, which may include a central processing unit (CPU), a digital signal processor (DSP), and / or application-specific integrated circuits (ASICs), and other useful components. The I / O devices connected to the I / O hardware 206 within the connected electronic device 205 may include a loudspeaker 211, a display device 212, a (not shown) touch sensing device, a first transceiver 206C, and a second transceiver 206D.

[0041] The first 206C transceiver can be a wireless transceiver configured to communicate on a personal network, such as a Bluetooth network. ®-Transceiver (for example, BTLE, Bluetooth Classic). The first transceiver 206C can be used to communicate with one or more of the media devices 101, allowing the connected electronic device 205 to initiate the streaming of media content when the user provides the only user input (for example, pressing button 104) on one of the media devices 101A, 101B. Although the first transceiver 206C is a Bluetooth ®As described above, the first transceiver 206C can be a different type of transceiver in other embodiments, such as a different type of RF transceiver (for example, a Near Field Communication transceiver) or an infrared transceiver. The second transceiver 206D can be a transceiver used to access the Internet, such as a Wi-Fi transceiver (for example, IEEE 802.11 a, b, g, n) or a cellular transceiver, such as a GSM, CDMA, GPRS, or fourth generation (4G) telecommunications transceiver. The second transceiver 206D can, for example, be a cellular transceiver configured to access the Internet via a communication link (for example, communication link 20A, 21A, or 22A).In another example, the second transceiver 206D can be a Wi-Fi transceiver configured to access the Internet through a wireless access point, such as a (not shown) Wi-Fi modem, via the communication link 20A, 21A or 22A.

[0042] The control application 209A can be used to interact with the media device 101 and one or more of the servers 20-22. In one embodiment, for example, the control application 209A can send a command to the first server 20 to contact one of the content servers 21, 22 to obtain a link that can be used to stream the media content from the content server. In another embodiment, the first server 20 is not used, and the connected electronic device 205 uses the control application 209A to directly contact one of the content servers 21, 22 to begin streaming the media content from the content server.

[0043] Software applications, such as the control application 209A, may include software applications configured to run in the foreground and / or background on the connected electronic device 205. For example, much of the functionality of the control application 209A can operate in the background on the connected electronic device 205 without direct user interaction, allowing the control application 209A to initiate media streaming when the user presses button 104 on one of the media devices 101. Furthermore, the control application 209A can be configured to automatically run in the background each time the connected electronic device 205 is started, ensuring that the control application 209A is always available to communicate with the media devices 101 whenever the connected electronic device 205 is powered on.The control application 209A may also have features that can run in the foreground, such as a foreground application that allows the user to modify which media content (for example, switching from the first collection of audio content to the second collection of audio content as described above) should be provided when the user presses button 104 on one of the media devices 101.

[0044] Generally, running the control application 209A in the background on the connected electronic device 205 allows the user to operate other applications and functions on the connected electronic device 205 without any interference from the control application 209A. Running in the background generally allows the control application 209A to be ready to receive and capture various application-related inputs and / or perform certain desired tasks without interfering with applications running in the foreground. For example, the control application 209A can initiate the streaming of media content from the first content server 21 when the user presses button 104 on one of the media devices 101, without the user directly interacting with the control application 209A.

[0045] The memory 207 of the electronic device 205 may be any technically feasible type of hardware unit configured to store data. For example, the memory 207 could include a type of non-volatile memory, such as a hard disk, a random access memory (RAM) module, a flash memory unit, or a combination of different hardware units configured to store data. The one or more software applications 209 stored within the memory 207 contain program code that may be executed by processor 206B to perform various functionalities associated with the connected electronic device 205.

[0046] The stored data 208 may include any type of information relating to the configuration or control of the connected electronic device 205, user data, useful software applications, or other useful information. In some embodiments, the stored data 208 may include information relating to one or more software applications or tasks performed by one or more of the software applications stored with the memory 207. The stored data 208 may reflect various data files, settings, and / or parameters associated with communication with the media device 101 or one or more of the servers 20-22 of the content distribution system 100. Processes for setting up device and software

[0047] The Fig. Figure 2 shows a process flow diagram of a method 1100 for implementing a setup for the control application 209A, which runs on the connected electronic device 205, according to one embodiment. The control application can be used to control how media content is delivered to the media devices 101 when the button 104 on one of the media devices 101 is pressed. For example, the control application 209A can be used to control which media devices should play the received media content after the button 104 on one of the media devices 101 has been pressed. The control application 209A can, for example, be configured to play one or both media devices 101 when the button 104 on one of the media devices 101 is pressed. The control application 209A can further be used to control which media content is delivered to the media devices 101 when the button 104 on one of the media devices 101 is pressed.The media content can be specific to each individual media device 101A, 101B. For example, the first media device 101A could be located in a user's bedroom, and the control application 209A could be configured to stream a classical music playlist from the first content server 21 when button 104 on the first media device 101A is pressed, while the second media device 101B could be located in the user's living room, and the control application could be configured to stream a rock music playlist from the second content server 22 when button 104 on the second media device 101B is pressed.In some embodiments, the control application 209A can initiate the streaming of specific media content (for example, a classical music playlist from the first content server) based on a device identifier, such as a device identifier included in the user input signal sent from the first media device 101A to the connected electronic device 205 via the direct communication link D when the button 104 on the first media device 101A is pressed. In other embodiments, instructions for playing specific media content (for example, a classical music playlist from the first content server) can be embedded in the signals (for example, user input signals) sent from the media device 101 to the connected electronic device 205 when the button 104 on that media device 101 is pressed. Method 1100 is described with reference to the... Fig. 1 and the Fig. 2 described.

[0048] At block 1102, the user opens the control application 209A on the connected electronic device, allowing the user to interact with the application in the foreground.

[0049] In block 1104, the user selects content providers (for example, local content, Pandora). ® , Spotify ® Apple Music ® , Deezer ® ) via a touchscreen on the connected electronic device 205 or other user input devices or methods. The control application 209A can then use the selected content providers as sources of media content when the button 104 on one of the media devices 101 is pressed.

[0050] In block 1106, the user defines or selects the desired content (for example, playlists, specific songs, etc.) from the selected content providers to be played when the user presses button 104 on one of the media devices 101. The desired media content, such as audio content, can be selected via an interface provided by the code located within the control application 209A. In one embodiment, the control application 209A is capable of accessing or receiving the desired media content using a software application 209B, 209C of the content provider, which is stored on the connected electronic device 205.As explained above, the tax application 209A can cause one or more Uniform Resource Locators (URLs), Uniform Resource Identifiers (URIs), or other types of information links to be generated or received by the content provider, so that they can be stored in the memory of the connected electronic device (205) and used in subsequent steps. The Uniform Resource Locators (URLs), Uniform Resource Identifiers (URIs), or other types of information links are configured to provide access to the media content stored on the content provider's content server.

[0051] In Block 1108, the user arranges the selected desired media content (for example, audio files) from Block 1106 into different collections of desired content. For example, in Control Application 209A, the user might arrange a first collection of audio content containing a first playlist of classical music from a first content provider and a second playlist of classical music from a second content provider. The user might also arrange a second collection of audio content in Control Application 209A containing a first playlist of rock music from the second content provider and a second playlist of rock music from a third content provider. The user can add as many collections of desired media content (for example, audio content) to Control Application 209A as desired.In some embodiments, the collections and their associated information links may have a defined hierarchy (for example, an ordered list) so that they can be retrieved in a specific order by the control application 209A based on the receipt of user input signals. Thus, after arranging the collections, the user can then select one of the collections configured in the control application 209A to ensure that this collection is the first to be streamed to one or more of the media devices 101 when the button 104 on one of the media devices 101 is pressed. The collections that are not selected can be stored in the memory of the connected electronic device 205, so that the user can then easily switch between the collections of media content being played when the user presses the button 104 on one of the media devices 101.In some cases, the collections can be stored in the memory of one of the servers (for example, the first server 20), so that the user can then easily switch which collection of media content is played when the user presses button 104 on one of the media devices 101.

[0052] In block 1110, the user can select one or more media devices to be used to play the media content of the collection selected in block 1108 when button 104 is pressed on one of the media devices 101. Although the Fig. Figure 1 shows two media devices 101A and 101B, each with a button 104. Some embodiments may include other media devices that do not contain a button capable of initiating the streaming of media content. For example, the user can use the control application 209A to play the selected collection of media content on the first media device 101A and another external (not shown) speaker when the button 104 on the media device 101A is pressed.

[0053] The Fig. Figure 3 shows a process flow diagram of a method 1200 for connecting the connected electronic device 205 to the media device 101, on which the button 104 has been pressed, according to one embodiment. The method 1200 can also be used to pair the media device 101 with the connected electronic device 205 when the devices establish communication with each other for the first time. The connected electronic device 205 is configured to connect to the media device 101 when the button 104 on the media device 101 is pressed. The button 104 can be configured to initiate several functions when the button 104 is pressed. For example, the button 104 can be configured to turn on the media device 101, to cause the media device 101 to connect to the connected electronic device 205, and to initiate the streaming of the selected media content, as described above with reference to the Fig. 2 as described, and to start and stop the playback of media content on media device 101. Procedure 1200 is described with reference to the Fig. 1 and the Fig. 2 described. The procedure 1200 is further described with reference to the first media device 101A, but the procedure 1200 can operate in a similar manner when the button 104 is pressed on the second media device 101B.

[0054] In Block 1202, the user presses button 104 on the first media device 101A for an initial duration, such as between approximately 2 and 10 seconds, or between approximately 3 and 5 seconds. When button 104 is pressed during this initial duration, the first media device 101A is configured to enter a connection mode in which it initiates and attempts to connect to the connected electronic device 205 via the direct communication link D. In some embodiments, the process of connecting the media device 101 and the connected electronic device 205 begins with the media device 101 and the connected electronic device 205 initiating communication with each other via the communication link D.The communication link D may be implemented using a hardwired or wireless communication technology (for example, Bluetooth Classic, BTLE, IrDA, Wireless USB, or ZigBee). In one example, block 1202 may contain the initial pairing process, which is usually performed by wirelessly connected electronic devices to allow them to communicate securely with each other.

[0055] Pressing button 104 during the initial time period can also switch on the first media device 101A if it is not already switched on. In some embodiments, pressing button 104 for a shorter time period than the initial period can be used to activate standardized Bluetooth. ®AVRCP signals, such as start (play), stop, and skip, are sent. However, pressing and holding the button for a desired duration is not required to trigger the subsequent actions described below and may therefore be considered an optional identifying feature of the user input provided to the first media device 101A at block 1202.

[0056] In some embodiments, when the speaker is switched on using button 104, a tone is emitted to indicate to the user that the speaker is working to establish a connection with a connected electronic device 205. In some configurations, if a user switches on the first media device 101A using a button other than button 104 (for example, a separate power button), then an initial tone (for example, a drum-like sound) is emitted by the media device 101A to indicate that it is switched on. However, if the user switches on the audio device using button 104, then a tone (for example, a drum sound) is emitted, followed by a second tone (for example, "Busy" or "Heartbeat"), until media content is played from the first media device 101A or an error message is played from the first media device 101A.

[0057] Switching on the first media device 101A and / or entering a pairing mode when button 104 is pressed during the initial time period can be useful for simplifying user input requirements to initiate these tasks. This can also be useful if button 104 is used to provide other user input, such as stopping or starting media playback. In some embodiments, the act of pressing button 104, or pressing button 104 in a desired sequence, can be used to cause the software application on the first media device 101A to perform one or more desired process steps, such as entering pairing mode or sending standard AVRCP signals.In other embodiments, where a button with more limited functionality is used, this button can be pressed without the need for an extended duration, and the first media device 101A can turn on or enter a connection mode when the button is pressed.

[0058] At block 1204, the first media device 101A connects (i.e., forms a link) to the connected electronic device 205, if the first media device 101A was not already connected to the connected electronic device 205.

[0059] Next, the control application 209A is started at block 1206, unless it is already running on the connected electronic device 205. As explained above, in some embodiments, the started control application 209A is then used to control which media content and how that content is provided to the media devices 101. Initiate streaming using the audio device example

[0060] The Fig. Figure 4 shows a process flow diagram of a method 1300 for initiating the streaming of media content to the media device 101A (i.e., the media device 101 on which the button 104 was pressed) using the control application 209A, according to one embodiment. The method 1300 is described with reference to the Fig. 1-3 described.

[0061] Method 1300 is further described with reference to the first media device 101A, but method 1300 may also work in a similar manner when the button on the second media device 101B has been pressed.

[0062] At block 1302, the user presses and holds button 104 on the first media device 101A for an initial duration, such as a time between approximately 3 and 5 seconds. In some embodiments, the initial duration at block 1302 is the same as the initial duration of block 1202, which is described above in relation to the Fig. As described in section 3, this initiated the connection between the first media device 101A and the connected electronic device 205. Pressing button 104 during the initial time period can therefore be used to indicate that the first media device 101A should switch on and initiate the connection between the first media device 101A and the connected electronic device 205.

[0063] As explained further below, in some embodiments of the method 1300, the process step(s) in block 1418 and the process step(s) in block 1420 or 1422 are performed by the first media device 101A before progressing from block 1302 to block 1306.

[0064] At block 1306, after communication between the first media device 101A and the connected electronic device 205 (see Fig. 3) Once communication with the control application 209A has been established and proper communication has been achieved, a user input signal is sent from the first media device 101A to the connected electronic device 205. This user input signal contains streaming command information, including an Initiate Playlist Streaming command (also known as a "magic key command"), from the first media device 101A to the connected electronic device 205. The Initiate Playlist Streaming command can be used to initiate the streaming of media content, which is optionally arranged into multiple playlists and / or individual songs or other media content and has been selected for streaming by the user in the control application 209A, when button 104 is pressed.

[0065] In cases where the user has pressed button 104 on the first media device 101A for a duration shorter than the first duration in block 1302, the first media device 101A will send a different set of signals to the connected electronic device 205. In one embodiment, the different set of signals may include standard commands, such as AVRCP signals (for example, start, play, and stop signals).

[0066] In some embodiments, the initiate playlist streaming command can be sent from the first media device 101A to the connected electronic device 205 using a different communication protocol than the one used by the first media device 101A and / or the connected electronic device 205 to deliver standard commands, such as AVRCP signals (for example, start and stop signals). Using different communication protocols will reduce the likelihood of different signals (for example, the streaming command signal and the standard command signal) interfering with each other.

[0067] Sending song start / stop / skip commands using standardized AVRCP commands (i.e., a second type of communication protocol) simultaneously with sending the initiate playlist streaming command using a non-standardized protocol (i.e., a first type of communication protocol) allows a first electronic device to send an initiate playlist streaming command to a connected electronic device that is already streaming audio to a second electronic device. The second electronic device could, for example, be an audio device, allowing standardized AVRCP commands to be sent from the second electronic device to the connected electronic device for start / stop / pause / skip audio playback.The first electronic device could be a smartphone, a speaker, a smart switch, a remote control, or any number of devices that may or may not have standardized AVRCP command functionality.

[0068] At block 1310, when the control application 209A is running on the connected electronic device 205, the control application 209A may be used to allow the connected electronic device 205 to determine a device ID of the first media device 101A. The device ID of the first media device 101A can be used by the control application 209A to ensure that the desired media content is streamed to the correct audio device (i.e., the first media device 101A) when the streaming of the media content begins. The process for determining that the first media device 101A is the desired device to which the media content should be streamed is determined by comparing information in the device ID with device information stored in the non-volatile memory.

[0069] In Block 1312, the connected electronic device 205 uses the control application 209A to send a delivery command to the first server 20 to play the media content selected in the control application 209A for the first media device 101A. The media content selected for streaming to the first media device 101A could, for example, be an initial collection of media content containing a first playlist of classical music from a first content provider and a second playlist of classical music from a second content provider. The media content could include a plurality of playlists defined using the steps provided in Procedure 1100 described above. Each of the plurality of playlists might contain a selection of songs from a particular content provider or songs from a plurality of content providers.

[0070] At block 1314, the first server 20 sends an initial request to the first content server 21 via the connecting communication link 21B, based on the delivery command received at the first server 20 at block 1312, and based on the first server 20's determination that the first content server 21 is associated with a first content provider. The initial request will include information provided in or derived from a delivery command sent by the connected electronic device 205, which in subsequent steps will cause the selected content (for example, the content identified in procedure 1100) to be streamed by the content server 21.In some embodiments, the first request may include a request for an information link that can be used to start streaming the first playlist, which is a classical music playlist stored in the user's account with the first content provider.

[0071] After the first request is received by the first content server 21 during block 1314, the first content server 21 will then, in some embodiments, stream the selected content (for example, the content identified in method 1100) from the information contained in the first request to the first media device 101A, directly using the communication link 125 or indirectly via, for example, the connected electronic device 205 using the communication link 21A and the direct communication link “D”.By routing the streaming through the first server 20 or the connected electronic device 205, instead of directly to the first media device 101A, the first server 20 or the connected electronic device can monitor when the streaming of the first playlist from the first content provider is nearing its end, so that the first server 20 or the connected electronic device 205 can send a request to initiate the streaming of the next media content in the user's first collection of media content, such as a second playlist of classical music from a second content provider.

[0072] In block 1316, the first content server 21 can optionally send an initial information link (for example, a URL or URI) to the first server 20 or the connected electronic device 205, instead of automatically starting to stream the selected content identified in the delivery request information. In this block, the first server 20 or the connected electronic device 205 will receive an initial information link (for example, a URL or RI) from the first content server 21. The initial information link can be used to gain access to stream media content associated with the initial request made to the first content server 21 in block 1314. For example, the initial information link could be a link to initiate streaming the user's classical music playlist associated with the user's account with the first content provider.

[0073] At block 1318, the first server optionally sends the first information link received from the first content server 21 to the first media device 101A via a (not shown) hub communication link or to the connected electronic device 205 via the communication link 20A.

[0074] In Block 1320, the media content is streamed from the first content server 21 (for example, the first playlist of classical music) to the first media device 101A. In some embodiments, the media content is streamed from the first content server 21 to the first media device 101A via the connected electronic device 205 and the first server 20. As discussed similarly above, it can be advantageous to route the streaming content through the first server 20 and / or the connected electronic device 205, rather than directly to the first media device 101A. The first content server 21 can run one or more content provider software applications, which are used to identify and stream the desired media content based on receiving the first request derived from the generated delivery command.

[0075] In block 1320, if blocks 1316 and 1318 have been executed, the media content from the first content server 21 (for example, the first playlist of classical music) is alternatively transferred to the first media device 101A using one or more communication links. In some embodiments, the media content from the first content server 21 to the first media device 101A is streamed through the connected electronic device 205 and the first server 20. In one embodiment, the first server 20 or the connected electronic device 205 can use the first information link to initiate the streaming of the media content from the first content provider to the first content server 21.The first server 20 or the connected electronic device 205, which initiates the streaming of the media content from the first content provider to the first content server 21, can then receive the streamed media content from the first content provider and then send it to the first media device 101. As discussed similarly above, it can be advantageous to route the streaming content through the first server 20 and / or the connected electronic device 205, rather than directly to the first media device 101A.

[0076] In an alternative embodiment of block 1320, the first media device 101A communicates directly with the first content server 21 after receiving the first information link from the first server 20 in block 1318, so that it can stream the first playlist directly from the first content server 21 via the communication link 25, as shown in the Fig. 1.

[0077] In alternative embodiments of blocks 1316, 1318 and 1320, the first information link is sent directly to the first media device 101A from the first content server 21, so that the first media device 101A can then stream the first playlist directly from the first content server 21 using the communication link 25, as shown in the Fig. 1.

[0078] At block 1323, the first server 20 can send a second request to the second content server 22 based on (1) the delivery command received by the first server at block 1312, (2) a determination that the streaming of the first playlist from the first content server 21 is nearing its end, and (3) based on the first server 20's determination that the second content server 22 is associated with the second content provider. The second request may include additional delivery command information or a request for an information link that can be used to start streaming the second playlist, which could be, for example, a classical music playlist stored in the user's account for the second content provider.

[0079] In some embodiments, after the second request has been received by the second content server 22 during block 1322, the selected content (for example, the second content identified in method 1100) from the information contained in the second request will be streamed directly to the first media device 101A using the communication link 125 or indirectly via, for example, the connected electronic device 205 using the communication link 22A and the direct communication link “D”.

[0080] At block 1324, the first server 20 optionally receives a second information link (for example, a URL or URI) from the second content server 22, which can be accessed to stream media content associated with the request made to the second content server 22 at block 1322. The second information link could, for example, be provided to initiate the streaming of the user's classical music playlist associated with the user's account with the second content provider.

[0081] In block 1326, the first server 20 optionally sends the second information link, received from the second content server 22, to the first media device 101A or the connected electronic device 205. In one embodiment, the first server 20 or the connected electronic device 205 can use the second information link to initiate the streaming of the media content from the second content provider, and the first server 20 or the connected electronic device 205, which initiates the streaming of the media content from the second content provider, can then receive the media content from the second content provider and then send it to the first media device 101.Allowing the streaming to proceed through the first server 20 or the connected electronic device 205 may enable the first server 20 or the connected electronic device 205 to monitor when the streaming of the second playlist from the second content provider is approaching the end of the second playlist, so that the first server 20 or the connected electronic device 205 can send a request to initiate a streaming of the next media content located in the user's first collection of media content, such as a third playlist of classical music from a third content provider.

[0082] In Block 1328, the media content from the second content server 22 (for example, the second playlist with classical music) is streamed to the first media device 101A using one or more communication links. In some embodiments, the media content from the second content server 22 is streamed to the first media device 101A via the connected electronic device 205 and the first server 20. As discussed similarly above, it can be advantageous to route the streaming content through the first server 20 and / or the connected electronic device 205, rather than directly to the first media device 101A.

[0083] At block 1328, if blocks 1324 and 1326 were executed, the first server 20 or the connected electronic device 205 alternatively uses the second information link, which was generated and sent during blocks 1324 and 1326, to initiate the streaming of media content from the first content provider to the first content server 22. The first server 20 or the connected electronic device 205, which initiates the streaming of media content from the second content provider to the second content server 22, can then receive the streamed media content from the second content provider and then send it to the first media device 101A.

[0084] In an alternative embodiment of block 1326, after receiving the second information link from the first server 20 in block 1324, the first media device 101A communicates directly with the second content server 22, so that it can stream the first playlist directly from the second content server 22 via a communication link (not shown for clarity of illustration) similar to the type of communication link used to separately connect the first content server 21 with the second media device 101A (i.e., the one in the Fig. 1. The communication link shown (25) can be used.

[0085] In alternative embodiments of blocks 1322, 1324 and 1326, the second information link is sent directly to the first media device 101A from the second content server 22, so that the first media device 101A can then stream the first playlist directly from the second content server 22 using a formed communication link. Device process and configuration flows

[0086] The Fig. 5A describes various process steps performed by the processors and software applications running on at least one of the media devices 101, which are used to initiate the process of streaming information based on a user's interaction with at least one of the media devices 101. Fig. 5A more specifically describes the steps that are performed by a media device 101 when a user input is received by a media device 101, such as when the user presses button 104 on the media device 101A.

[0087] The Fig. Figure 5A presents a process flow diagram of a method 1400 for initiating the streaming of media content from a media device 101, such as media device 101A, according to one embodiment. The method 1400 is described with reference to the first media device 101A. However, the method 1400 may also operate in a similar manner when the button on another media device 101 is pressed, such as the second media device 101B.

[0088] At block 1402, the user presses button 104 on the first media device 101A for a first duration. In some embodiments, the first duration at block 1402 is equal to the first duration of the above with reference to the Fig. 3 described blocks 1202. During block 1402, pressing button 104 during the first time period can turn on the first media device 101A and the connected electronic device 205 and initiate the connection between them.

[0089] In block 1404, the processors and the software applications running on media device 101A analyze the signal generated by button 104 to determine whether the user's interaction with button 104 has exceeded a time threshold stored in the memory of media device 101A. In one example, the time threshold is equivalent to a time between approximately 2 seconds and approximately 10 seconds, such as a time greater than 2 seconds, a time greater than 3 seconds, or a time greater than 5 seconds. If the user's interaction has exceeded 3 seconds, then, in one example, the software running on the audio device would set a software flag and / or store this information in memory so that it can be used in one or more of the blocks described below.If the user interaction has not exceeded the time threshold, the process sequence jumps to block 1430, which is explained further below.

[0090] If the user's interaction with button 104 exceeds the time threshold, the process sequence continues to block 1406. In block 1406, the processors and the software applications running on media device 101A analyze whether media device 101A was already switched on. If media device 101A was already switched on, the process sequence jumps to block 1410, which is explained further below.

[0091] If the media device 101A was not switched on, the process sequence continues to block 1408, at which point the media device 101A is made to switch to a switched-on state. In some embodiments, the software running on the media device 101A sets a flag and / or stores information about the previous switched-off state of the media device 101A prior to the user's interaction with button 104, so that this information can be used in one or more of the blocks described below.

[0092] In block 1410, the processors and the software applications running on the media device 101A analyze whether the media device 101A is connected to the connected electronic device 205 (for example, paired with the connected electronic device, as discussed above in block 1202). If the media device 101A is communicating with the connected electronic device 205, the process sequence jumps to block 1418, which is explained below.

[0093] If the media device 101A was not connected to or communicating with the connected electronic device 205, the process sequence continues to block 1412. At block 1412, the media device 101A enters a connection mode in which it initiates the connected electronic device 205 and attempts to connect to it via the direct communication link D, as discussed above in block 1212.

[0094] Next, the processor and the software application(s) running on the media device 101A store time-related information at block 1414 regarding when the user's interaction with button 104 occurred and / or when it was determined that the user's interaction with button 104 exceeded the time threshold. In some embodiments, instead of storing time-related information in memory, a timer is started, initiated at or shortly thereafter when the user's interaction with button 104 occurred, and / or initiated after it has been determined that the user's interaction with button 104 exceeded the time threshold. The stored information or the initiated timer can then be used by one or more of the process sequence steps discussed herein.

[0095] Next, the processors and the software applications running on the media device 101A wait a desired amount of time at block 1416 before proceeding to block 1418. This waiting process can be useful to ensure that the media device 101A and the connected electronic device 205 have time to connect (for example, pair) before proceeding to block 1418. In one example, the duration, or subsequent waiting time, could be on the order of milliseconds, seconds, or even tens of seconds.

[0096] At block 1418, the media device 101A determines whether the control application 209A is running on the connected electronic device 205. The first audio device may determine that the control application 209A is running by sending a notification request via the direct communication link D to the connected electronic device 205, which then informs the first media device 101A whether the control application is running or not.

[0097] At block 1420, the first media device 101A generates a warning to be provided to the user (for example, an audible or visual warning) if the media device 101A detects that the control application 209A is not running in the foreground or background of the connected electronic device 205.

[0098] If media device 101A detects that the control application 209A is running in the foreground or background of the connected electronic device 205, then at block 1422, media device 101A sends a user input signal to the connected electronic device 205. This user input signal may include streaming command information, which includes an initiate streaming command if, during block 1404, it is detected that the user's interaction with button 104 exceeded the time threshold stored in the memory of media device 101A. As described above in conjunction with the Fig. As discussed in Section 4, in some embodiments the Initiate Streaming command can be sent from the first media device 101A to the connected electronic device 205 using a first communication protocol. The first communication protocol can be, but is not limited to, Bluetooth Classic, BTLE, IrDA, Wireless USB, or ZigBee. Having the Initiate Streaming command, or some of the other streaming command information, use a first communication protocol will have the advantage of reducing the likelihood that the generated signal will interfere with the standard functionality of devices that use other standard protocols (for example, AVRCP) to perform common tasks, such as device control and playback functions.

[0099] Referring back to the Fig. 5A, if during block 1404 it is determined that the user interaction has not exceeded the time threshold, then the process sequence executes block 1430. At block 1430, the media device 101A sends a device control signal to the connected electronic device 205. The device control signal will contain the various device control commands using a second communication protocol, similar to what was discussed above in relation to block 1306. For example, the second communication protocol could include standardized AVRCP commands, such as start / stop / pause / skip for audio playback. Initiating streaming using the example of the connected electronic device

[0100] The Fig. Figure 5B presents a process flow diagram of a method 1500 for initiating the streaming of the media content selected in the control application 209A to the audio loudspeaker, according to one embodiment. The method 1500 begins with the first two blocks 1202 and 1204 from the above, with reference to the Fig. The three described procedures 1200 are summarized here. In block 1202, the button 104 on the first media device 101A is pressed for a certain period of time. In block 1204, the first media device 101 is connected to the connected electronic device 205 via a communication link D.

[0101] The remainder of the procedure 1500 is described from the perspective of the connected electronic device 205 to provide additional details on how the control application 209A in the connected electronic device 205 can initiate the streaming of the media content selected in the control application 209A for streaming to the first media device 101A.

[0102] At block 1502, the connected electronic device 205, after establishing communication with the first media device 101A, checks whether the control application 209A is running in the foreground or in the background on the connected electronic device 205.

[0103] In block 1504, if the control application 209A is not running, then the connected electronic device 205 can start the control application 209A. The operating system (for example, Apple iOS) ® or Android ®) of the connected electronic device 205 may enable the control application 209A to respond to the establishment of a Bluetooth ® -connection or another connection with a corresponding hardware device, such as the first media device 101A. In some cases, the connected electronic device 205 can start the control application 209A based on a signal sent by the first media device 101A during block 1502.

[0104] In block 1506, the connected electronic device 205 can optionally prompt the user to select the first media device 101A, for example by displaying a pop-up window showing the available media devices to ensure that the media content will be streamed to the correct audio device.

[0105] At block 1507, which can be reached after block 1506 or directly from block 1502 if it was determined in block 1502 that the control application 209A is running, the connected electronic device 205 can check a device ID of the first media device 101A to determine that the first media device 101A is a device that includes a single input-receiving device, such as the button 104, that can be used to initiate the sending of a playlist streaming command, as disclosed herein.

[0106] At block 1508, the connected electronic device 205 sends a power-on status request to the first media device 101A, based on the determination at block 1507 that the connected device (i.e., the first media device 101A) is capable of sending an initiate playlist streaming command. The power-on status request is used to identify whether the first media device 101A was recently powered on using button 104, for example, within a given initial time period, such as within the last minute or 5 minutes. The power-on status information received by the media device 101A may be the information obtained during block 1414 of the Fig. 5A, which is explained below, were stored in memory. The power-on status can be used by the connected electronic device 205 to determine whether media content from the selected media in the control application 209A should be streamed to the first media device 101A, as described in more detail below. The power-on status can, for example, indicate whether the first media device 101A was powered on using button 104 or a separate power button. If the first media device 101A was powered on using button 104, then the control application 209A may initiate playlist streaming, as disclosed herein. If the first media device 101A was powered on using a separate power button, then the control application 209A may be configured not to initiate playlist streaming.If the first media device 101A was switched on using a separate button, then the first media device 101A may, for example, begin to stream media content that is already being streamed by the connected electronic device, for example to another audio device, such as the second media device 101B.

[0107] Although the first media device 101A may send an Initiate Playlist Streaming command after being powered on via button 104, the Initiate Playlist Streaming command may be lost in transit because a wireless connection has not yet been established or is not yet stable, has been interrupted, and / or has been delayed due to the power-on and initialization functions of the first media device 101A. To avoid the situation where the Initiate Playlist Streaming command is not received by the control application 209A or is not received within a sufficient time, the control application 209A may request the power-on status of the first media device 101A in response to a detection of a connection with the first media device 101A (or similar audio devices with Initiate Playlist Streaming functionality).

[0108] Procedure 1450, which in the Fig. The process shown in Figure 5C is directed to a routine that enables a media device 101A to respond to a power-on status request or an immediate delivery request received from the connected electronic device 205. Then, upon receiving a message from the connected electronic device 205, the processors and software applications running on the media device 101A determine at block 1452 whether an immediate delivery request has been received. If an immediate delivery request has been received, the media device 101A then responds at block 1454 to the connected electronic device 205 with information regarding its power-on status (for example, time information stored during block 1414) and, optionally, how the audio device was powered on (for example, using button 104 or a separate power button).The media device 101A can be configured to store information about when the media device 101A was recently switched on and how the audio device was "switched on" and to send this information to the connected electronic device 205.

[0109] Again with reference to the Fig. 5B receives the connected electronic device 205 at block 1510 the power-on status from the first media device 101A.

[0110] In block 1511, the connected electronic device 205 determines whether (1) an Initiate Playlist Streaming command was received from the connected electronic device 205 or (2) the first media device 101A was recently turned on by means of button 104, based on the power-on status information received in block 1510. These two states indicate that button 104 was recently pressed, for example, during the first time period discussed above (see block 1202). The information provided in block 1510 can be used by the connected electronic device 205 to determine whether to initiate the streaming of the media content requested by the user. In some cases, if media device 101A has been "turned on" for an extended period, the control application can infer that media device 101A was "turned on" and that an Initiate Streaming command was sent from the first media device 101A.

[0111] The first media device 101A can optionally be connected to the one in the Fig. Connect block 1402, shown in 5B, separately to the connected electronic device 205 without pressing button 104 to turn on the first media device 101A. After establishing this connection with the first, already turned-on media device 101A, the user can press button 104 to issue the Initiate Playlist Streaming command, which will then be received at block 1511.

[0112] In block 1514, after determining that the first media device 101A was recently switched on using button 104 or that a playlist streaming command was issued using button 104, the connected electronic device 205 determines whether there is an active playlist of media content selected in the control application 209A that is currently playing on the connected electronic device or streaming to another audio device. An active playlist can be selected in the control application 209A during the steps described in procedure 1100.

[0113] If it is determined that there is no active playlist at block 1514, then at block 1516 the connected electronic device 205 can initiate a stream of the first playlist containing the selected media content, or of a previous playlist containing the selected media content (i.e., the most recent playlist stream to the first media device 101), to the first media device 101A, or it can switch to the next playlist containing the selected media content. The connected electronic device 205 can initiate the stream as described in procedure 1300, which is referred to above. Fig. 4 was discussed.

[0114] If block 1518 determines that there is an active playlist being streamed to the first media device 101A, then the connected electronic device 205 can initiate a streaming of the next playlist (i.e., switching to the next playlist) of the selected media content to the first media device 101A.

[0115] In some cases, the connected electronic device 205 can receive Initiate Playlist Streaming commands sequentially from two or more devices. For example, a first device (e.g., first media device 101A) can send an Initiate Playlist Streaming command to the connected electronic device 205, and the connected electronic device 205 may initiate the streaming of a first playlist (e.g., block 1516 or 1518). Then, a second electronic device (e.g., second media device 101B) may send a second Initiate Playlist Streaming command, causing the connected electronic device 205 to initiate the streaming of the next playlist.Thus, several electronic devices (for example, media devices 101) can be controlled by a single connected electronic device 205 using initiating playlist streaming commands, and the single connected electronic device 205 may cycle through playlists agnostically based on commands received separately from the electronic devices (for example, media devices 101).

[0116] Similarly, the connected electronic device 205 may receive and respond to AVRCP commands or other commands from other devices (i.e., devices that do not have button 104) simultaneously with the initiate playlist streaming commands, as disclosed herein. For example, Method 1600 in the Fig.5D, that the connected electronic device 205 can independently receive AVRCP commands in block 1602 and respond to them in block 1604, for example by pausing or playing media content or by skipping to additional media content, such as the next song in a playlist.

[0117] While the foregoing is directed to embodiments of the present disclosure, other and further embodiments of the disclosure may be conceived without deviating from the basic scope thereof, and the scope thereof shall be determined by the following claims.

Claims

[1] A method for streaming media content, comprising: Sending an initial user input signal from a first content player (101A) to a connected electronic device (205), wherein the initial user input signal contains streaming command information, and wherein the initial user input signal was generated from an initial input submitted by a user to the first content player (101A, 101B); Sending a first delivery command from the connected electronic device (205) to a first content server (21) after a control software application running on the connected electronic device (205) has determined that the first user input signal contains streaming command information, wherein The sending of the first delivery command is automatically provided based on the receipt of the first user input signal, and the first delivery order contains media identification information; and Streaming information, which includes at least one media-containing file provided by the first content server (21), from the first content server (21) directly to the first content player (101A) via a hard-wired or wireless communication link (25) based on information contained within the first delivery command. [2] The method according to claim 1, wherein the streaming of the information from the first content server to the first content player further comprises: Transferring the stream of information from the first content server to the connected electronic device; and then transferring the stream of information from the connected electronic device to the first content player. [3] The method according to claim 1, wherein the streaming command information is provided only in the first user input signal when the user interacts with an electromechanical device associated with the first content player for at least a first period of time. [4] The method according to claim 1, wherein sending the first delivery command to the first content server further comprises: Retrieving information relating to a first content provider from the memory of the first connected electronic device or from the first content server based on receiving the first user input signal, wherein the retrieved information includes information relating to at least one media-containing file accessible from the first content server. [5] The method according to claim 4, wherein the first delivery command includes information which a software application of the first content provider running on the first content server uses to identify the at least one media-containing file. [6] The method according to claim 1, wherein the first input provided by the user to the first content player comprises an interaction of the user with an electromechanical device associated with the first content player. [7] The method according to claim 1, further comprising: Sending a second user input signal from the first content player, wherein the second user input signal contains streaming command information, and wherein the second user input signal was generated from a second input submitted by the user to the first content player; Sending a second delivery command to a second content server after the control software application has determined that the second user input signal contains streaming command information, wherein The sending of the second delivery command is automatically provided based on the receipt of the second user input signal, and the second delivery order contains media identification information; and Streaming information that includes at least one media-containing file provided by the second content server to the first content player based on information contained within the second delivery command. [8] The method according to claim 7, wherein sending the second delivery command to the second content server further comprises: Retrieving information relating to a second content provider from the memory of the first connected electronic device or from the second content server based on receiving the second user input signal, wherein the retrieved information is contained in a file which contains information relating to at least one media-containing file that is accessible from the second content server. [9] The method according to claim 8, wherein the second delivery command includes information with which a software application of a second content provider, running on the second content server, can identify the at least one media-containing file. [10] The method according to claim 1, wherein the control software application is configured to allow a user to: Creating an initial collection of two or more audio-containing files; or Modifying the first collection into two or more audio-containing files that are stored within the first content server. [11] The method according to claim 1, wherein the first content player comprises a wireless speaker. [12] A method according to claim 1, further comprising: Defining an initial collection of media content, wherein the initial collection comprises a plurality of media content files accessible by an initial content provider; Storing an initial information link associated with the defined initial collection of media content in the memory of a connected electronic device; Receiving the first user input signal from the first content player (101A) by the connected electronic device (205); where the first delivery order contains the first information link. [13] The method according to claim 12, wherein the streaming of the information from the first content server to the first content player further comprises: Transferring the stream of information from the first content server to the connected electronic device; and then transferring the stream of information from the connected electronic device to the first content player. [14] The method according to claim 12, wherein the first information link provided in the first delivery order contains information which a software application of the first content provider running on the first content server uses to identify the at least one media-containing file. [15] The method according to claim 12, wherein the streaming command information is provided only in the first user input signal when the user interacts with an electromechanical device associated with the first content player for at least a first period of time. [16] The method according to claim 12, further comprising: Defining a second collection of media content, wherein the second collection comprises a plurality of media content files that are defined by are accessible to the first content provider; Storing a second information link associated with the defined second collection of media content in the memory of a connected electronic device; Sending a second user input signal from the first content player, wherein the second user input signal contains streaming command information, and wherein the second user input signal was generated from a second input submitted by the user to the first content player; Sending a second delivery command to a second content server after the control software application has determined that the second user input signal contains streaming command information, wherein The sending of the second delivery command is automatically provided based on the receipt of the second user input signal, and the second delivery order contains the second information link; and Streaming information that includes at least one media-containing file provided by the second content server to the first content player based on information contained within the second delivery command. [17] The method according to claim 16, wherein the second information link is positioned behind the first information link in an ordered list within the memory, so that the sending of the first delivery command takes place in time before the sending of the second delivery command. [18] The method according to claim 12, wherein the first content player has a wireless speaker.

Citation Information

Patent Citations

  • Content streaming system

    US20180190279A1