US9395871B2 - Detection and control of multimedia applications - Google Patents

Detection and control of multimedia applications Download PDF

Info

Publication number
US9395871B2
US9395871B2 US13/753,440 US201313753440A US9395871B2 US 9395871 B2 US9395871 B2 US 9395871B2 US 201313753440 A US201313753440 A US 201313753440A US 9395871 B2 US9395871 B2 US 9395871B2
Authority
US
United States
Prior art keywords
multimedia
programs
content
interface
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US13/753,440
Other versions
US20150253936A1 (en
Inventor
Gregory Matthew Marra
Gideon Wald
Kathryn Cushing
Thomas Christian Wiltzius
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Priority to US13/753,440 priority Critical patent/US9395871B2/en
Assigned to GOOGLE INC. reassignment GOOGLE INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CUSHING, Kathryn, WALD, GIDEON, WILTZIUS, THOMAS CHRISTIAN, MARRA, GREGORY MATTHEW
Publication of US20150253936A1 publication Critical patent/US20150253936A1/en
Application granted granted Critical
Publication of US9395871B2 publication Critical patent/US9395871B2/en
Assigned to GOOGLE LLC reassignment GOOGLE LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: GOOGLE INC.
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/60Substation equipment, e.g. for use by subscribers including speech amplifiers
    • H04M1/6016Substation equipment, e.g. for use by subscribers including speech amplifiers in the receiver circuit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path

Definitions

  • Computing devices may include multiple applications that provide audio transmission for human listening. Web sites provide audio/visual services, including music streaming, video streaming, and the like.
  • a computing device may include integrated hardware or software for controlling a master volume for all audio sound originating from software applications running on the device.
  • software may be configured to detect and control external audio devices. Since each software application or external device is independent of each other, a user wishing to select, or control volume for, a single application or device from multiple applications and/or devices must operate the respective controls individually.
  • a computer-implemented method may comprise initiating, at a computing device, a display of a graphic multimedia interface, determining, on initiating the display of the multimedia interface, a plurality of multimedia programs available to receive streaming multimedia content from respective remote audio sources, and providing the multimedia interface for display on a display screen associated with the computing device, the multimedia interface operating independent of the plurality of multimedia programs and including a plurality of graphically displayed interactive controls for controlling multimedia features of the plurality of multimedia programs.
  • a machine-readable medium may have instructions stored thereon that, when executed, cause a machine to perform a method for displaying a universal audio control.
  • the method may comprise detecting a plurality of multimedia programs that receive streaming multimedia content from an external location, determining that one or more of the plurality of multimedia programs accept remote control of one or more multimedia features, and providing a graphic multimedia interface for display on a computing device, including one or more graphically displayed interactive controls for each multimedia program determined to accept remote control of one or more multimedia features, the graphic multimedia interface configured to, on a user manipulation of an interactive control, remotely control a multimedia feature of a multimedia program associated with the manipulated interactive control.
  • Other aspects include corresponding systems, apparatus, and computer program products.
  • Other aspects include corresponding systems, apparatus, and computer program products.
  • a system may include a display screen, one or more processors, and a memory.
  • the memory may include server instructions thereon that, when executed, cause the one or more processors to initiate a display of a graphic multimedia interface, determine, on initiating the display of the graphic multimedia interface, a plurality of multimedia programs available to receive streaming multimedia content from respective remote audio sources, and provide the multimedia interface for display on the display screen, the multimedia interface operating independent of the plurality of multimedia programs and including one or more graphically displayed interactive controls for each determined multimedia program, an interactive control configured to remotely control a multimedia feature by graphic manipulation of the interactive control, receive a user-initiated manipulation of an interactive control corresponding to a multimedia program, and change a state of a multimedia feature for the corresponding multimedia program according to the user-initiated manipulation of the interactive control while keeping a current state of other multimedia features unchanged.
  • the subject technology provides an easy to use control interface for controlling all active audio applications on a computing device.
  • the user may more easily manipulate audio controls without having to search for and open individual applications. Accordingly, the user is saved cognitive resources measured in the effort and time that would otherwise be required to search for and open individual applications. Accordingly, the user has more time to perform other tasks or activities.
  • FIG. 1 depicts example components for automatic detection and control of multimedia applications.
  • FIGS. 2A and 2B depict diagrams of an example computing device, including a universal multimedia control displayed on a display screen for manipulation of multiple active multimedia sources.
  • FIG. 3 is a flowchart illustrating an example process for detection and control of multimedia applications.
  • FIG. 4 is a diagram illustrating an example server system for detection and control of multimedia applications, including a processor and other internal components.
  • FIG. 1 depicts example components for automatic detection and control of multimedia applications, according to one aspect of the subject technology.
  • a computing device for example, tablet computer, notebook or personal computer, PDA, a smartphone, server, or television or other display device with one or more computing devices embedded therein or attached thereto
  • a multimedia subsystem 101 for operating system level management of multimedia data and other signals produced by hardware components of the computing device, various multimedia programs 102 executing on the computing device, or one or more operably connected multimedia component systems 103 .
  • Multimedia programs 102 are application programs that operate independent of multimedia subsystem 101 .
  • Multimedia programs 102 may include one or more native applications (for example, installed on the computing device) and/or one or more web applications (for example, accessed over a network or embedded within a web-page displayed by a browser).
  • a multimedia program 102 may include a user-facing multimedia application such as a stand-alone media player, internet-radio application, a website providing audio or video content in a web browser, a browser component providing audio or video content, or other types of software for streaming or receiving streamed audio or video.
  • a multimedia program 102 may include a software program for receiving audio data from a multimedia component system 103 .
  • multimedia program 102 may be software installed on a computing device for communication with an audio/video (A/V) receiver.
  • A/V audio/video
  • Multimedia subsystem 101 includes an audio mixer 104 for volume and tone control of audio signals generated by multimedia programs 102 for output to audio hardware 105 of the computing device.
  • Multimedia subsystem 101 includes a multimedia management component 106 (for example, a software library) for more detailed mixing and management of multimedia data before audio data is passed through audio mixer 104 or converted to audible audio signals.
  • management component 106 detects active multimedia programs 102 , verifies the detected programs accept remote control of their respective audio levels, and aggregates control over those programs through a user interface.
  • multimedia management component 106 may provide a registration interface 107 (for example, part of a application programming interface (API) framework) to receive registration information requests from multimedia programs 102 executing on the computing device.
  • a multimedia program 102 may be configured (for example, by way of programming) to, when executed or instructed to playback multimedia content, operably connect to registration interface 107 (for example, via the API) and register itself with multimedia management component 106 .
  • multimedia subsystem 101 may receive streaming multimedia content (for example, audio and/or video data) from multimedia program 102 .
  • a multimedia program 102 may provide an indication to registration interface 107 (for example, a notification sent via the API) that multimedia program 102 is active and accepts remote control of features provided by multimedia program 102 (for example, audio levels).
  • Multimedia program 102 may then periodically provide multimedia subsystem (for example, via registration interface 107 ) content information for actively playing or queued multimedia content.
  • Content information may include, for example, a title or description associated with the multimedia content.
  • management component 106 may determine content information for a multimedia source (for example, an internet radio provider) associated with multimedia program 102 .
  • each multimedia program 102 may register itself at registration interface 107 , and multimedia management component 106 , on learning of a registered audio source from the registration, may query the audio source directly for content information.
  • multimedia management component 106 may determine active sources of multimedia content by detecting registration of multimedia programs 102 at registration interface 107 . In some examples, management component 106 further determines that one or more active multimedia sources accept remote control of respective audio levels. Management component 106 may then send and receive messages to and from one or more multimedia programs 102 to control various aspects of multimedia programs 102 , including increasing or decreasing volume of audio currently being streamed by corresponding multimedia sources, changing songs or stations, suspending/pausing, resuming or terminating playback, and the like. Management component 106 may send messages to a multimedia source 102 requesting, for example, various types of audio-related content information from the multimedia source (for example, title information, artist information, and the like).
  • management component 106 enumerates what multimedia programs 102 are providing audio and provides them to a multimedia service interface 108 .
  • Multimedia service interface 108 provides a service-level interface (for example, another part of the API framework) for providing user control over the enumerated multimedia programs 102 .
  • the subject technology provides a software control user interface (UI) 109 , which may be graphically displayed to a user in the form of a dialogue box or similar graphic user interface for remote user-control over enumerated multimedia programs 102 .
  • control UI 109 includes graphically displayed interactive volume controls for each of the enumerated multimedia programs 102 , and is configured to remotely control the respective audio levels by graphic manipulation of respective interactive volume controls.
  • control UI 109 may further display content information received from one or more enumerated audio programs.
  • Multimedia subsystem 101 may receive streaming multimedia content from a detected multimedia program 102 , the audio program receiving the streaming multimedia content from a multimedia component system 103 located remote from the computing device.
  • Management component 106 may receive from control UI 109 a query for multimedia programs 102 that accept remote control of one or more multimedia features, return a list of programs, and then receive from control UI 109 one or more commands to control one or more features of multimedia component system 103 .
  • management component 106 remotely controls, via the detected multimedia program 102 , the one or more features of the multimedia component system 103 according to the received one or more commands.
  • FIGS. 2A and 2B depict diagrams of an example computing device, including a universal multimedia control displayed on a display screen for manipulation of multiple active multimedia sources, according to one aspect of the subject technology.
  • a computing device 201 for example, tablet computer, notebook or personal computer, PDA, a smartphone, GPS navigation device, or television or other display device with one or more computing devices embedded therein or attached thereto
  • program code for generating and displaying, on a touch-sensitive display screen 202 , a virtual multimedia controller 203 .
  • virtual multimedia controller 103 may be a stand-alone user interface that may be executed independently of other programs.
  • Multimedia controller 203 may be graphically displayed as layered over at least a portion of other graphic user interfaces also displayed on display screen 202 .
  • multimedia controller 203 may be embedded in, or part of, another program, such as a web browser 204 .
  • multimedia controller 203 is provided for user-control of multimedia from multiple compatible software and hardware multimedia sources. Integration and communication between multimedia controller 203 and compatible multimedia sources is implemented as described with respect to FIG. 1 .
  • multimedia controller 203 is provided for display by software of multimedia management component 107 .
  • multimedia controller 203 provides display of detected active multimedia sources, for example, running on computing device 201 , or on other devices operably connected to the computer by wired or wireless network connection.
  • the underlying code for multimedia controller 203 or management component 106 verifies that one or more of the multimedia sources accept remote control of respective multimedia levels.
  • Multimedia controller 203 includes graphically displayed interactive volume controls 205 , one for each detected multimedia source. Each volume control 205 remotely controls an audio level for a verified source by graphic manipulation of the volume control. Volume controls 205 may be manipulated to control volume levels by a pointing device, such as a mouse, trackball or similar device. Where display screen 202 is a touch-sensitive display, volume controls 205 may be manipulated by contact with a portion of display screen 202 at a location corresponding to the volume control 205 . Additionally, multimedia controller 203 may further determine, from one or more of the detected multimedia sources, respective content information for actively playing multimedia content. Content may include, for example, the name of a song or video being played.
  • Multimedia controller 203 is not limited to control of volume levels. Rather, multimedia controller 203 may include other controls, including, for example, a mute control for each multimedia source, tone controls, playlist controls (forward, backward, pause, next or previous song selection), or the like.
  • FIG. 3 is a flowchart illustrating an example process for detection and control of multimedia applications, according to one aspect of the subject technology.
  • the blocks of FIG. 3 may be executed by a computing device (for example, tablet computer, a desktop or notebook computer, PDA, smartphone, a television or other display device with one or more computing devices embedded therein or attached thereto, or the like).
  • the blocks of FIG. 3 may be performed within the context of operating a web browser provided by the computing device.
  • a display of a graphic multimedia interface is initiated by a user.
  • the multimedia interface provides a plurality of graphically displayed interactive controls for controlling multimedia features of a corresponding plurality of multimedia programs.
  • a multimedia program may comprise a user-facing multimedia application, for example, a stand-alone media player, internet-radio application, a website providing audio content in a web browser, a website providing video content in the web browser, a browser component providing audio content, or a browser component providing video content.
  • the interactive controls may include virtual dials, sliders, or buttons for controlling features such as a volume level, a playback of multimedia content, or a selectable list of available multimedia content.
  • a plurality of multimedia programs available to receive streaming multimedia content from respective remote audio sources are detected by instructions associated with the multimedia interface.
  • Detecting the multimedia programs may include, for example, receiving a plurality of registration requests from the plurality of multimedia programs at registration interface 106 .
  • a registration request is a request to add an active multimedia source to a list or group of registered active multimedia sources.
  • the multimedia source is registered with management component 106 (part of the multimedia subsystem 101 ). Accordingly, a plurality of active multimedia sources corresponding to the plurality of multimedia programs may be registered and subsequently identified in the list of registered multimedia sources.
  • management component 106 determines that one or more of the plurality of multimedia programs accept remote control of one or more multimedia features. The determination may be made, for example, by virtue of being registered, or may be made by detecting one or more flags set at registration interface 107 for a multimedia program during the registration process.
  • the multimedia interface is displayed on a display screen associated with the computing device.
  • the multimedia interface operates independent of the plurality of multimedia programs and includes one or more graphically displayed interactive controls for each determined multimedia program, each interactive control configured to remotely control a multimedia feature by graphic manipulation of the interactive control.
  • the multimedia interface is a stand-alone graphic user interface similar to virtual multimedia controller 203 depicted in FIG. 2A .
  • the multimedia interface is displayed as part of a web browser, similar to virtual multimedia controller 203 depicted in FIG. 2B .
  • a user-initiated manipulation of an interactive control corresponding to a multimedia program is received, and, in block 306 , a state of a multimedia feature for the corresponding multimedia program is changed according to the user-initiated manipulation of the interactive control.
  • the state may be changed while keeping a current state of other multimedia features unchanged.
  • manipulation of an interactive volume control triggers a command to adjust a volume level associated with a corresponding registered multimedia source. Accordingly, the volume level of audio for the registered multimedia source is adjusted while keeping volume level for other registered audio sources unchanged.
  • FIG. 4 is a diagram illustrating an example server system for detection and control of multimedia applications, including a processor and other internal components, according to one aspect of the subject technology.
  • a computerized device 400 (for example, computing device 201 ) includes several internal components such as a processor 401 , a system bus 402 , read-only memory 403 , system memory 404 , network interface 405 , I/O interface 406 , and the like.
  • processor 401 may also be communication with a storage medium 407 (for example, a hard drive, database, or data cloud) via I/O interface 406 .
  • a storage medium 407 for example, a hard drive, database, or data cloud
  • all of these elements of device 400 may be integrated into a single device. In other aspects, these elements may be configured as separate components.
  • Processor 401 may be configured to execute code or instructions to perform the operations and functionality described herein, manage request flow and address mappings, and to perform calculations and generate commands. Processor 401 is configured to monitor and control the operation of the components in server 400 .
  • the processor may be a general-purpose microprocessor, a microcontroller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a programmable logic device (PLD), a controller, a state machine, gated logic, discrete hardware components, or a combination of the foregoing.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • PLD programmable logic device
  • controller a state machine, gated logic, discrete hardware components, or a combination of the foregoing.
  • One or more sequences of instructions may be stored as firmware on a ROM within processor 401 .
  • one or more sequences of instructions may be software stored and read from system memory 405 , ROM 403 , or received from a storage medium 407 (for example, via I/O interface 406 ).
  • ROM 403 , system memory 405 , and storage medium 407 represent examples of machine or computer readable media on which instructions/code may be executable by processor 401 .
  • Machine or computer readable media may generally refer to any medium or media used to provide instructions to processor 401 , including both volatile media, such as dynamic memory used for system memory 404 or for buffers within processor 401 , and non-volatile media, such as electronic media, optical media, and magnetic media.
  • processor 401 is configured to communicate with one or more external devices (for example, via I/O interface 406 ).
  • Processor 401 is further configured to read data stored in system memory 404 and/or storage medium 407 and to transfer the read data to the one or more external devices in response to a request from the one or more external devices.
  • the read data may include one or more web pages and/or other software presentation to be rendered on the one or more external devices.
  • the one or more external devices may include a computing system such as a personal computer, a server, a workstation, a laptop computer, PDA, smart phone, and the like.
  • system memory 404 represents volatile memory used to temporarily store data and information used to manage device 400 .
  • system memory 404 is random access memory (RAM) such as double data rate (DDR) RAM.
  • RAM random access memory
  • DDR double data rate
  • Other types of RAM also may be used to implement system memory 404 .
  • Memory 404 may be implemented using a single RAM module or multiple RAM modules. While system memory 404 is depicted as being part of device 400 , those skilled in the art will recognize that system memory 404 may be separate from device 400 without departing from the scope of the subject technology. Alternatively, system memory 404 may be a non-volatile memory such as a magnetic disk, flash memory, peripheral SSD, and the like.
  • I/O interface 406 may be configured to be coupled to one or more external devices, to receive data from the one or more external devices and to send data to the one or more external devices.
  • I/O interface 406 may include both electrical and physical connections for operably coupling I/O interface 406 to processor 401 , for example, via the bus 402 .
  • I/O interface 406 is configured to communicate data, addresses, and control signals between the internal components attached to bus 402 (for example, processor 401 ) and one or more external devices (for example, a hard drive).
  • I/O interface 406 may be configured to implement a standard interface, such as Serial-Attached SCSI (SAS), Fiber Channel interface, PCI Express (PCIe), SATA, USB, and the like.
  • SAS Serial-Attached SCSI
  • PCIe PCI Express
  • I/O interface 406 may be configured to implement only one interface. Alternatively, I/O interface 406 may be configured to implement multiple interfaces, which are individually selectable using a configuration parameter selected by a user or programmed at the time of assembly. I/O interface 406 may include one or more buffers for buffering transmissions between one or more external devices and bus 402 and/or the internal devices operably attached thereto.
  • a processor configured to monitor and control an operation or a component may also mean the processor being programmed to monitor and control the operation or the processor being operable to monitor and control the operation.
  • a processor configured to execute code can be construed as a processor programmed to execute code or operable to execute code.
  • a phrase such as an “aspect” does not imply that such aspect is essential to the subject technology or that such aspect applies to all configurations of the subject technology.
  • a disclosure relating to an aspect may apply to all configurations, or one or more configurations.
  • An aspect may provide one or more examples.
  • a phrase such as an aspect may refer to one or more aspects and vice versa.
  • a phrase such as an “embodiment” does not imply that such embodiment is essential to the subject technology or that such embodiment applies to all configurations of the subject technology.
  • a disclosure relating to an embodiment may apply to all embodiments, or one or more embodiments.
  • An embodiment may provide one or more examples.
  • a phrase such as an “embodiment” may refer to one or more embodiments and vice versa.
  • a phrase such as a “configuration” does not imply that such configuration is essential to the subject technology or that such configuration applies to all configurations of the subject technology.
  • a disclosure relating to a configuration may apply to all configurations, or one or more configurations.
  • a configuration may provide one or more examples.
  • a phrase such as a “configuration” may refer to one or more configurations and vice versa.
  • example is used herein to mean “serving as an example or illustration.” Any aspect or design described herein as “example” is not necessarily to be construed as preferred or advantageous over other aspects or designs.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

A mechanism for automatically detecting and controlling active multimedia applications is provided. Software is installed on a computing device that detects a plurality of active multimedia sources, and then determines that one or more of the plurality of active multimedia sources accept remote control of one or more multimedia features. A software multimedia user interface, including graphically displayed interactive volume controls for the detected multimedia sources, is displayed and configured to enable a user to remotely control the respective audio levels of each detected multimedia program by graphic manipulation of respective interactive volume controls.

Description

BACKGROUND
Computing devices may include multiple applications that provide audio transmission for human listening. Web sites provide audio/visual services, including music streaming, video streaming, and the like. A computing device may include integrated hardware or software for controlling a master volume for all audio sound originating from software applications running on the device. In other aspects, software may be configured to detect and control external audio devices. Since each software application or external device is independent of each other, a user wishing to select, or control volume for, a single application or device from multiple applications and/or devices must operate the respective controls individually.
SUMMARY
The subject technology provides a system and method for displaying a universal audio control. According to one aspect, a computer-implemented method may comprise initiating, at a computing device, a display of a graphic multimedia interface, determining, on initiating the display of the multimedia interface, a plurality of multimedia programs available to receive streaming multimedia content from respective remote audio sources, and providing the multimedia interface for display on a display screen associated with the computing device, the multimedia interface operating independent of the plurality of multimedia programs and including a plurality of graphically displayed interactive controls for controlling multimedia features of the plurality of multimedia programs.
In another aspect, a machine-readable medium may have instructions stored thereon that, when executed, cause a machine to perform a method for displaying a universal audio control. In this regard, the method may comprise detecting a plurality of multimedia programs that receive streaming multimedia content from an external location, determining that one or more of the plurality of multimedia programs accept remote control of one or more multimedia features, and providing a graphic multimedia interface for display on a computing device, including one or more graphically displayed interactive controls for each multimedia program determined to accept remote control of one or more multimedia features, the graphic multimedia interface configured to, on a user manipulation of an interactive control, remotely control a multimedia feature of a multimedia program associated with the manipulated interactive control. Other aspects include corresponding systems, apparatus, and computer program products. Other aspects include corresponding systems, apparatus, and computer program products.
In a further aspect, a system may include a display screen, one or more processors, and a memory. The memory may include server instructions thereon that, when executed, cause the one or more processors to initiate a display of a graphic multimedia interface, determine, on initiating the display of the graphic multimedia interface, a plurality of multimedia programs available to receive streaming multimedia content from respective remote audio sources, and provide the multimedia interface for display on the display screen, the multimedia interface operating independent of the plurality of multimedia programs and including one or more graphically displayed interactive controls for each determined multimedia program, an interactive control configured to remotely control a multimedia feature by graphic manipulation of the interactive control, receive a user-initiated manipulation of an interactive control corresponding to a multimedia program, and change a state of a multimedia feature for the corresponding multimedia program according to the user-initiated manipulation of the interactive control while keeping a current state of other multimedia features unchanged.
These and other aspects may provide one or more of the following advantages. The subject technology provides an easy to use control interface for controlling all active audio applications on a computing device. By providing the universal audio control of the subject technology, the user may more easily manipulate audio controls without having to search for and open individual applications. Accordingly, the user is saved cognitive resources measured in the effort and time that would otherwise be required to search for and open individual applications. Accordingly, the user has more time to perform other tasks or activities.
It is understood that other configurations of the subject technology will become readily apparent to those skilled in the art from the following detailed description, wherein various configurations of the subject technology are shown and described by way of illustration. As will be realized, the subject technology is capable of other and different configurations and its several details are capable of modification in various other respects, all without departing from the scope of the subject technology. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.
BRIEF DESCRIPTION OF THE DRAWINGS
A detailed description will be made with reference to the accompanying drawings:
FIG. 1 depicts example components for automatic detection and control of multimedia applications.
FIGS. 2A and 2B depict diagrams of an example computing device, including a universal multimedia control displayed on a display screen for manipulation of multiple active multimedia sources.
FIG. 3 is a flowchart illustrating an example process for detection and control of multimedia applications.
FIG. 4 is a diagram illustrating an example server system for detection and control of multimedia applications, including a processor and other internal components.
DETAILED DESCRIPTION
FIG. 1 depicts example components for automatic detection and control of multimedia applications, according to one aspect of the subject technology. A computing device (for example, tablet computer, notebook or personal computer, PDA, a smartphone, server, or television or other display device with one or more computing devices embedded therein or attached thereto) is configured with a multimedia subsystem 101 for operating system level management of multimedia data and other signals produced by hardware components of the computing device, various multimedia programs 102 executing on the computing device, or one or more operably connected multimedia component systems 103.
Multimedia programs 102 are application programs that operate independent of multimedia subsystem 101. Multimedia programs 102 may include one or more native applications (for example, installed on the computing device) and/or one or more web applications (for example, accessed over a network or embedded within a web-page displayed by a browser). For example, a multimedia program 102 may include a user-facing multimedia application such as a stand-alone media player, internet-radio application, a website providing audio or video content in a web browser, a browser component providing audio or video content, or other types of software for streaming or receiving streamed audio or video. In some implementations, a multimedia program 102 may include a software program for receiving audio data from a multimedia component system 103. For example, multimedia program 102 may be software installed on a computing device for communication with an audio/video (A/V) receiver.
Multimedia subsystem 101 includes an audio mixer 104 for volume and tone control of audio signals generated by multimedia programs 102 for output to audio hardware 105 of the computing device. Multimedia subsystem 101 includes a multimedia management component 106 (for example, a software library) for more detailed mixing and management of multimedia data before audio data is passed through audio mixer 104 or converted to audible audio signals. As will be described further, management component 106 detects active multimedia programs 102, verifies the detected programs accept remote control of their respective audio levels, and aggregates control over those programs through a user interface.
In various aspects, multimedia management component 106 may provide a registration interface 107 (for example, part of a application programming interface (API) framework) to receive registration information requests from multimedia programs 102 executing on the computing device. A multimedia program 102 may be configured (for example, by way of programming) to, when executed or instructed to playback multimedia content, operably connect to registration interface 107 (for example, via the API) and register itself with multimedia management component 106. Once multimedia program 102 is registered, multimedia subsystem 101 may receive streaming multimedia content (for example, audio and/or video data) from multimedia program 102.
In other aspects, a multimedia program 102 may provide an indication to registration interface 107 (for example, a notification sent via the API) that multimedia program 102 is active and accepts remote control of features provided by multimedia program 102 (for example, audio levels). Multimedia program 102 may then periodically provide multimedia subsystem (for example, via registration interface 107) content information for actively playing or queued multimedia content. Content information may include, for example, a title or description associated with the multimedia content. By querying interface 107 for this information, management component 106 may determine content information for a multimedia source (for example, an internet radio provider) associated with multimedia program 102. In some implementations, each multimedia program 102 may register itself at registration interface 107, and multimedia management component 106, on learning of a registered audio source from the registration, may query the audio source directly for content information.
As described previously, multimedia management component 106 may determine active sources of multimedia content by detecting registration of multimedia programs 102 at registration interface 107. In some examples, management component 106 further determines that one or more active multimedia sources accept remote control of respective audio levels. Management component 106 may then send and receive messages to and from one or more multimedia programs 102 to control various aspects of multimedia programs 102, including increasing or decreasing volume of audio currently being streamed by corresponding multimedia sources, changing songs or stations, suspending/pausing, resuming or terminating playback, and the like. Management component 106 may send messages to a multimedia source 102 requesting, for example, various types of audio-related content information from the multimedia source (for example, title information, artist information, and the like).
In various aspects, management component 106 enumerates what multimedia programs 102 are providing audio and provides them to a multimedia service interface 108. Multimedia service interface 108 provides a service-level interface (for example, another part of the API framework) for providing user control over the enumerated multimedia programs 102. Accordingly, the subject technology provides a software control user interface (UI) 109, which may be graphically displayed to a user in the form of a dialogue box or similar graphic user interface for remote user-control over enumerated multimedia programs 102. In this respect, control UI 109 includes graphically displayed interactive volume controls for each of the enumerated multimedia programs 102, and is configured to remotely control the respective audio levels by graphic manipulation of respective interactive volume controls. As will be described further, control UI 109 may further display content information received from one or more enumerated audio programs.
Multimedia subsystem 101 may receive streaming multimedia content from a detected multimedia program 102, the audio program receiving the streaming multimedia content from a multimedia component system 103 located remote from the computing device. Management component 106 may receive from control UI 109 a query for multimedia programs 102 that accept remote control of one or more multimedia features, return a list of programs, and then receive from control UI 109 one or more commands to control one or more features of multimedia component system 103. On receiving the one or more commands, management component 106 remotely controls, via the detected multimedia program 102, the one or more features of the multimedia component system 103 according to the received one or more commands.
FIGS. 2A and 2B depict diagrams of an example computing device, including a universal multimedia control displayed on a display screen for manipulation of multiple active multimedia sources, according to one aspect of the subject technology. A computing device 201 (for example, tablet computer, notebook or personal computer, PDA, a smartphone, GPS navigation device, or television or other display device with one or more computing devices embedded therein or attached thereto) is configured with program code for generating and displaying, on a touch-sensitive display screen 202, a virtual multimedia controller 203. According to the example of FIG. 2A, virtual multimedia controller 103 may be a stand-alone user interface that may be executed independently of other programs. Multimedia controller 203 may be graphically displayed as layered over at least a portion of other graphic user interfaces also displayed on display screen 202. In other examples, depicted by FIG. 2B, multimedia controller 203 may be embedded in, or part of, another program, such as a web browser 204.
According to the subject technology, multimedia controller 203 is provided for user-control of multimedia from multiple compatible software and hardware multimedia sources. Integration and communication between multimedia controller 203 and compatible multimedia sources is implemented as described with respect to FIG. 1. In some implementations, multimedia controller 203 is provided for display by software of multimedia management component 107. In this manner, multimedia controller 203 provides display of detected active multimedia sources, for example, running on computing device 201, or on other devices operably connected to the computer by wired or wireless network connection. On detecting active multimedia sources, the underlying code for multimedia controller 203 or management component 106 verifies that one or more of the multimedia sources accept remote control of respective multimedia levels.
Multimedia controller 203 includes graphically displayed interactive volume controls 205, one for each detected multimedia source. Each volume control 205 remotely controls an audio level for a verified source by graphic manipulation of the volume control. Volume controls 205 may be manipulated to control volume levels by a pointing device, such as a mouse, trackball or similar device. Where display screen 202 is a touch-sensitive display, volume controls 205 may be manipulated by contact with a portion of display screen 202 at a location corresponding to the volume control 205. Additionally, multimedia controller 203 may further determine, from one or more of the detected multimedia sources, respective content information for actively playing multimedia content. Content may include, for example, the name of a song or video being played. Once detected, the content information may be displayed in a content window 206 for a corresponding multimedia source, in connection with a respective volume control 205 for the multimedia source. Multimedia controller 203 is not limited to control of volume levels. Rather, multimedia controller 203 may include other controls, including, for example, a mute control for each multimedia source, tone controls, playlist controls (forward, backward, pause, next or previous song selection), or the like.
FIG. 3 is a flowchart illustrating an example process for detection and control of multimedia applications, according to one aspect of the subject technology. According to some aspects, the blocks of FIG. 3 may be executed by a computing device (for example, tablet computer, a desktop or notebook computer, PDA, smartphone, a television or other display device with one or more computing devices embedded therein or attached thereto, or the like). In this regard, the blocks of FIG. 3 may be performed within the context of operating a web browser provided by the computing device.
In block 301, a display of a graphic multimedia interface is initiated by a user. The multimedia interface provides a plurality of graphically displayed interactive controls for controlling multimedia features of a corresponding plurality of multimedia programs. A multimedia program may comprise a user-facing multimedia application, for example, a stand-alone media player, internet-radio application, a website providing audio content in a web browser, a website providing video content in the web browser, a browser component providing audio content, or a browser component providing video content. The interactive controls may include virtual dials, sliders, or buttons for controlling features such as a volume level, a playback of multimedia content, or a selectable list of available multimedia content.
On initiating the display of the graphic multimedia interface, in block 302, a plurality of multimedia programs available to receive streaming multimedia content from respective remote audio sources are detected by instructions associated with the multimedia interface. Detecting the multimedia programs may include, for example, receiving a plurality of registration requests from the plurality of multimedia programs at registration interface 106. In some aspects, a registration request is a request to add an active multimedia source to a list or group of registered active multimedia sources. On receiving the request, the multimedia source is registered with management component 106 (part of the multimedia subsystem 101). Accordingly, a plurality of active multimedia sources corresponding to the plurality of multimedia programs may be registered and subsequently identified in the list of registered multimedia sources.
In block 303, management component 106 determines that one or more of the plurality of multimedia programs accept remote control of one or more multimedia features. The determination may be made, for example, by virtue of being registered, or may be made by detecting one or more flags set at registration interface 107 for a multimedia program during the registration process. In block 304, the multimedia interface is displayed on a display screen associated with the computing device. The multimedia interface operates independent of the plurality of multimedia programs and includes one or more graphically displayed interactive controls for each determined multimedia program, each interactive control configured to remotely control a multimedia feature by graphic manipulation of the interactive control. In some implementations, the multimedia interface is a stand-alone graphic user interface similar to virtual multimedia controller 203 depicted in FIG. 2A. In other implementations, the multimedia interface is displayed as part of a web browser, similar to virtual multimedia controller 203 depicted in FIG. 2B.
In block 305, a user-initiated manipulation of an interactive control corresponding to a multimedia program is received, and, in block 306, a state of a multimedia feature for the corresponding multimedia program is changed according to the user-initiated manipulation of the interactive control. The state may be changed while keeping a current state of other multimedia features unchanged. In one example, manipulation of an interactive volume control triggers a command to adjust a volume level associated with a corresponding registered multimedia source. Accordingly, the volume level of audio for the registered multimedia source is adjusted while keeping volume level for other registered audio sources unchanged.
FIG. 4 is a diagram illustrating an example server system for detection and control of multimedia applications, including a processor and other internal components, according to one aspect of the subject technology. In some aspects, a computerized device 400 (for example, computing device 201) includes several internal components such as a processor 401, a system bus 402, read-only memory 403, system memory 404, network interface 405, I/O interface 406, and the like. In one aspect, processor 401 may also be communication with a storage medium 407 (for example, a hard drive, database, or data cloud) via I/O interface 406. In some aspects, all of these elements of device 400 may be integrated into a single device. In other aspects, these elements may be configured as separate components.
Processor 401 may be configured to execute code or instructions to perform the operations and functionality described herein, manage request flow and address mappings, and to perform calculations and generate commands. Processor 401 is configured to monitor and control the operation of the components in server 400. The processor may be a general-purpose microprocessor, a microcontroller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a programmable logic device (PLD), a controller, a state machine, gated logic, discrete hardware components, or a combination of the foregoing. One or more sequences of instructions may be stored as firmware on a ROM within processor 401. Likewise, one or more sequences of instructions may be software stored and read from system memory 405, ROM 403, or received from a storage medium 407 (for example, via I/O interface 406). ROM 403, system memory 405, and storage medium 407 represent examples of machine or computer readable media on which instructions/code may be executable by processor 401. Machine or computer readable media may generally refer to any medium or media used to provide instructions to processor 401, including both volatile media, such as dynamic memory used for system memory 404 or for buffers within processor 401, and non-volatile media, such as electronic media, optical media, and magnetic media.
In some aspects, processor 401 is configured to communicate with one or more external devices (for example, via I/O interface 406). Processor 401 is further configured to read data stored in system memory 404 and/or storage medium 407 and to transfer the read data to the one or more external devices in response to a request from the one or more external devices. The read data may include one or more web pages and/or other software presentation to be rendered on the one or more external devices. The one or more external devices may include a computing system such as a personal computer, a server, a workstation, a laptop computer, PDA, smart phone, and the like.
In some aspects, system memory 404 represents volatile memory used to temporarily store data and information used to manage device 400. According to one aspect of the subject technology, system memory 404 is random access memory (RAM) such as double data rate (DDR) RAM. Other types of RAM also may be used to implement system memory 404. Memory 404 may be implemented using a single RAM module or multiple RAM modules. While system memory 404 is depicted as being part of device 400, those skilled in the art will recognize that system memory 404 may be separate from device 400 without departing from the scope of the subject technology. Alternatively, system memory 404 may be a non-volatile memory such as a magnetic disk, flash memory, peripheral SSD, and the like.
I/O interface 406 may be configured to be coupled to one or more external devices, to receive data from the one or more external devices and to send data to the one or more external devices. I/O interface 406 may include both electrical and physical connections for operably coupling I/O interface 406 to processor 401, for example, via the bus 402. I/O interface 406 is configured to communicate data, addresses, and control signals between the internal components attached to bus 402 (for example, processor 401) and one or more external devices (for example, a hard drive). I/O interface 406 may be configured to implement a standard interface, such as Serial-Attached SCSI (SAS), Fiber Channel interface, PCI Express (PCIe), SATA, USB, and the like. I/O interface 406 may be configured to implement only one interface. Alternatively, I/O interface 406 may be configured to implement multiple interfaces, which are individually selectable using a configuration parameter selected by a user or programmed at the time of assembly. I/O interface 406 may include one or more buffers for buffering transmissions between one or more external devices and bus 402 and/or the internal devices operably attached thereto.
Those of skill in the art would appreciate that the various illustrative blocks, modules, elements, components, methods, and algorithms described herein may be implemented as electronic hardware, computer software, or combinations of both. To illustrate this interchangeability of hardware and software, various illustrative blocks, modules, elements, components, methods, and algorithms have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application. Various components and blocks may be arranged differently (e.g., arranged in a different order, or partitioned in a different way) all without departing from the scope of the subject technology.
It is understood that the specific order or hierarchy of steps in the processes disclosed is an illustration of example approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the processes may be rearranged. Some of the steps may be performed simultaneously. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented.
The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. The previous description provides various examples of the subject technology, and the subject technology is not limited to these examples. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” Unless specifically stated otherwise, the term “some” refers to one or more. Pronouns in the masculine (e.g., his) include the feminine and neuter gender (e.g., her and its) and vice versa. Headings and subheadings, if any, are used for convenience only and do not limit the invention.
The predicate words “configured to”, “operable to”, and “programmed to” do not imply any particular tangible or intangible modification of a subject, but, rather, are intended to be used interchangeably. For example, a processor configured to monitor and control an operation or a component may also mean the processor being programmed to monitor and control the operation or the processor being operable to monitor and control the operation. Likewise, a processor configured to execute code can be construed as a processor programmed to execute code or operable to execute code.
A phrase such as an “aspect” does not imply that such aspect is essential to the subject technology or that such aspect applies to all configurations of the subject technology. A disclosure relating to an aspect may apply to all configurations, or one or more configurations. An aspect may provide one or more examples. A phrase such as an aspect may refer to one or more aspects and vice versa. A phrase such as an “embodiment” does not imply that such embodiment is essential to the subject technology or that such embodiment applies to all configurations of the subject technology. A disclosure relating to an embodiment may apply to all embodiments, or one or more embodiments. An embodiment may provide one or more examples. A phrase such as an “embodiment” may refer to one or more embodiments and vice versa. A phrase such as a “configuration” does not imply that such configuration is essential to the subject technology or that such configuration applies to all configurations of the subject technology. A disclosure relating to a configuration may apply to all configurations, or one or more configurations. A configuration may provide one or more examples. A phrase such as a “configuration” may refer to one or more configurations and vice versa.
The word “example” is used herein to mean “serving as an example or illustration.” Any aspect or design described herein as “example” is not necessarily to be construed as preferred or advantageous over other aspects or designs.
All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. §112, sixth paragraph, unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for.” Furthermore, to the extent that the term “include,” “have,” or the like is used in the description or the claims, such term is intended to be inclusive in a manner similar to the term “comprise” as “comprise” is interpreted when employed as a transitional word in a claim.

Claims (24)

What is claimed is:
1. A non-transitory machine-readable medium having machine-executable instructions stored thereon, which when executed by a machine or computer cause the machine or computer to perform a method, comprising:
detecting a plurality of multimedia programs that receive streaming multimedia content from an external location;
determining that two or more of the plurality of multimedia programs accept being controlled remotely to adjust one or more multimedia features of the two or more multimedia programs, the one or more multimedia features including a playback of multimedia content; and
providing a graphic multimedia interface for display on a computing device, including one or more graphically displayed interactive controls for each multimedia program determined to accept being controlled remotely,
wherein the graphic multimedia interface is configured to, on a user manipulation of an interactive control, remotely control a multimedia program associated with the manipulated interactive control by sending one or more messages to the multimedia program to adjust one or more multimedia features of the multimedia program.
2. The machine-readable medium of claim 1, wherein detecting the plurality of multimedia programs comprises:
receiving a plurality of registration requests from the plurality of multimedia programs, each registration request facilitating an addition of an active multimedia source to a list of registered active multimedia sources;
registering a plurality of active multimedia sources corresponding to the plurality of multimedia programs; and
identifying the plurality of active multimedia sources in the list of registered multimedia sources.
3. The machine-readable medium of claim 2, the method further comprising:
receiving, from the multimedia interface, a command to adjust a volume level associated with a respective registered active multimedia source; and
adjusting the volume level of audio for the respective registered active multimedia source while keeping volume level for other registered active multimedia sources unchanged.
4. The machine-readable medium of claim 1, the method further comprising:
determining, from two or more of the detected multimedia programs, content information provided by the two or more of the detected multimedia programs; and
providing the content information for display in connection with interactive controls associated with the two or more of the detected multimedia programs.
5. The machine-readable medium of claim 1, the method further comprising:
receiving, at a multimedia subsystem executing on the computing device, streaming multimedia content from a detected multimedia program, the detected multimedia program receiving the streaming multimedia content from a multimedia component system located remote from the computing device.
6. The machine-readable medium of claim 5, the method further comprising:
receiving, from the multimedia interface, one or more commands to control one or more features of the multimedia component system; and
on receiving the one or more commands, remotely controlling, via the detected multimedia program, the one or more features of the multimedia component system according to the received one or more commands.
7. The machine-readable medium of claim 1, the method further comprising:
receiving, at a multimedia subsystem executing on the computing device, streaming multimedia content from a detected multimedia program, the detected multimedia program being a user-facing multimedia application executing independent of the multimedia subsystem.
8. The machine-readable medium of claim 7, wherein the user-facing multimedia application is one of a stand-alone media player, internet-radio application, a website providing audio content in a web browser, a website providing video content in the web browser, a browser component providing audio content, and a browser component providing video content.
9. The machine-readable medium of claim 1, wherein the plurality of multimedia programs comprise one or more native applications and one or more web applications.
10. The machine-readable medium of claim 1, wherein the two or more of the plurality of multimedia programs are determined to accept remote control of one or more multimedia features by querying an interface provided by an application programming interface (API) framework.
11. The machine-readable medium of claim 1, wherein the one or more interactive controls include a volume control, the multimedia interface being configured to remotely control a volume level associated with streaming multimedia content provided by a multimedia program by graphic manipulation of the volume control.
12. The machine-readable medium of claim 1, wherein the one or more multimedia features comprise one of a volume level, a playback of multimedia content, and a selectable list of available multimedia content.
13. A computer-implemented method, comprising:
initiating, at a computing device, a display of a graphic multimedia interface;
determining, on initiating the display of the multimedia interface, a plurality of multimedia programs available to receive streaming multimedia content from respective remote audio sources; and
providing the multimedia interface for display on a display screen associated with the computing device, the multimedia interface operating independent of the plurality of multimedia programs,
wherein the multimedia interface includes a plurality of graphically displayed interactive controls for remotely controlling the plurality of multimedia programs and to control one or more multimedia features of the plurality of multimedia programs by providing one or more messages to the plurality of multimedia programs, the one or more multimedia features including a playback of multimedia content.
14. The computer-implemented method of claim 13, wherein determining the plurality of multimedia programs comprises:
receiving a plurality of registration requests from the plurality of multimedia programs, a registration request for adding an active multimedia source to a group of registered active multimedia sources;
registering a plurality of active multimedia sources corresponding to the plurality of multimedia programs; and
identifying the plurality of active multimedia sources from the group of registered active multimedia sources.
15. The computer-implemented method of claim 13, further comprising:
receiving a user-initiated manipulation of an interactive control corresponding to a multimedia program; and
changing a state of a multimedia feature for the corresponding multimedia program according to the manipulation of the interactive control while keeping a current state of other multimedia features for other multimedia programs unchanged.
16. The computer-implemented method of claim 15, wherein the interactive control is a volume control, the multimedia interface being configured to remotely control a volume level associated with streaming multimedia content by graphic manipulation of the volume control.
17. The computer-implemented method of claim 13, further comprising:
determining content information for an audio source corresponding to one of the plurality of multimedia programs; and
providing the content information for display in connection with an interactive control for a multimedia program associated with the audio source.
18. The computer-implemented method of claim 17, wherein the content information is a title or description associated with audio data received from the audio source.
19. The computer-implemented method of claim 13, the method further comprising:
receiving, at a multimedia subsystem executing on the computing device, streaming multimedia content from a multimedia program, the multimedia program receiving the multimedia data from a multimedia component system located remote from the computing device.
20. The computer-implemented method of claim 13, the method further comprising:
receiving, at a multimedia subsystem executing on the computing device, streaming multimedia content from a multimedia program, the multimedia program being a user-facing multimedia application executing independent of the multimedia subsystem.
21. The computer-implemented method of claim 20, wherein the user-facing multimedia application is one of a stand-alone media player, internet-radio application, a website providing audio content in a web browser, a website providing video content in the web browser, a browser component providing audio content, and a browser component providing video content.
22. The computer-implemented method of claim 13, wherein the plurality of multimedia programs comprise one or more native applications and one or more web applications.
23. The computer-implemented method of claim 13, wherein the one or more of the plurality of multimedia programs are determined to accept remote control of one or more multimedia features by querying an interface provided by an application programming interface (API) framework.
24. A system, comprising:
a display screen;
a processor; and
a memory including instructions that, when executed by the processor, causes the processor to:
initiate a display of a graphic multimedia interface;
determine, on initiating the display, a plurality of multimedia programs available to receive streaming multimedia content from respective remote audio sources, the multimedia programs comprising one or more native applications and one or more web applications;
provide the multimedia interface for display on the display screen, the multimedia interface operating independent of the plurality of multimedia programs and including one or more graphically displayed interactive controls for each of the determined plurality of multimedia programs, each interactive control configured to remotely control one of the determined plurality of multimedia programs by graphic manipulation of the interactive control to adjust one or more multimedia features, the one or more multimedia features including a playback of multimedia content;
receive a user-initiated manipulation of an interactive control corresponding to a multimedia program; and
change a state of a multimedia feature for the corresponding multimedia program according to the user-initiated manipulation of the interactive control while keeping a current state of other multimedia features for other multimedia programs unchanged.
US13/753,440 2013-01-29 2013-01-29 Detection and control of multimedia applications Active 2034-03-07 US9395871B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/753,440 US9395871B2 (en) 2013-01-29 2013-01-29 Detection and control of multimedia applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/753,440 US9395871B2 (en) 2013-01-29 2013-01-29 Detection and control of multimedia applications

Publications (2)

Publication Number Publication Date
US20150253936A1 US20150253936A1 (en) 2015-09-10
US9395871B2 true US9395871B2 (en) 2016-07-19

Family

ID=54017376

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/753,440 Active 2034-03-07 US9395871B2 (en) 2013-01-29 2013-01-29 Detection and control of multimedia applications

Country Status (1)

Country Link
US (1) US9395871B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170192746A1 (en) * 2016-01-05 2017-07-06 Samsung Electronics Co., Ltd. Method for outputting sound and electronic device supporting the same
US11113022B2 (en) * 2015-05-12 2021-09-07 D&M Holdings, Inc. Method, system and interface for controlling a subwoofer in a networked audio system
US11210056B2 (en) 2019-04-25 2021-12-28 Samsung Electronics Co., Ltd. Electronic device and method of controlling thereof
US11209972B2 (en) 2015-09-02 2021-12-28 D&M Holdings, Inc. Combined tablet screen drag-and-drop interface

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9431983B2 (en) * 2013-06-17 2016-08-30 Tencent Technology (Shenzhen) Company Limited Volume adjusting method, volume adjusting apparatus and electronic device using the same
CN108920060A (en) * 2018-07-06 2018-11-30 北京微播视界科技有限公司 Display methods, device, terminal device and the storage medium of volume
WO2022261897A1 (en) * 2021-06-17 2022-12-22 深圳传音控股股份有限公司 Processing method, and mobile terminal and storage medium

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040102861A1 (en) * 2002-11-27 2004-05-27 Samsung Electronics Co., Ltd. Computer system and method controlling audio signal outputs of application programs
US20040201608A1 (en) * 2003-04-09 2004-10-14 Ma Tsang Fai System for displaying video and method thereof
US20050043831A1 (en) * 2003-08-19 2005-02-24 Microsoft Corporation System and method for implementing a flat audio volume control model
US20060210097A1 (en) * 2005-03-18 2006-09-21 Microsoft Corporation Audio submix management
US20060248557A1 (en) * 2005-04-01 2006-11-02 Vulcan Inc. Interface for controlling device groups
US20060285701A1 (en) * 2005-06-16 2006-12-21 Chumbley Robert B System and method for OS control of application access to audio hardware
US20070244586A1 (en) * 2006-04-13 2007-10-18 International Business Machines Corporation Selective muting of applications
US20090182889A1 (en) * 2008-01-15 2009-07-16 Move Networks, Inc. System and method of managing multiple video players
US7571014B1 (en) * 2004-04-01 2009-08-04 Sonos, Inc. Method and apparatus for controlling multimedia players in a multi-zone system
US20100235765A1 (en) * 2008-10-14 2010-09-16 I-Fax.Com Inc. DOM Based Media Viewer
US20110113337A1 (en) * 2009-10-13 2011-05-12 Google Inc. Individualized tab audio controls
US20110191677A1 (en) * 2010-01-29 2011-08-04 Robert Paul Morris Methods, systems, and computer program products for controlling play of media streams
US20120110452A1 (en) * 2010-10-29 2012-05-03 Nokia Corporation Software application output volume control
US20120266071A1 (en) * 2011-04-13 2012-10-18 Google Inc. Audio control of multimedia objects
US20130080955A1 (en) * 2011-09-28 2013-03-28 Robert Reimann Methods and apparatus to manage zones of a multi-zone media playback system
US20140109003A1 (en) * 2012-10-11 2014-04-17 Appsense Limited System and method for selectively muting computer applications

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040102861A1 (en) * 2002-11-27 2004-05-27 Samsung Electronics Co., Ltd. Computer system and method controlling audio signal outputs of application programs
US20040201608A1 (en) * 2003-04-09 2004-10-14 Ma Tsang Fai System for displaying video and method thereof
US20050043831A1 (en) * 2003-08-19 2005-02-24 Microsoft Corporation System and method for implementing a flat audio volume control model
US7571014B1 (en) * 2004-04-01 2009-08-04 Sonos, Inc. Method and apparatus for controlling multimedia players in a multi-zone system
US20060210097A1 (en) * 2005-03-18 2006-09-21 Microsoft Corporation Audio submix management
US20060248557A1 (en) * 2005-04-01 2006-11-02 Vulcan Inc. Interface for controlling device groups
US20060285701A1 (en) * 2005-06-16 2006-12-21 Chumbley Robert B System and method for OS control of application access to audio hardware
US20070244586A1 (en) * 2006-04-13 2007-10-18 International Business Machines Corporation Selective muting of applications
US20090182889A1 (en) * 2008-01-15 2009-07-16 Move Networks, Inc. System and method of managing multiple video players
US20100235765A1 (en) * 2008-10-14 2010-09-16 I-Fax.Com Inc. DOM Based Media Viewer
US20110113337A1 (en) * 2009-10-13 2011-05-12 Google Inc. Individualized tab audio controls
US20110191677A1 (en) * 2010-01-29 2011-08-04 Robert Paul Morris Methods, systems, and computer program products for controlling play of media streams
US20120110452A1 (en) * 2010-10-29 2012-05-03 Nokia Corporation Software application output volume control
US20120266071A1 (en) * 2011-04-13 2012-10-18 Google Inc. Audio control of multimedia objects
US20130080955A1 (en) * 2011-09-28 2013-03-28 Robert Reimann Methods and apparatus to manage zones of a multi-zone media playback system
US20140109003A1 (en) * 2012-10-11 2014-04-17 Appsense Limited System and method for selectively muting computer applications

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Baudisch, Patrick et al., "Flat Volume Control: Improving Usability by Hiding the Volume Control Hierarchy in the User Interface," CHI 2004, pp. 255-262, 2004. *
Richards, T.N., "Audio Mixer and Master Volume Control with Automatic Configuration," IBM Technical Disclosure Bulletin, vol. 37, No. 1, pp. 485-486, Jan. 1, 1994, retrieved from IP.com on Feb. 22, 2015. *
Thomas, "Set individual Sound Volume for programs in Windows 7 [Quick Tip]," originally published on Nov. 25, 2011, at http://mintywhite.com/windows-7/set-individual-sound-volume-programs-windows-7, archived on Dec. 30, 2011, and retrieved from www.archive.org on Feb. 4, 2015, 3 pages. *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113022B2 (en) * 2015-05-12 2021-09-07 D&M Holdings, Inc. Method, system and interface for controlling a subwoofer in a networked audio system
US11209972B2 (en) 2015-09-02 2021-12-28 D&M Holdings, Inc. Combined tablet screen drag-and-drop interface
US20170192746A1 (en) * 2016-01-05 2017-07-06 Samsung Electronics Co., Ltd. Method for outputting sound and electronic device supporting the same
US11210056B2 (en) 2019-04-25 2021-12-28 Samsung Electronics Co., Ltd. Electronic device and method of controlling thereof

Also Published As

Publication number Publication date
US20150253936A1 (en) 2015-09-10

Similar Documents

Publication Publication Date Title
US9395871B2 (en) Detection and control of multimedia applications
US20220124138A1 (en) Methods, systems, and media for presenting content based on user preferences of multiple users in the presence of a media presentation device
US10748531B2 (en) Management layer for multiple intelligent personal assistant services
US11902286B2 (en) Dynamic control of playlists
EP3338425B1 (en) Media content migration based on user location
US10440075B2 (en) Systems and methods for multi-context media control and playback
US10469624B2 (en) User interface control in a networked audio system
KR102060676B1 (en) Transferring application state between devices
US8959438B2 (en) Media control pane in browser
EP3255889A1 (en) System and method for testing and certification of media devices for use within a connected media environment
CN110019934B (en) Identifying relevance of video
US10484821B2 (en) System and method for requesting an updated user location
US9201563B2 (en) Mobile device friendly window management for remote desktop
US10148900B2 (en) Controlling one or more source terminals based on remote control information
CN108924633B (en) Video playing rate control method, device, system and storage medium
US11435892B2 (en) System and method for enabling interaction with an electronic device
US10585695B2 (en) Dynamic time-based sequencing
US20200183845A1 (en) Systems and methods for prefetching content items
US20160191433A1 (en) Servers, server control methods and non-transitory computer-readable mediums
WO2016112791A1 (en) Method and device for displaying interface of application program on mobile terminal
US20160379636A1 (en) System and method for handling a spoken user request
US10140083B1 (en) Platform for tailoring media to environment factors and user preferences
US20150363837A1 (en) Methods, systems, and media for presenting advertisements during background presentation of media content
US10001916B2 (en) Directional interface for streaming mobile device content to a nearby streaming device
CA3177065A1 (en) Systems and methods for customizing media player playback speed

Legal Events

Date Code Title Description
AS Assignment

Owner name: GOOGLE INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MARRA, GREGORY MATTHEW;WALD, GIDEON;CUSHING, KATHRYN;AND OTHERS;SIGNING DATES FROM 20130117 TO 20130125;REEL/FRAME:029759/0154

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: GOOGLE LLC, CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044566/0657

Effective date: 20170929

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8