US20120209413A1 - Background Audio on Mobile Devices - Google Patents
Background Audio on Mobile Devices Download PDFInfo
- Publication number
- US20120209413A1 US20120209413A1 US13/162,459 US201113162459A US2012209413A1 US 20120209413 A1 US20120209413 A1 US 20120209413A1 US 201113162459 A US201113162459 A US 201113162459A US 2012209413 A1 US2012209413 A1 US 2012209413A1
- Authority
- US
- United States
- Prior art keywords
- audio
- application
- media service
- track
- agent
- 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.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0261—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
- H04W52/0264—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by selectively disabling software applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4126—The peripheral being portable, e.g. PDAs or mobile phones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/6156—Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
- H04N21/6175—Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/60—Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Definitions
- Contemporary mobile devices are used for many types of user applications, including running interactive applications and listening to music or other audio (e.g., broadcasts).
- Audio output is generally something a user often wants to have performed in the background, e.g., after setting up a playlist or other audio content, the user wants to be able to listen to the audio while still being able to use the device features and/or perform other foreground tasks.
- first party application as the background audio program
- first party generally refers to trusted code such as provided by the operating system vendor
- third party refers to applications from vendors, regardless of their source or trustworthiness
- various aspects of the subject matter described herein are directed towards a technology by which a media service plays audio in a background process on a mobile device, as initially directed by a foreground (e.g., third party) application.
- the application when in the foreground, communicates via an interface with the media service, including to provide information to the media service that corresponds to audio data (e.g., an audio track) to play.
- the media service plays the audio, and acts upon requests directed towards the audio playback as the media service plays the background audio.
- the requests directed towards the audio playback may correspond to user actions, such as play, pause, skip, stop, skip next, skip previous, seek, fast forward, rewind, rating-related actions, shuffle and/or repeat requests.
- the requests directed towards the audio playback may be to provide state information, such as playing, paused, stopped, fast forwarding, rewinding, buffering started, buffering stopped, track ready and/or track ended state.
- the media service operates to launch an agent that provides the requests directed towards the audio playback.
- the foreground application may be deactivated, with the media service continuing the audio playback in the background.
- the media service may cause the agent to be re-launched as needed to obtain additional audio information, e.g., more tracks to play.
- a universal volume control (e.g., system) component provides requests directed towards the audio playback.
- the application when in the foreground
- the media service provides information that may be presented on a user interface of the universal volume control component, e.g., text (title, artist), images and so forth, such as obtained from the application and/or agent.
- a source agent may be configured to output audio data that the media service processes into the audio playback.
- the source agent may use a (e.g., custom) codec, decryption mechanism, decompression mechanism, and/or a proprietary protocol to provide the audio data.
- the source agent may output the audio data to a shared memory for processing by the media service.
- the information that corresponds to the audio data to play may be associated with a control flag that indicates via attribute settings whether the media service is allowed to take a particular action with respect to the audio playback.
- the flag may include attributes that allow/deny skip next, skip previous, fast forward, pause, and/or rewind actions for any media item that is playing or queued to be played.
- FIG. 1 is a block diagram representing example components for playing background audio, including when an audio playback application is deactivated from the foreground.
- FIG. 2 is a block/control flow diagram representing example components for playing background audio, including when the audio is originally in a non-native audio format.
- FIG. 3 is a block/control flow diagram representing example operations to prepare for and play background audio.
- FIG. 4 is a block/data flow diagram representing example data that may be communicated to prepare for and play background audio.
- FIG. 5 is a block diagram representing an exemplary non-limiting computing system or operating environment, e.g., in the example of a mobile phone device, in which one or more aspects of various embodiments described herein can be implemented.
- a mobile device or the like includes a background audio service.
- an application e.g., third party application
- a media service which performs the playback.
- any of the examples herein are non-limiting. As such, the present invention is not limited to any particular embodiments, aspects, concepts, structures, functionalities or examples described herein. Rather, any of the embodiments, aspects, concepts, structures, functionalities or examples described herein are non-limiting, and the present invention may be used various ways that provide benefits and advantages in computing and mobile devices in general.
- FIG. 1 is a block diagram showing various components in one example implementation.
- a media service 102 plays back audio tracks as directed by a third party application 104 in conjunction with a player agent 106 (e.g., a “headless host” having no user interface) as described below.
- a player agent 106 e.g., a “headless host” having no user interface
- Communication between the application 104 and/or player agent 106 and the media service 102 is via a background audio service 108 (BackgroundAudioPlayer) that includes an API set.
- BackgroundAudioPlayer BackgroundAudioPlayer
- the background audio service 108 supports basic playback and a custom codec mode.
- the playback mode can help the device save battery, and makes coding of the application relatively simple.
- an application can perform more powerful operations, such as support proprietary DRM (digital rights management) or proprietary codecs.
- the application 104 calls into the background audio service 108 with a request to play audio.
- the media service 102 is notified, which in turn communicates with an application instance manager 110 (a system service) to launch the player agent 106 .
- the communication between the media service 102 and the application instance manager 110 requests that resources be reserved for the agent 106 , and notifies the application instance manager 110 that the player agent 106 is a time-critical resource (so that in typical operating circumstances, the resource is not subject to interruptions that if present provide a poor user experience).
- the player agent 106 is independent of the application 104 , as either one may remain operational while the other is not, both may operate at the same time, or neither may be operational at a given time.
- the player agent 106 makes the actual playback requests and other playback-related requests (e.g., skip, rewind and so forth) on behalf of the application 104 .
- This allows the application 104 to be removed from the foreground and so forth.
- the requests may be shared between the agent and application, with the application choosing which requests it keeps for itself, and which are delegated to the agent, for example. Note that having a player agent be responsible for handling requests provides an advantage in the requests may originate via the application or other system services, and thus there are no conflicts, and the user may use the system even after the application has been terminated or otherwise deactivated.
- the media service 102 via a media service proxy/translator 112 notifies the application instance manager 110 on various events, such as on a user action and any play state change; (note that the media service proxy/translator 112 alternatively may be incorporated into the media service 102 ).
- Example user actions include play, pause, skip, stop, skip next, skip previous, seek, fast forward, rewind, rating-related actions, shuffle and/or repeat.
- Example play states include playing, paused, stopped, fast forwarding, rewinding, buffering started, buffering stopped, track ready and/or track ended.
- the media service 102 instructs the application instance manager 110 to re-launch the player agent 106 if needed; note that this allows the application instance manager 110 to leave the player agent 106 in memory if desired, to put the player agent 106 into a dormant state (retained in memory but unable to run code until activated), or fully terminate the player agent 106 and re-launch an instance as needed.
- the media service and the player agent 106 may communicate (via the background audio service 108 ) to perform further actions, such as to request a next track, notify the agent that the user has performed some action related to audio, e.g., by interfacing with the application 104 or a system-provided UVC (universal volume control) 114 , and so forth.
- UVC universal volume control
- FIG. 1 Also shown in FIG. 1 is background audio support/integration with existing and future operating system user experiences, including UVC (universal volume control) 114 integration, a native first party player 116 (Zune®) experience, and integration with a program 118 via an XNA/SilverlightTM environment 120 .
- UVC universal volume control
- Zune® native first party player
- XNA and Silverlight® may use a native playback API to perform audio playback, and media service playback coordinates the request from Silverlight® and XNA.
- This design enables application to use both XNA and Silverlight® code in one process.
- Other aspects include a “Nowplaying” token, phone call interruption, and others.
- the mobile device may output the audio in any suitable form.
- the mobile device may output the audio via internal speakers, via a headphone jack to a headset, via wireless or wired communication to another device (e.g., over Wi-Fi to an external sound system), and the like.
- the media service 102 may be considered as providing input source information to a sink.
- FIG. 2 is a block diagram showing an alternative configuration, including a control agent 206 and a source agent 222 .
- the control agent is similar to the player agent and is not described again.
- the source agent comprises a code/logic that is configured to support a non-natively supported media format, such as streamed or progressively downloaded from an associated source.
- the source agent 222 may be provided by an internet audio service, music service or the like, and in general is configured to handle decryption of encrypted content, decompression of compressed content, decoding of custom encoding formats, custom protocols, and so forth.
- a source agent may handle one or more such custom formats and the like.
- the source agent 222 is needed to remain operational to provide the properly formatted content, and thus is not deactivated by the application instance manager (except possibly under extraordinary circumstances).
- an application 204 makes a request via the background audio service API to the media service 102 to play content, as represented by the arrows labeled ( 1 a ) and ( 1 b ) in FIG. 2 .
- the media service 102 communicates with the application instance manager (the arrow labeled ( 2 )), including to reserve resources and launch a control agent 206 , similar to as described in FIG. 1 (but without a proxy/translator shown).
- the control agent 206 is launched as represented by the arrow labeled ( 3 ).
- the control agent 206 When launched, the control agent 206 makes requests to the media service 102 (arrow ( 4 )), including a request for a particular source agent 222 .
- the source agent may have been previous loaded into the device and maintained thereon, or downloaded on demand.
- the application instance manager launches the source agent 222 .
- the source agent 222 requests that the media service play a track (arrows ( 7 a ) and ( 7 b )), informing the media service 102 that the source agent 222 will provide (e.g., stream) the properly formatted content.
- the source agent responds to the control agent 206 that the track is ready (arrows ( 8 a ) and ( 8 b ).
- the source agent 222 provides the properly formatted audio content (arrows ( 9 a ) and ( 9 b ) to a playing component of the media service 102 , (DShow 226 , incorporated into or coupled to the media service 102 ).
- the audio content is buffered via a shared memory 228 , which is efficient as further data transfer/copying is avoided.
- the application 104 may implement a playback experience by sending a track (e.g., a uniform resource identifier/URI or such as an HTTP URL) to the service 102 and asking the service 102 to play it.
- a track e.g., a uniform resource identifier/URI or such as an HTTP URL
- the service 102 is responsible for parts of playback (reading/downloading/streaming content, parsing container formats, content decryption, audio stream decoding, and so forth).
- the application 204 in conjunction with the source agent 222 acquires the content via any arbitrary mechanism (such as downloading, streaming, reading from a local store, or dynamic generation such as for text-to-speech) and performs arbitrary processing as needed, such as decryption or decoding, before passing it to the native service.
- any arbitrary mechanism such as downloading, streaming, reading from a local store, or dynamic generation such as for text-to-speech
- arbitrary processing such as decryption or decoding
- the device system provides a UVC 114 control/user interface by which the user is able to control audio playback independent of the application 104 or 204 .
- the user presses a hardware button to bring up the UVC 114 control/user interface.
- the application may disable, limit or otherwise integrate with the UVC, such as to show its controls instead of or in addition to the UVC's controls, add text or images (e.g., album art) to the UVC user interface, and so forth.
- the background audio service API 108 enables an application to implement its own logic when it receives user interaction. User interactions with the UVC system user experience (such as skipping a track) are handled by the application. Applications have the opportunity to disable/enable the UVC playback control button, and/or change song metadata such as title, artist, and album art.
- the media service 102 sends notifications to application foreground code, first party background code 116 and the UVC 114 when the playback state changes or other pertinent events occur to ensure the components have the correct metadata and playback status.
- the application is able to query the background service.
- This notification design enables applications, the UVC 114 , and the first party player 116 to obtain correct playback status and metadata, without introducing significant, unnecessary cross-process traffic.
- the user may interface with the audio via the UVC 114 .
- the user may increase or decrease the volume, pause the track, skip the track and so forth.
- the media service 102 is instructed by the agent (or application) via a “Nowplaying” token or the like as to what may be displayed on the UVC user interface, e.g., text (title, artist, album name and/or the like), an image, a logo, and so forth.
- the UVC 114 communicates (e.g., directly) with the media service 102 , including to subscribe to status changes (e.g., playback changes, such as play/pause/stopped play states as well as item changed (track switching) notifications, whereby UVC pulls the relevant data, such as title/artist/album from media services for display) and the like.
- status changes e.g., playback changes, such as play/pause/stopped play states as well as item changed (track switching) notifications
- UVC pulls the relevant data, such as title/artist/album from media services for display
- the application/agent the media service has information on what is playing now, and when the track changes, will instruct the UVC 114 to update the title (new track name). If the media service queues multiple tracks, the application/agent need not be involved until the queue needs to be updated/changed.
- the application/agent may send a playlist of multiple tracks. This may be more efficient, to avoid communicating with (including possibly launching) the agent for each new track.
- each media item (e.g., audio track) is associated with attributes in a media control flag that the application/agent may set, and which control what the UVC 114 is able to do with respect to a track.
- the application may specify that a track (such as an advertisement, for example) cannot be skipped.
- Another application may let a user skip some limited number of tracks before having to listen to one fully, before again allowing skipping.
- the media control flag includes attributes to allow/deny skip next, skip previous, fast forward, pause, and rewind.
- the media service when there is incoming call, the media service is notified.
- the background music volume is decreased, and a ringtone sound is audibly mixed with the background music.
- a user may configure the relative volume levels. If user presses ‘ignore’, the ringtone stops and the background audio will continue playing, e.g., at its previous volume level. If a user answers, the audio is paused (if allowed by the media control flag, or silenced if not, for example). Thus, the mixed audio output signal and ringtone continues until the call attempt ends in some way, e.g., is ignored (by explicit user action or until the call attempt terminates) or is answered (by the user or automatically). When a user-answered call ends, the audio resumes playing.
- FIGS. 3 and 4 along with the following brief scenarios illustrate how third party applications can use the managed background audio playback API.
- HTTP URLs are the URI of choice in the following examples.
- FIGS. 3 and 4 show basic building blocks and a data/control flow of a scenario for media playback.
- the application 304 and agent 306 have their own isolated storage 330
- the media service has its own data store 332 , which may include a queue.
- the following labeled steps correspond to the circled numerals in FIG. 3 :
- Application creates service request (“play this track and call me back when you need the next one”)
- Service asks system to call the agent to get the next track
- Agent performs logic and provides the next track information
- the application 304 operates to contact its servers on the web 334 . This typically includes authenticating the user and retrieving any user data. For this example, assume the content to be played is represented by an HTTP URL that points to some server. When the application 304 decides that it is time to begin playing music, the application may perform the following example steps:
- the background service 108 calls the media service 102 to create a queue for the application 304 . This call creates the queue if one does not already exist for this application.
- the application 304 checks to see if the background audio service 108 has a current track. (For this example, assume there is not already a queue)
- the application 304 performs its operations to get a track from the server (which may include authenticating the user, and so forth).
- the application 304 creates an AudioTrack object (or other suitable data structure), passing in the URL, track name, and any other metadata as desired.
- the application 304 passes the new AudioTrack object to the background audio service 108 via an appropriate function call.
- the background audio service 108 creates a new media item via an appropriate function call.
- the background audio service 108 queries the given AudioTrack for the URI which it sets on the item.
- the background audio service 108 adds the track to the media service/queue.
- the application calls the play function of the background audio service 108 .
- the background audio service 108 initiates playback by calling the media service.
- the application receives events it is interested in.
- the application destroys its background audio service 108 object, and the media service continues to play the track.
- Resuming playback is another scenario.
- a user may tap on the power button to turn the screen on. Without unlocking the phone the user may push the volume up key to bring up the UVC, and taps the play button and the station corresponding to the application starts playing again, e.g., the same song where it was stopped earlier.
- the following is an example:
- the agent receives an “OnUserAction callback.” This callback's parameters provide a reference to the current track, with the action being “Play”. Assume that there is no current track because the queue was destroyed at some point.
- the agent notices that there is no current track, whereby the agent goes to its persistent store to read in the title, source, and position of the last track it played.
- the agent creates a new AudioTrack and sets the metadata accordingly.
- the agent sets where the audio is to resume by calling a “progress” function of the background audio service 108 , e.g., “BackgroundAudioPlayer.Progress.”
- the agent passes the new AudioTrack object to the BackgroundAudioPlayer.
- the agent calls background audio service 108 .
- Resuming applications (get queue state) is another example, where a user decides to double-check a song title that he or she cannot remember via the application.
- the user unlocks the device, navigates to the application list, and taps on the application icon.
- the application launches and displays the currently playing artist and the current song playback time counter.
- An “Events” label may be selected, which for example shows that a concert with the artist is upcoming. The following is an example:
- the application creates an instance of the background audio service 108 .
- the background audio service 108 checks with the media service to see if there is already an application queue.
- the media service reports that there is a background queue for this application.
- the background audio service 108 retrieves the media item value for the currently playing track and creates a new AudioTrack object that contains the media item value.
- the application checks to see if there is a current track, which in this example there is.
- the application gets the current track and queries for the title.
- the AudioTrack object reaches the media service and obtains the available metadata. Then it returns the title.
- the application calls a function (BackgroundAudioPlayer.PlayState) to get the current play state (Playing).
- the application calls a function (AudioTrack.Duration) to get the track's duration.
- the application calls a function (BackgroundAudioPlayer.Progress) to get the current position.
- the application updates its UI with this information.
- Switching playback between applications also may be performed. While a song/station is still playing via the previous application, the user may navigate into the first party media player (e.g., Zune®) application, for example, and taps on podcasts. The user taps the play button next to a new episode, causing the previous station to automatically stop playing and the new podcast playback to start. The podcast plays for a while, until the user decides to tune into other radio content. While the previous podcast is still playing, the user navigates to the application list and launches a different application, where the user finds a desired radio station and taps the play icon. The podcast automatically stops playing and the user now hears the desired radio station.
- the original background audio agent receives the save-related (On PlayStateChanged/Shutdown) callback.
- the original background audio agent grabs the current track from the given background audio service instance and saves off the title, source, current position, and so forth. It saves these values in its isolated storage 330 .
- the original background audio agent calls a function of the background audio service (BackgroundAudioPlayer.Close) which instructs the media service to delete the application's queue. Note that in the event that the original background audio playback was stopped due to the user playing a different media, the media service frees up the resource for the original application/agents as part of the Shutdown.
- BackgroundAudioPlayer.Close a function of the background audio service
- Playlist control is yet another desirable feature.
- a user begins streaming music, and then goes into a Games hub to select a game, for example. After a few minutes of playing the game, an undesirable song is played; while in the gaming application, the user taps the volume up button making the UVC controls appear. The user may then tap the skip icon to move onto another song.
- the audio background agent's OnUserAction callback is fired.
- the UserAction enumeration is set to SkipNext.
- the audio background agent calls an internal method or the like that determines that the user is allowed to skip the current track (e.g., based on the company's business model/rules).
- the audio background agent queries the web servers for the URL of the next track to play.
- the audio background agent creates a new AudioTrack object and sets the URL and other pertinent metadata.
- the audio background agent uses the background audio service's object that was also passed in as one of OnUserAction's parameters to set the new AudioTrack as the new current track. This action causes the currently playing track to stop.
- the audio background agent calls Play to begin playing the new track.
- FIG. 5 illustrates an example of a suitable mobile device 500 on which aspects of the subject matter described herein may be implemented.
- the mobile device 500 is only one example of a device and is not intended to suggest any limitation as to the scope of use or functionality of aspects of the subject matter described herein. Neither should the mobile device 500 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary mobile device 500 .
- an exemplary device for implementing aspects of the subject matter described herein includes a mobile device 500 .
- the mobile device 500 comprises a cell phone, a handheld device that allows voice communications with others, some other voice communications device, or the like.
- the mobile device 500 may be equipped with a camera for taking pictures, although this may not be required in other embodiments.
- the mobile device 500 may comprise a personal digital assistant (PDA), hand-held gaming device, notebook computer, printer, appliance including a set-top, media center, or other appliance, other mobile devices, or the like.
- PDA personal digital assistant
- the mobile device 500 may comprise devices that are generally considered non-mobile such as personal computers, servers, or the like.
- Components of the mobile device 500 may include, but are not limited to, a processing unit 505 , system memory 510 , and a bus 515 that couples various system components including the system memory 510 to the processing unit 505 .
- the bus 515 may include any of several types of bus structures including a memory bus, memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures, and the like.
- the bus 515 allows data to be transmitted between various components of the mobile device 500 .
- the mobile device 500 may include a variety of computer-readable media.
- Computer-readable media can be any available media that can be accessed by the mobile device 500 and includes both volatile and nonvolatile media, and removable and non-removable media.
- Computer-readable media may comprise computer storage media and communication media.
- Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data.
- Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the mobile device 500 .
- Communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
- modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
- communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, Bluetooth®, Wireless USB, infrared, WiFi, WiMAX, and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
- the system memory 510 includes computer storage media in the form of volatile and/or nonvolatile memory and may include read only memory (ROM) and random access memory (RAM).
- ROM read only memory
- RAM random access memory
- operating system code 520 is sometimes included in ROM although, in other embodiments, this is not required.
- application programs 525 are often placed in RAM although again, in other embodiments, application programs may be placed in ROM or in other computer-readable memory.
- the heap 530 provides memory for state associated with the operating system 520 and the application programs 525 .
- the operating system 520 and application programs 525 may store variables and data structures in the heap 530 during their operations.
- the mobile device 500 may also include other removable/non-removable, volatile/nonvolatile memory.
- FIG. 5 illustrates a flash card 535 , a hard disk drive 536 , and a memory stick 537 .
- the hard disk drive 536 may be miniaturized to fit in a memory slot, for example.
- the mobile device 500 may interface with these types of non-volatile removable memory via a removable memory interface 531 , or may be connected via a universal serial bus (USB), IEEE 5394, one or more of the wired port(s) 540 , or antenna(s) 565 .
- the removable memory devices 535 - 537 may interface with the mobile device via the communications module(s) 532 .
- not all of these types of memory may be included on a single mobile device.
- one or more of these and other types of removable memory may be included on a single mobile device.
- the hard disk drive 536 may be connected in such a way as to be more permanently attached to the mobile device 500 .
- the hard disk drive 536 may be connected to an interface such as parallel advanced technology attachment (PATA), serial advanced technology attachment (SATA) or otherwise, which may be connected to the bus 515 .
- PATA parallel advanced technology attachment
- SATA serial advanced technology attachment
- removing the hard drive may involve removing a cover of the mobile device 500 and removing screws or other fasteners that connect the hard drive 536 to support structures within the mobile device 500 .
- the removable memory devices 535 - 537 and their associated computer storage media provide storage of computer-readable instructions, program modules, data structures, and other data for the mobile device 500 .
- the removable memory device or devices 535 - 537 may store images taken by the mobile device 500 , voice recordings, contact information, programs, data for the programs and so forth.
- a user may enter commands and information into the mobile device 500 through input devices such as a key pad 541 and the microphone 542 .
- the display 543 may be touch-sensitive screen and may allow a user to enter commands and information thereon.
- the key pad 541 and display 543 may be connected to the processing unit 505 through a user input interface 550 that is coupled to the bus 515 , but may also be connected by other interface and bus structures, such as the communications module(s) 532 and wired port(s) 540 .
- Motion detection 552 can be used to determine gestures made with the device 500 .
- a user may communicate with other users via speaking into the microphone 542 and via text messages that are entered on the key pad 541 or a touch sensitive display 543 , for example.
- the audio unit 555 may provide electrical signals to drive the speaker 544 as well as receive and digitize audio signals received from the microphone 542 .
- the mobile device 500 may include a video unit 560 that provides signals to drive a camera 561 .
- the video unit 560 may also receive images obtained by the camera 561 and provide these images to the processing unit 505 and/or memory included on the mobile device 500 .
- the images obtained by the camera 561 may comprise video, one or more images that do not form a video, or some combination thereof.
- the communication module(s) 532 may provide signals to and receive signals from one or more antenna(s) 565 .
- One of the antenna(s) 565 may transmit and receive messages for a cell phone network.
- Another antenna may transmit and receive Bluetooth® messages.
- Yet another antenna (or a shared antenna) may transmit and receive network messages via a wireless Ethernet network standard.
- an antenna provides location-based information, e.g., GPS signals to a GPS interface and mechanism 572 .
- the GPS mechanism 572 makes available the corresponding GPS data (e.g., time and coordinates) for processing.
- a single antenna may be used to transmit and/or receive messages for more than one type of network.
- a single antenna may transmit and receive voice and packet messages.
- the mobile device 500 may connect to one or more remote devices.
- the remote devices may include a personal computer, a server, a router, a network PC, a cell phone, a media playback device, a peer device or other common network node, and typically includes many or all of the elements described above relative to the mobile device 500 .
- aspects of the subject matter described herein are operational with numerous other general purpose or special purpose computing system environments or configurations.
- Examples of well known computing systems, environments, and/or configurations that may be suitable for use with aspects of the subject matter described herein include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microcontroller-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
- aspects of the subject matter described herein may be described in the general context of computer-executable instructions, such as program modules, being executed by a mobile device.
- program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types.
- aspects of the subject matter described herein may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- program modules may be located in both local and remote computer storage media including memory storage devices.
- server may be used herein, it will be recognized that this term may also encompass a client, a set of one or more processes distributed on one or more computers, one or more stand-alone storage devices, a set of one or more other devices, a combination of one or more of the above, and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Telephone Function (AREA)
- User Interface Of Digital Computer (AREA)
- Mobile Radio Communication Systems (AREA)
- Stored Programmes (AREA)
Abstract
Description
- The present application claims priority to U.S. provisional patent applications Ser. Nos. 61/442,701, 61/442,713, 61/442,735, 61/442,740 and 61/442,753, each filed Feb. 14, 2011 and hereby incorporated by reference. The present application is related to U.S. patent applications attorney docket nos. 332296.02, 332297.02, 332320.02 and 332340.02, assigned to the assignee of the present invention, and hereby incorporated by reference.
- Contemporary mobile devices are used for many types of user applications, including running interactive applications and listening to music or other audio (e.g., broadcasts). Audio output is generally something a user often wants to have performed in the background, e.g., after setting up a playlist or other audio content, the user wants to be able to listen to the audio while still being able to use the device features and/or perform other foreground tasks.
- To implement a background audio scenario, the system needs to let a process run in the background and play audio. Current solutions have one or more issues with such a scenario, including consuming too much battery and/or other system resources, providing poor (if any) integration with the system user experience/interface (UX), and/or the possibility of introducing a security threat to the system. Further, playback may stop unexpectedly due to resource depletion.
- As a result, one solution is to use a where “first party” application as the background audio program, (where as used herein, “first party” generally refers to trusted code such as provided by the operating system vendor, and “third party” refers to applications from vendors, regardless of their source or trustworthiness). However, this limits the device system to not allowing third party applications to perform background audio playback and provide different user experiences, while consuming resources for the first party application, and so forth.
- This Summary is provided to introduce a selection of representative concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used in any way that would limit the scope of the claimed subject matter.
- Briefly, various aspects of the subject matter described herein are directed towards a technology by which a media service plays audio in a background process on a mobile device, as initially directed by a foreground (e.g., third party) application. The application, when in the foreground, communicates via an interface with the media service, including to provide information to the media service that corresponds to audio data (e.g., an audio track) to play. The media service plays the audio, and acts upon requests directed towards the audio playback as the media service plays the background audio.
- For example, the requests directed towards the audio playback may correspond to user actions, such as play, pause, skip, stop, skip next, skip previous, seek, fast forward, rewind, rating-related actions, shuffle and/or repeat requests. The requests directed towards the audio playback may be to provide state information, such as playing, paused, stopped, fast forwarding, rewinding, buffering started, buffering stopped, track ready and/or track ended state.
- In one aspect, the media service operates to launch an agent that provides the requests directed towards the audio playback. The foreground application may be deactivated, with the media service continuing the audio playback in the background. The media service may cause the agent to be re-launched as needed to obtain additional audio information, e.g., more tracks to play.
- In one aspect, a universal volume control (e.g., system) component provides requests directed towards the audio playback. The application (when in the foreground) may provide information that determines the operation of the universal volume control component. The media service provides information that may be presented on a user interface of the universal volume control component, e.g., text (title, artist), images and so forth, such as obtained from the application and/or agent.
- In one aspect, a source agent may be configured to output audio data that the media service processes into the audio playback. The source agent may use a (e.g., custom) codec, decryption mechanism, decompression mechanism, and/or a proprietary protocol to provide the audio data. The source agent may output the audio data to a shared memory for processing by the media service.
- The information that corresponds to the audio data to play may be associated with a control flag that indicates via attribute settings whether the media service is allowed to take a particular action with respect to the audio playback. For example, the flag may include attributes that allow/deny skip next, skip previous, fast forward, pause, and/or rewind actions for any media item that is playing or queued to be played.
- Other advantages may become apparent from the following detailed description when taken in conjunction with the drawings.
- The present invention is illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:
-
FIG. 1 is a block diagram representing example components for playing background audio, including when an audio playback application is deactivated from the foreground. -
FIG. 2 is a block/control flow diagram representing example components for playing background audio, including when the audio is originally in a non-native audio format. -
FIG. 3 is a block/control flow diagram representing example operations to prepare for and play background audio. -
FIG. 4 is a block/data flow diagram representing example data that may be communicated to prepare for and play background audio. -
FIG. 5 is a block diagram representing an exemplary non-limiting computing system or operating environment, e.g., in the example of a mobile phone device, in which one or more aspects of various embodiments described herein can be implemented. - Various aspects of the technology described herein are generally directed towards a technology in which a mobile device or the like includes a background audio service. To play audio, an application (e.g., third party application) sends a request via the background audio service to a media service, which performs the playback. By providing a system service rather than allowing an untrusted application process to operate in the background, more security and stability are provided, with a known amount of impact on the system, while allowing third party applications to direct the background audio playback and playback-related operations.
- It should be understood that any of the examples herein are non-limiting. As such, the present invention is not limited to any particular embodiments, aspects, concepts, structures, functionalities or examples described herein. Rather, any of the embodiments, aspects, concepts, structures, functionalities or examples described herein are non-limiting, and the present invention may be used various ways that provide benefits and advantages in computing and mobile devices in general.
-
FIG. 1 is a block diagram showing various components in one example implementation. In general, amedia service 102 plays back audio tracks as directed by athird party application 104 in conjunction with a player agent 106 (e.g., a “headless host” having no user interface) as described below. Communication between theapplication 104 and/orplayer agent 106 and themedia service 102 is via a background audio service 108 (BackgroundAudioPlayer) that includes an API set. - The
background audio service 108 supports basic playback and a custom codec mode. The playback mode can help the device save battery, and makes coding of the application relatively simple. In the custom codec mode, described below with reference toFIG. 2 , an application can perform more powerful operations, such as support proprietary DRM (digital rights management) or proprietary codecs. - In one implementation, the
application 104 calls into thebackground audio service 108 with a request to play audio. Themedia service 102 is notified, which in turn communicates with an application instance manager 110 (a system service) to launch theplayer agent 106. The communication between themedia service 102 and theapplication instance manager 110 requests that resources be reserved for theagent 106, and notifies theapplication instance manager 110 that theplayer agent 106 is a time-critical resource (so that in typical operating circumstances, the resource is not subject to interruptions that if present provide a poor user experience). In general, theplayer agent 106 is independent of theapplication 104, as either one may remain operational while the other is not, both may operate at the same time, or neither may be operational at a given time. - In one implementation, the
player agent 106 makes the actual playback requests and other playback-related requests (e.g., skip, rewind and so forth) on behalf of theapplication 104. This allows theapplication 104 to be removed from the foreground and so forth. In an alternative implementation, the requests may be shared between the agent and application, with the application choosing which requests it keeps for itself, and which are delegated to the agent, for example. Note that having a player agent be responsible for handling requests provides an advantage in the requests may originate via the application or other system services, and thus there are no conflicts, and the user may use the system even after the application has been terminated or otherwise deactivated. - In general, the
media service 102 via a media service proxy/translator 112 notifies theapplication instance manager 110 on various events, such as on a user action and any play state change; (note that the media service proxy/translator 112 alternatively may be incorporated into the media service 102). Example user actions include play, pause, skip, stop, skip next, skip previous, seek, fast forward, rewind, rating-related actions, shuffle and/or repeat. Example play states include playing, paused, stopped, fast forwarding, rewinding, buffering started, buffering stopped, track ready and/or track ended. - Each time the media service wants to communicate with the
player agent 106, themedia service 102 instructs theapplication instance manager 110 to re-launch theplayer agent 106 if needed; note that this allows theapplication instance manager 110 to leave theplayer agent 106 in memory if desired, to put theplayer agent 106 into a dormant state (retained in memory but unable to run code until activated), or fully terminate theplayer agent 106 and re-launch an instance as needed. Once notified, the media service and theplayer agent 106 may communicate (via the background audio service 108) to perform further actions, such as to request a next track, notify the agent that the user has performed some action related to audio, e.g., by interfacing with theapplication 104 or a system-provided UVC (universal volume control) 114, and so forth. - Also shown in
FIG. 1 is background audio support/integration with existing and future operating system user experiences, including UVC (universal volume control) 114 integration, a native first party player 116 (Zune®) experience, and integration with aprogram 118 via an XNA/Silverlight™ environment 120. To this end, XNA and Silverlight® may use a native playback API to perform audio playback, and media service playback coordinates the request from Silverlight® and XNA. This design enables application to use both XNA and Silverlight® code in one process. Other aspects include a “Nowplaying” token, phone call interruption, and others. - It should be noted that the mobile device may output the audio in any suitable form. For example, the mobile device may output the audio via internal speakers, via a headphone jack to a headset, via wireless or wired communication to another device (e.g., over Wi-Fi to an external sound system), and the like. The
media service 102 may be considered as providing input source information to a sink. -
FIG. 2 is a block diagram showing an alternative configuration, including acontrol agent 206 and asource agent 222. The control agent is similar to the player agent and is not described again. The source agent comprises a code/logic that is configured to support a non-natively supported media format, such as streamed or progressively downloaded from an associated source. Thesource agent 222 may be provided by an internet audio service, music service or the like, and in general is configured to handle decryption of encrypted content, decompression of compressed content, decoding of custom encoding formats, custom protocols, and so forth. A source agent may handle one or more such custom formats and the like. Unlike the player agent/control agent, thesource agent 222 is needed to remain operational to provide the properly formatted content, and thus is not deactivated by the application instance manager (except possibly under extraordinary circumstances). - As represented in
FIG. 2 , anapplication 204 makes a request via the background audio service API to themedia service 102 to play content, as represented by the arrows labeled (1 a) and (1 b) inFIG. 2 . In turn, themedia service 102 communicates with the application instance manager (the arrow labeled (2)), including to reserve resources and launch acontrol agent 206, similar to as described inFIG. 1 (but without a proxy/translator shown). Thecontrol agent 206 is launched as represented by the arrow labeled (3). - When launched, the
control agent 206 makes requests to the media service 102 (arrow (4)), including a request for aparticular source agent 222. The source agent may have been previous loaded into the device and maintained thereon, or downloaded on demand. As represented via the arrows labeled (5) and (6), the application instance manager launches thesource agent 222. - The
source agent 222 requests that the media service play a track (arrows (7 a) and (7 b)), informing themedia service 102 that thesource agent 222 will provide (e.g., stream) the properly formatted content. The source agent responds to thecontrol agent 206 that the track is ready (arrows (8 a) and (8 b). Thesource agent 222 provides the properly formatted audio content (arrows (9 a) and (9 b) to a playing component of themedia service 102, (DShow 226, incorporated into or coupled to the media service 102). In one implementation, the audio content is buffered via a sharedmemory 228, which is efficient as further data transfer/copying is avoided. - As can be seen, in a basic playback mode as in
FIG. 1 , theapplication 104 may implement a playback experience by sending a track (e.g., a uniform resource identifier/URI or such as an HTTP URL) to theservice 102 and asking theservice 102 to play it. Theservice 102 is responsible for parts of playback (reading/downloading/streaming content, parsing container formats, content decryption, audio stream decoding, and so forth). - In a custom codec mode as in
FIG. 2 , theapplication 204 in conjunction with thesource agent 222 acquires the content via any arbitrary mechanism (such as downloading, streaming, reading from a local store, or dynamic generation such as for text-to-speech) and performs arbitrary processing as needed, such as decryption or decoding, before passing it to the native service. Because the sharedmemory 228 may be used to pass content, significant memory may be saved with improved performance relative to copying decoded content into another memory buffer. This design also enables ISVs (independent software vendors) to protect their content licenses more easily, e.g., by providing corresponding source agents, possibly along with the applications. - Turning to another aspect, as described above the device system provides a
UVC 114 control/user interface by which the user is able to control audio playback independent of theapplication UVC 114 control/user interface. - Note that in one implementation, when the
application audio service API 108 enables an application to implement its own logic when it receives user interaction. User interactions with the UVC system user experience (such as skipping a track) are handled by the application. Applications have the opportunity to disable/enable the UVC playback control button, and/or change song metadata such as title, artist, and album art. - To this end, the
media service 102 sends notifications to application foreground code, firstparty background code 116 and theUVC 114 when the playback state changes or other pertinent events occur to ensure the components have the correct metadata and playback status. For playback position, the application is able to query the background service. This notification design enables applications, theUVC 114, and thefirst party player 116 to obtain correct playback status and metadata, without introducing significant, unnecessary cross-process traffic. - When the application is in the background, the user may interface with the audio via the
UVC 114. For example, the user may increase or decrease the volume, pause the track, skip the track and so forth. Themedia service 102 is instructed by the agent (or application) via a “Nowplaying” token or the like as to what may be displayed on the UVC user interface, e.g., text (title, artist, album name and/or the like), an image, a logo, and so forth. TheUVC 114 communicates (e.g., directly) with themedia service 102, including to subscribe to status changes (e.g., playback changes, such as play/pause/stopped play states as well as item changed (track switching) notifications, whereby UVC pulls the relevant data, such as title/artist/album from media services for display) and the like. Via the application/agent, the media service has information on what is playing now, and when the track changes, will instruct theUVC 114 to update the title (new track name). If the media service queues multiple tracks, the application/agent need not be involved until the queue needs to be updated/changed. Note that in one alternative, instead of sending a single track to play, the application/agent may send a playlist of multiple tracks. This may be more efficient, to avoid communicating with (including possibly launching) the agent for each new track. - Further, each media item (e.g., audio track) is associated with attributes in a media control flag that the application/agent may set, and which control what the
UVC 114 is able to do with respect to a track. For example, the application may specify that a track (such as an advertisement, for example) cannot be skipped. Another application may let a user skip some limited number of tracks before having to listen to one fully, before again allowing skipping. In general, the media control flag includes attributes to allow/deny skip next, skip previous, fast forward, pause, and rewind. - Turning to integration with the device's telephone, when there is incoming call, the media service is notified. In one implementation, the background music volume is decreased, and a ringtone sound is audibly mixed with the background music. A user may configure the relative volume levels. If user presses ‘ignore’, the ringtone stops and the background audio will continue playing, e.g., at its previous volume level. If a user answers, the audio is paused (if allowed by the media control flag, or silenced if not, for example). Thus, the mixed audio output signal and ringtone continues until the call attempt ends in some way, e.g., is ignored (by explicit user action or until the call attempt terminates) or is answered (by the user or automatically). When a user-answered call ends, the audio resumes playing.
-
FIGS. 3 and 4 along with the following brief scenarios illustrate how third party applications can use the managed background audio playback API. For simplicity, assume that HTTP URLs are the URI of choice in the following examples. To this end,FIGS. 3 and 4 show basic building blocks and a data/control flow of a scenario for media playback. Note that as shown, theapplication 304 andagent 306 have their ownisolated storage 330, and the media service has itsown data store 332, which may include a queue. The following labeled steps correspond to the circled numerals inFIG. 3 : - 1. Application creates service request (“play this track and call me back when you need the next one”)
- 2. Service starts playing the track
- 3. User closes application
- 4. Current track ends
- 5. Service asks system to call the agent to get the next track
- 6. System starts new process and invokes the agent
- 7. Agent performs logic and provides the next track information
- 8. System suspends or kills the agent
- 9. Current track ends . . . (back to step 5)
- For third party application background audio playback, the
application 304 operates to contact its servers on theweb 334. This typically includes authenticating the user and retrieving any user data. For this example, assume the content to be played is represented by an HTTP URL that points to some server. When theapplication 304 decides that it is time to begin playing music, the application may perform the following example steps: - 1. Create an instance of the background service 108 (including the API set).
- 2. As part of its initialization, the
background service 108 calls themedia service 102 to create a queue for theapplication 304. This call creates the queue if one does not already exist for this application. - 3. The
application 304 checks to see if thebackground audio service 108 has a current track. (For this example, assume there is not already a queue) - 4. There is not a current track, so the
application 304 performs its operations to get a track from the server (which may include authenticating the user, and so forth). - 5. For this example, assume the server returns a HTTP URL that points to the track to play.
- 6. The
application 304 creates an AudioTrack object (or other suitable data structure), passing in the URL, track name, and any other metadata as desired. - 7. The
application 304 passes the new AudioTrack object to thebackground audio service 108 via an appropriate function call. - 8. The
background audio service 108 creates a new media item via an appropriate function call. - 9. The
background audio service 108 queries the given AudioTrack for the URI which it sets on the item. - 10. The
background audio service 108 adds the track to the media service/queue. - 11. The application calls the play function of the
background audio service 108. - 12. The
background audio service 108 initiates playback by calling the media service. - 13. The application receives events it is interested in.
- 14. Shell tells the application it is closing.
- 15. The application destroys its
background audio service 108 object, and the media service continues to play the track. - Resuming playback (persist playlist queues) is another scenario. A user may tap on the power button to turn the screen on. Without unlocking the phone the user may push the volume up key to bring up the UVC, and taps the play button and the station corresponding to the application starts playing again, e.g., the same song where it was stopped earlier. The following is an example:
- 1. The agent receives an “OnUserAction callback.” This callback's parameters provide a reference to the current track, with the action being “Play”. Assume that there is no current track because the queue was destroyed at some point.
- 2. The agent notices that there is no current track, whereby the agent goes to its persistent store to read in the title, source, and position of the last track it played.
- 3. The agent creates a new AudioTrack and sets the metadata accordingly.
- 4. The agent sets where the audio is to resume by calling a “progress” function of the
background audio service 108, e.g., “BackgroundAudioPlayer.Progress.” - 5. The agent passes the new AudioTrack object to the BackgroundAudioPlayer.
- 6. The agent calls
background audio service 108. - 7. Playback resumes where the user left off (assuming that the track is still available on the service).
- Resuming applications (get queue state) is another example, where a user decides to double-check a song title that he or she cannot remember via the application. The user unlocks the device, navigates to the application list, and taps on the application icon. The application launches and displays the currently playing artist and the current song playback time counter. An “Events” label may be selected, which for example shows that a concert with the artist is upcoming. The following is an example:
- 1. The application creates an instance of the
background audio service 108. - 2. As part of its initialization, the
background audio service 108 checks with the media service to see if there is already an application queue. - 3. The media service reports that there is a background queue for this application.
- 4. The
background audio service 108 retrieves the media item value for the currently playing track and creates a new AudioTrack object that contains the media item value. - 5. The application checks to see if there is a current track, which in this example there is.
- 6. The application gets the current track and queries for the title.
- 7. Because this is the first metadata query, the AudioTrack object reaches the media service and obtains the available metadata. Then it returns the title.
- 8. The application calls a function (BackgroundAudioPlayer.PlayState) to get the current play state (Playing).
- 9. Because the content is playing, the application calls a function (AudioTrack.Duration) to get the track's duration.
- 10. The application calls a function (BackgroundAudioPlayer.Progress) to get the current position.
- 11. The application updates its UI with this information.
- Switching playback between applications also may be performed. While a song/station is still playing via the previous application, the user may navigate into the first party media player (e.g., Zune®) application, for example, and taps on podcasts. The user taps the play button next to a new episode, causing the previous station to automatically stop playing and the new podcast playback to start. The podcast plays for a while, until the user decides to tune into other radio content. While the previous podcast is still playing, the user navigates to the application list and launches a different application, where the user finds a desired radio station and taps the play icon. The podcast automatically stops playing and the user now hears the desired radio station. The following is an example:
- 1. The original background audio agent receives the save-related (On PlayStateChanged/Shutdown) callback.
- 2. The original background audio agent grabs the current track from the given background audio service instance and saves off the title, source, current position, and so forth. It saves these values in its
isolated storage 330. - 3. To free up resources, the original background audio agent calls a function of the background audio service (BackgroundAudioPlayer.Close) which instructs the media service to delete the application's queue. Note that in the event that the original background audio playback was stopped due to the user playing a different media, the media service frees up the resource for the original application/agents as part of the Shutdown.
- Playlist control (skipping) is yet another desirable feature. A user begins streaming music, and then goes into a Games hub to select a game, for example. After a few minutes of playing the game, an undesirable song is played; while in the gaming application, the user taps the volume up button making the UVC controls appear. The user may then tap the skip icon to move onto another song. The following is an example:
- 1. The audio background agent's OnUserAction callback is fired. The UserAction enumeration is set to SkipNext.
- 2. The audio background agent calls an internal method or the like that determines that the user is allowed to skip the current track (e.g., based on the company's business model/rules).
- 3. The audio background agent queries the web servers for the URL of the next track to play.
- 4. The audio background agent creates a new AudioTrack object and sets the URL and other pertinent metadata.
- 5. The audio background agent uses the background audio service's object that was also passed in as one of OnUserAction's parameters to set the new AudioTrack as the new current track. This action causes the currently playing track to stop.
- 6. The audio background agent calls Play to begin playing the new track.
-
FIG. 5 illustrates an example of a suitablemobile device 500 on which aspects of the subject matter described herein may be implemented. Themobile device 500 is only one example of a device and is not intended to suggest any limitation as to the scope of use or functionality of aspects of the subject matter described herein. Neither should themobile device 500 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplarymobile device 500. - With reference to
FIG. 5 , an exemplary device for implementing aspects of the subject matter described herein includes amobile device 500. In some embodiments, themobile device 500 comprises a cell phone, a handheld device that allows voice communications with others, some other voice communications device, or the like. In these embodiments, themobile device 500 may be equipped with a camera for taking pictures, although this may not be required in other embodiments. In other embodiments, themobile device 500 may comprise a personal digital assistant (PDA), hand-held gaming device, notebook computer, printer, appliance including a set-top, media center, or other appliance, other mobile devices, or the like. In yet other embodiments, themobile device 500 may comprise devices that are generally considered non-mobile such as personal computers, servers, or the like. - Components of the
mobile device 500 may include, but are not limited to, aprocessing unit 505,system memory 510, and abus 515 that couples various system components including thesystem memory 510 to theprocessing unit 505. Thebus 515 may include any of several types of bus structures including a memory bus, memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures, and the like. Thebus 515 allows data to be transmitted between various components of themobile device 500. - The
mobile device 500 may include a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by themobile device 500 and includes both volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by themobile device 500. - Communication media typically embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, Bluetooth®, Wireless USB, infrared, WiFi, WiMAX, and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
- The
system memory 510 includes computer storage media in the form of volatile and/or nonvolatile memory and may include read only memory (ROM) and random access memory (RAM). On a mobile device such as a cell phone,operating system code 520 is sometimes included in ROM although, in other embodiments, this is not required. Similarly,application programs 525 are often placed in RAM although again, in other embodiments, application programs may be placed in ROM or in other computer-readable memory. Theheap 530 provides memory for state associated with theoperating system 520 and theapplication programs 525. For example, theoperating system 520 andapplication programs 525 may store variables and data structures in theheap 530 during their operations. - The
mobile device 500 may also include other removable/non-removable, volatile/nonvolatile memory. By way of example,FIG. 5 illustrates aflash card 535, ahard disk drive 536, and amemory stick 537. Thehard disk drive 536 may be miniaturized to fit in a memory slot, for example. Themobile device 500 may interface with these types of non-volatile removable memory via aremovable memory interface 531, or may be connected via a universal serial bus (USB), IEEE 5394, one or more of the wired port(s) 540, or antenna(s) 565. In these embodiments, the removable memory devices 535-537 may interface with the mobile device via the communications module(s) 532. In some embodiments, not all of these types of memory may be included on a single mobile device. In other embodiments, one or more of these and other types of removable memory may be included on a single mobile device. - In some embodiments, the
hard disk drive 536 may be connected in such a way as to be more permanently attached to themobile device 500. For example, thehard disk drive 536 may be connected to an interface such as parallel advanced technology attachment (PATA), serial advanced technology attachment (SATA) or otherwise, which may be connected to thebus 515. In such embodiments, removing the hard drive may involve removing a cover of themobile device 500 and removing screws or other fasteners that connect thehard drive 536 to support structures within themobile device 500. - The removable memory devices 535-537 and their associated computer storage media, discussed above and illustrated in
FIG. 5 , provide storage of computer-readable instructions, program modules, data structures, and other data for themobile device 500. For example, the removable memory device or devices 535-537 may store images taken by themobile device 500, voice recordings, contact information, programs, data for the programs and so forth. - A user may enter commands and information into the
mobile device 500 through input devices such as akey pad 541 and themicrophone 542. In some embodiments, thedisplay 543 may be touch-sensitive screen and may allow a user to enter commands and information thereon. Thekey pad 541 anddisplay 543 may be connected to theprocessing unit 505 through a user input interface 550 that is coupled to thebus 515, but may also be connected by other interface and bus structures, such as the communications module(s) 532 and wired port(s) 540.Motion detection 552 can be used to determine gestures made with thedevice 500. - A user may communicate with other users via speaking into the
microphone 542 and via text messages that are entered on thekey pad 541 or a touchsensitive display 543, for example. The audio unit 555 may provide electrical signals to drive thespeaker 544 as well as receive and digitize audio signals received from themicrophone 542. - The
mobile device 500 may include avideo unit 560 that provides signals to drive acamera 561. Thevideo unit 560 may also receive images obtained by thecamera 561 and provide these images to theprocessing unit 505 and/or memory included on themobile device 500. The images obtained by thecamera 561 may comprise video, one or more images that do not form a video, or some combination thereof. - The communication module(s) 532 may provide signals to and receive signals from one or more antenna(s) 565. One of the antenna(s) 565 may transmit and receive messages for a cell phone network. Another antenna may transmit and receive Bluetooth® messages. Yet another antenna (or a shared antenna) may transmit and receive network messages via a wireless Ethernet network standard.
- Still further, an antenna provides location-based information, e.g., GPS signals to a GPS interface and
mechanism 572. In turn, theGPS mechanism 572 makes available the corresponding GPS data (e.g., time and coordinates) for processing. - In some embodiments, a single antenna may be used to transmit and/or receive messages for more than one type of network. For example, a single antenna may transmit and receive voice and packet messages.
- When operated in a networked environment, the
mobile device 500 may connect to one or more remote devices. The remote devices may include a personal computer, a server, a router, a network PC, a cell phone, a media playback device, a peer device or other common network node, and typically includes many or all of the elements described above relative to themobile device 500. - Aspects of the subject matter described herein are operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with aspects of the subject matter described herein include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microcontroller-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
- Aspects of the subject matter described herein may be described in the general context of computer-executable instructions, such as program modules, being executed by a mobile device. Generally, program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types. Aspects of the subject matter described herein may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
- Furthermore, although the term server may be used herein, it will be recognized that this term may also encompass a client, a set of one or more processes distributed on one or more computers, one or more stand-alone storage devices, a set of one or more other devices, a combination of one or more of the above, and the like.
- While the invention is susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the invention to the specific forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the spirit and scope of the invention.
Claims (20)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/162,459 US20120209413A1 (en) | 2011-02-14 | 2011-06-16 | Background Audio on Mobile Devices |
CN2012100316306A CN102779070A (en) | 2011-02-14 | 2012-02-13 | Background audio on mobile devices |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161442701P | 2011-02-14 | 2011-02-14 | |
US201161442735P | 2011-02-14 | 2011-02-14 | |
US201161442740P | 2011-02-14 | 2011-02-14 | |
US201161442713P | 2011-02-14 | 2011-02-14 | |
US201161442753P | 2011-02-14 | 2011-02-14 | |
US13/162,459 US20120209413A1 (en) | 2011-02-14 | 2011-06-16 | Background Audio on Mobile Devices |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120209413A1 true US20120209413A1 (en) | 2012-08-16 |
Family
ID=46637513
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/162,459 Abandoned US20120209413A1 (en) | 2011-02-14 | 2011-06-16 | Background Audio on Mobile Devices |
US13/162,096 Active US10631246B2 (en) | 2011-02-14 | 2011-06-16 | Task switching on mobile devices |
US13/162,936 Active US9060196B2 (en) | 2011-02-14 | 2011-06-17 | Constrained execution of background application code on mobile devices |
US13/164,497 Abandoned US20120210321A1 (en) | 2011-02-14 | 2011-06-20 | Dormant Background Applications on Mobile Devices |
US13/164,678 Active 2032-09-14 US9560405B2 (en) | 2011-02-14 | 2011-06-20 | Background transfer service for applications on mobile devices |
US15/384,303 Active US10009850B2 (en) | 2011-02-14 | 2016-12-19 | Background transfer service for applications on mobile devices |
US16/001,799 Active US10542496B2 (en) | 2011-02-14 | 2018-06-06 | Background transfer service for applications on mobile devices |
US16/747,394 Active US11006369B2 (en) | 2011-02-14 | 2020-01-20 | Background transfer service for applications on mobile devices |
Family Applications After (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/162,096 Active US10631246B2 (en) | 2011-02-14 | 2011-06-16 | Task switching on mobile devices |
US13/162,936 Active US9060196B2 (en) | 2011-02-14 | 2011-06-17 | Constrained execution of background application code on mobile devices |
US13/164,497 Abandoned US20120210321A1 (en) | 2011-02-14 | 2011-06-20 | Dormant Background Applications on Mobile Devices |
US13/164,678 Active 2032-09-14 US9560405B2 (en) | 2011-02-14 | 2011-06-20 | Background transfer service for applications on mobile devices |
US15/384,303 Active US10009850B2 (en) | 2011-02-14 | 2016-12-19 | Background transfer service for applications on mobile devices |
US16/001,799 Active US10542496B2 (en) | 2011-02-14 | 2018-06-06 | Background transfer service for applications on mobile devices |
US16/747,394 Active US11006369B2 (en) | 2011-02-14 | 2020-01-20 | Background transfer service for applications on mobile devices |
Country Status (4)
Country | Link |
---|---|
US (8) | US20120209413A1 (en) |
EP (1) | EP2676206B1 (en) |
CN (3) | CN102685729B (en) |
WO (2) | WO2012112404A2 (en) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130028301A1 (en) * | 2011-07-25 | 2013-01-31 | Aliphcom | Multiple logical representations of audio functions in a wireless audio transmitter that transmits audio data at different data rates |
CN103176842A (en) * | 2013-03-15 | 2013-06-26 | 广东欧珀移动通信有限公司 | Background process management method and mobile terminal thereof |
US20140126751A1 (en) * | 2012-11-06 | 2014-05-08 | Nokia Corporation | Multi-Resolution Audio Signals |
US8789040B1 (en) * | 2013-07-16 | 2014-07-22 | Appenity LLC | Converting non-natively executable programs to downloadable executable programs |
CN104023147A (en) * | 2014-06-27 | 2014-09-03 | 广东欧珀移动通信有限公司 | Method and system for facilitating stable dormancy of mobile terminal |
US20140307896A1 (en) * | 2013-04-15 | 2014-10-16 | Samsung Electronics Co., Ltd. | Method for controlling audio output and device supporting the same |
CN104407981A (en) * | 2014-10-28 | 2015-03-11 | 小米科技有限责任公司 | Method and device for managing internal memory |
US20150110257A1 (en) * | 2009-09-18 | 2015-04-23 | Alpine Audio Now, LLC | System and method for interactive advertisement augmentation via a called voice connection |
US9060196B2 (en) | 2011-02-14 | 2015-06-16 | Microsoft Technology Licensing, Llc | Constrained execution of background application code on mobile devices |
US9069380B2 (en) | 2011-06-10 | 2015-06-30 | Aliphcom | Media device, application, and content management using sensory input |
CN104750351A (en) * | 2013-12-30 | 2015-07-01 | 比亚迪股份有限公司 | Mobile terminal and desktop homing method and device thereof |
CN104793846A (en) * | 2015-04-27 | 2015-07-22 | 小米科技有限责任公司 | Displaying method and device for interface of application program |
CN104899199A (en) * | 2014-03-04 | 2015-09-09 | 阿里巴巴集团控股有限公司 | Data processing method and system for data warehouse |
US20160018959A1 (en) * | 2014-07-15 | 2016-01-21 | Google Inc. | Adaptive background playback behavior |
CN105335242A (en) * | 2015-11-02 | 2016-02-17 | 传线网络科技(上海)有限公司 | Method and system for downloading video file at background in IOS system |
CN105704239A (en) * | 2016-03-31 | 2016-06-22 | 广州指点网络科技有限公司 | High-speed download wireless hot spot cloud terminal and application method thereof |
CN105940671A (en) * | 2014-01-29 | 2016-09-14 | 谷歌公司 | Media application backgrounding |
US9798580B2 (en) | 2014-08-26 | 2017-10-24 | Alibaba Group Holding Limited | Method and apparatus for managing background application |
US20180063670A1 (en) * | 2016-08-26 | 2018-03-01 | Microsoft Technology Licensing, Llc | Background management of mobile applications |
CN107968960A (en) * | 2016-10-20 | 2018-04-27 | 中兴通讯股份有限公司 | A kind of backstage audio and video playing control method and device |
CN108012584A (en) * | 2015-08-06 | 2018-05-08 | 谷歌有限责任公司 | Offer is suitable for the only method of the video content of audio playback, system and medium |
US10223450B1 (en) * | 2013-03-14 | 2019-03-05 | Google Llc | Data delivery |
CN109634549A (en) * | 2018-10-23 | 2019-04-16 | 中国平安人寿保险股份有限公司 | Audio frequency playing method, audio player, computer installation and readable storage medium storing program for executing |
CN109714640A (en) * | 2017-10-26 | 2019-05-03 | 创盛视联数码科技(北京)有限公司 | The method for playing live video |
CN110278589A (en) * | 2018-03-14 | 2019-09-24 | 佳能株式会社 | Communication device, data transmission device and its control method and storage medium |
CN111045632A (en) * | 2018-10-11 | 2020-04-21 | 瑞昱半导体股份有限公司 | Audio playing device and operation method thereof |
CN112650958A (en) * | 2020-12-28 | 2021-04-13 | 北京达佳互联信息技术有限公司 | Page processing method and device, electronic equipment and computer readable storage medium |
US20230273764A1 (en) * | 2020-06-22 | 2023-08-31 | Audiomob Ltd | Adding Audio Content to Digital Works |
US11930229B2 (en) | 2020-06-22 | 2024-03-12 | Audiomob Ltd | Sending audio content to digital works |
US12135917B2 (en) | 2024-02-02 | 2024-11-05 | Audiomob Ltd | Audio passback |
Families Citing this family (268)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US8307180B2 (en) | 2008-02-28 | 2012-11-06 | Nokia Corporation | Extended utilization area for a memory device |
TWI374382B (en) * | 2008-09-01 | 2012-10-11 | Htc Corp | Icon operation method and icon operation module |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US8874824B2 (en) | 2009-06-04 | 2014-10-28 | Memory Technologies, LLC | Apparatus and method to share host system RAM with mass storage memory RAM |
US20120309363A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks items that represent tasks to perform |
US20110099507A1 (en) | 2009-10-28 | 2011-04-28 | Google Inc. | Displaying a collection of interactive elements that trigger actions directed to an item |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
EP3306454B1 (en) * | 2010-05-25 | 2019-04-03 | Sony Mobile Communications Inc. | A user interface for a touch sensitive display on an electronic device |
US8886773B2 (en) | 2010-08-14 | 2014-11-11 | The Nielsen Company (Us), Llc | Systems, methods, and apparatus to monitor mobile internet activity |
US8910259B2 (en) | 2010-08-14 | 2014-12-09 | The Nielsen Company (Us), Llc | Systems, methods, and apparatus to monitor mobile internet activity |
US9110743B2 (en) * | 2010-12-21 | 2015-08-18 | Microsoft Technology Licensing, Llc | Extensible system action for sharing while remaining in context |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
JP5772132B2 (en) * | 2011-03-25 | 2015-09-02 | 富士通株式会社 | Data transfer apparatus, data transfer method, and information processing apparatus |
US9398103B2 (en) * | 2011-04-15 | 2016-07-19 | Qualcomm Incorporated | Methods and apparatus for enhancing device performance through flow control |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8594617B2 (en) | 2011-06-30 | 2013-11-26 | The Nielsen Company (Us), Llc | Systems, methods, and apparatus to monitor mobile internet activity |
US20130054335A1 (en) * | 2011-08-29 | 2013-02-28 | Ebay Inc. | Mobile platform for generating and distributing deals |
US9032413B2 (en) * | 2011-09-01 | 2015-05-12 | Microsoft Technology Licensing, Llc | Decoupling background work and foreground work |
US20130060661A1 (en) * | 2011-09-06 | 2013-03-07 | Apple Inc. | Managing access to digital content items |
US8701125B2 (en) * | 2011-09-06 | 2014-04-15 | The Nielsen Company (Us), Llc | Methods and apparatus to detect uninstallation of an on-device meter |
US9417998B2 (en) | 2012-01-26 | 2016-08-16 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
KR102008495B1 (en) * | 2012-02-24 | 2019-08-08 | 삼성전자주식회사 | Method for sharing content and mobile terminal thereof |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US8681801B2 (en) * | 2012-03-09 | 2014-03-25 | Alcatel Lucent | Method and apparatus for determining available bandwidth for wireless communication |
US10528994B2 (en) * | 2012-03-29 | 2020-01-07 | International Business Machines Corporation | Allocation of application licenses within cloud or infrastructure |
US9311226B2 (en) | 2012-04-20 | 2016-04-12 | Memory Technologies Llc | Managing operational state data of a memory module using host memory in association with state change |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US8990534B2 (en) | 2012-05-31 | 2015-03-24 | Apple Inc. | Adaptive resource management of a data processing system |
US9164804B2 (en) | 2012-06-20 | 2015-10-20 | Memory Technologies Llc | Virtual memory module |
US9116820B2 (en) | 2012-08-28 | 2015-08-25 | Memory Technologies Llc | Dynamic central cache memory |
US9201693B2 (en) * | 2012-09-04 | 2015-12-01 | Microsoft Technology Licensing, Llc | Quota-based resource management |
US20140113616A1 (en) * | 2012-10-19 | 2014-04-24 | Sony Mobile Communications Ab | Network initiated terminal background activity control |
DK2728893T3 (en) * | 2012-11-05 | 2020-06-29 | Accenture Global Services Ltd | Managing a data stream |
US11372536B2 (en) * | 2012-11-20 | 2022-06-28 | Samsung Electronics Company, Ltd. | Transition and interaction model for wearable electronic device |
US10551928B2 (en) | 2012-11-20 | 2020-02-04 | Samsung Electronics Company, Ltd. | GUI transitions on wearable electronic device |
US11157436B2 (en) | 2012-11-20 | 2021-10-26 | Samsung Electronics Company, Ltd. | Services associated with wearable electronic device |
US11237719B2 (en) | 2012-11-20 | 2022-02-01 | Samsung Electronics Company, Ltd. | Controlling remote electronic device with wearable electronic device |
US9477313B2 (en) | 2012-11-20 | 2016-10-25 | Samsung Electronics Co., Ltd. | User gesture input to wearable electronic device involving outward-facing sensor of device |
US10423214B2 (en) | 2012-11-20 | 2019-09-24 | Samsung Electronics Company, Ltd | Delegating processing from wearable electronic device |
US8994827B2 (en) | 2012-11-20 | 2015-03-31 | Samsung Electronics Co., Ltd | Wearable electronic device |
US10185416B2 (en) | 2012-11-20 | 2019-01-22 | Samsung Electronics Co., Ltd. | User gesture input to wearable electronic device involving movement of device |
CN103076944A (en) * | 2013-01-05 | 2013-05-01 | 深圳市中兴移动通信有限公司 | WEBOS (Web-based Operating System)-based application switching method and system and mobile handheld terminal |
CN103915095B (en) | 2013-01-06 | 2017-05-31 | 华为技术有限公司 | The method of speech recognition, interactive device, server and system |
CN103973729B (en) * | 2013-01-28 | 2018-07-03 | 联想(北京)有限公司 | Information processing method and information processing unit |
JP2016508007A (en) | 2013-02-07 | 2016-03-10 | アップル インコーポレイテッド | Voice trigger for digital assistant |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US9301173B2 (en) | 2013-03-15 | 2016-03-29 | The Nielsen Company (Us), Llc | Methods and apparatus to credit internet usage |
US10356579B2 (en) | 2013-03-15 | 2019-07-16 | The Nielsen Company (Us), Llc | Methods and apparatus to credit usage of mobile devices |
WO2014157908A1 (en) | 2013-03-27 | 2014-10-02 | Samsung Electronics Co., Ltd. | Device and method for displaying execution result of application |
WO2014157885A1 (en) | 2013-03-27 | 2014-10-02 | Samsung Electronics Co., Ltd. | Method and device for providing menu interface |
US9996246B2 (en) | 2013-03-27 | 2018-06-12 | Samsung Electronics Co., Ltd. | Device and method for displaying execution result of application |
WO2014157886A1 (en) | 2013-03-27 | 2014-10-02 | Samsung Electronics Co., Ltd. | Method and device for executing application |
US10229258B2 (en) | 2013-03-27 | 2019-03-12 | Samsung Electronics Co., Ltd. | Method and device for providing security content |
WO2014157897A1 (en) | 2013-03-27 | 2014-10-02 | Samsung Electronics Co., Ltd. | Method and device for switching tasks |
WO2014157893A1 (en) | 2013-03-27 | 2014-10-02 | Samsung Electronics Co., Ltd. | Method and device for providing a private page |
KR102164454B1 (en) * | 2013-03-27 | 2020-10-13 | 삼성전자주식회사 | Method and device for providing a private page |
WO2014157894A1 (en) | 2013-03-27 | 2014-10-02 | Samsung Electronics Co., Ltd. | Display apparatus displaying user interface and method of providing the user interface |
KR102083316B1 (en) * | 2013-04-24 | 2020-04-14 | 삼성전자주식회사 | Method and apparatus for managing memory of a user device |
US9955286B2 (en) * | 2013-05-08 | 2018-04-24 | Natalya Segal | Smart wearable devices and system therefor |
US20140359637A1 (en) * | 2013-06-03 | 2014-12-04 | Microsoft Corporation | Task continuance across devices |
KR20140142996A (en) * | 2013-06-05 | 2014-12-15 | 삼성전자주식회사 | Method for processing data of applet included in a plurity of secure element and apparatus for the same |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
EP3937002A1 (en) | 2013-06-09 | 2022-01-12 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US10223156B2 (en) | 2013-06-09 | 2019-03-05 | Apple Inc. | Initiating background updates based on user activity |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
WO2015020942A1 (en) | 2013-08-06 | 2015-02-12 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
KR20150020350A (en) * | 2013-08-12 | 2015-02-26 | 삼성전자주식회사 | Apparatus and method for delegating a multimedia content in communication system |
CN104424432B (en) * | 2013-08-26 | 2017-11-28 | 联想(北京)有限公司 | A kind of information processing method and electronic equipment |
CN103561299B (en) * | 2013-10-31 | 2017-09-08 | 宇龙计算机通信科技(深圳)有限公司 | Method for broadcasting multimedia file, mobile terminal and multimedia file playing system |
CN104639721B (en) * | 2013-11-06 | 2018-11-27 | 阿里巴巴集团控股有限公司 | The method and device of application information is provided in mobile terminal device |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
TWI616803B (en) * | 2013-12-27 | 2018-03-01 | 宏碁股份有限公司 | Method, apparatus and computer program product for zooming and operating screen frame |
CN103744671B (en) * | 2013-12-31 | 2017-06-27 | 联想(北京)有限公司 | The method and electronic equipment of a kind of information processing |
US9473944B2 (en) | 2014-02-24 | 2016-10-18 | Microsoft Technology Licensing, Llc | Local personal daemon |
US9432472B2 (en) | 2014-02-24 | 2016-08-30 | Microsoft Technology Licensing, Llc | Accelerated training of personal daemons |
US9218497B2 (en) | 2014-02-24 | 2015-12-22 | Microsoft Technology Licensing, Llc | Incentive-based app execution |
US10691332B2 (en) | 2014-02-28 | 2020-06-23 | Samsung Electronics Company, Ltd. | Text input on an interactive display |
US9871741B2 (en) | 2014-03-10 | 2018-01-16 | Microsoft Technology Licensing, Llc | Resource management based on device-specific or user-specific resource usage profiles |
US9760417B2 (en) | 2014-03-10 | 2017-09-12 | Microsoft Technology Licensing, Llc | Application dehydration and rehydration during application-to-application calls |
TWI602125B (en) * | 2014-04-17 | 2017-10-11 | 國立臺灣大學 | Resource allocation method |
JP6399794B2 (en) * | 2014-04-25 | 2018-10-03 | キヤノン株式会社 | Information processing terminal, control method, and program |
US9560055B2 (en) | 2014-04-30 | 2017-01-31 | Microsoft Technology Licensing, Llc | Client-side integration framework of services |
CN106471570B (en) | 2014-05-30 | 2019-10-01 | 苹果公司 | Multi-command single-speech input method |
US10552179B2 (en) | 2014-05-30 | 2020-02-04 | Apple Inc. | Resource management with dynamic resource policies |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9690685B2 (en) | 2014-05-30 | 2017-06-27 | Apple Inc. | Performance management based on resource consumption |
US9432796B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Dynamic adjustment of mobile device based on peer event data |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9363255B2 (en) * | 2014-06-04 | 2016-06-07 | Sonos, Inc. | Cloud queue playhead |
CN104038806B (en) * | 2014-06-11 | 2017-09-29 | 深圳市九洲电器有限公司 | A kind of application interface display methods and set top box |
CN104346560B (en) * | 2014-06-25 | 2017-06-16 | 腾讯科技(深圳)有限公司 | A kind of safe verification method and device |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US11275861B2 (en) * | 2014-07-25 | 2022-03-15 | Fisher-Rosemount Systems, Inc. | Process control software security architecture based on least privileges |
CN105446803A (en) * | 2014-08-18 | 2016-03-30 | 阿里巴巴集团控股有限公司 | Application management method and apparatus |
US20160085840A1 (en) * | 2014-09-22 | 2016-03-24 | Microsoft Corporation | Universal Interaction for Capturing Content to Persistent Storage |
US10025684B2 (en) | 2014-09-24 | 2018-07-17 | Microsoft Technology Licensing, Llc | Lending target device resources to host device computing environment |
US9769227B2 (en) | 2014-09-24 | 2017-09-19 | Microsoft Technology Licensing, Llc | Presentation of computing environment on multiple devices |
US9678640B2 (en) | 2014-09-24 | 2017-06-13 | Microsoft Technology Licensing, Llc | View management architecture |
US10635296B2 (en) | 2014-09-24 | 2020-04-28 | Microsoft Technology Licensing, Llc | Partitioned application presentation across devices |
US9860306B2 (en) * | 2014-09-24 | 2018-01-02 | Microsoft Technology Licensing, Llc | Component-specific application presentation histories |
US10448111B2 (en) | 2014-09-24 | 2019-10-15 | Microsoft Technology Licensing, Llc | Content projection |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9762688B2 (en) | 2014-10-31 | 2017-09-12 | The Nielsen Company (Us), Llc | Methods and apparatus to improve usage crediting in mobile devices |
US10192549B2 (en) | 2014-11-28 | 2019-01-29 | Microsoft Technology Licensing, Llc | Extending digital personal assistant action providers |
CN104503740A (en) * | 2014-12-01 | 2015-04-08 | 小米科技有限责任公司 | Memory management method and device |
US9959129B2 (en) | 2015-01-09 | 2018-05-01 | Microsoft Technology Licensing, Llc | Headless task completion within digital personal assistants |
US11423420B2 (en) | 2015-02-06 | 2022-08-23 | The Nielsen Company (Us), Llc | Methods and apparatus to credit media presentations for online media distributions |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US20160291846A1 (en) * | 2015-03-31 | 2016-10-06 | Airwatch Llc | Generating carousel user interface with graphics processing unit |
US9405597B1 (en) * | 2015-05-01 | 2016-08-02 | Salesforce.Com, Inc. | Centralized throttling service |
US20160335265A1 (en) * | 2015-05-11 | 2016-11-17 | Samsung Electronics Co., Ltd. | User terminal apparatus and controlling method thereof |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US9918114B2 (en) * | 2015-06-01 | 2018-03-13 | Comcast Cable Communications, Llc | Transmission of applications with content |
US10069785B2 (en) | 2015-06-05 | 2018-09-04 | Apple Inc. | Network messaging for paired devices |
KR20160143429A (en) * | 2015-06-05 | 2016-12-14 | 엘지전자 주식회사 | Mobile terminal and method for controlling the same |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10491708B2 (en) | 2015-06-05 | 2019-11-26 | Apple Inc. | Context notifications |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10216694B2 (en) * | 2015-08-24 | 2019-02-26 | Google Llc | Generic scheduling |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) * | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10462745B2 (en) * | 2016-01-15 | 2019-10-29 | Google Llc | Systems and methods for extending battery life by monitoring device activity |
US10268254B2 (en) * | 2016-01-15 | 2019-04-23 | Google Llc | Systems and methods for extending battery life by monitoring mobile application activity |
US11086418B2 (en) * | 2016-02-04 | 2021-08-10 | Douzen, Inc. | Method and system for providing input to a device |
KR102459031B1 (en) * | 2016-02-15 | 2022-10-26 | 삼성전자 주식회사 | Electronic device and method for displaying application used therein |
US10606950B2 (en) * | 2016-03-16 | 2020-03-31 | Sony Mobile Communications, Inc. | Controlling playback of speech-containing audio data |
CN105868624A (en) * | 2016-03-23 | 2016-08-17 | 北京小米移动软件有限公司 | Application program authority management method and device |
US10216370B2 (en) * | 2016-03-29 | 2019-02-26 | Microsoft Technology Licensing, Llc | Tabs in system task switchers |
CN107291549B (en) * | 2016-03-31 | 2020-11-24 | 阿里巴巴集团控股有限公司 | Method and device for managing application program |
EP3441881A4 (en) * | 2016-04-27 | 2019-04-10 | Huawei Technologies Co., Ltd. | Memory reclaiming method and apparatus |
US20170353603A1 (en) * | 2016-06-03 | 2017-12-07 | Facebook, Inc. | Recommending applications using social networking information |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
US10747467B2 (en) | 2016-06-10 | 2020-08-18 | Apple Inc. | Memory management for application loading |
US10520979B2 (en) | 2016-06-10 | 2019-12-31 | Apple Inc. | Enhanced application preview mode |
US10725761B2 (en) * | 2016-06-10 | 2020-07-28 | Apple Inc. | Providing updated application data for previewing applications on a display |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
CN105955701A (en) * | 2016-06-21 | 2016-09-21 | 深圳市金立通信设备有限公司 | Volume adjustment method and terminal |
KR102691293B1 (en) * | 2016-07-29 | 2024-08-05 | 삼성전자 주식회사 | Method and apparatus for reducing power consumption of electronic device |
US11599383B2 (en) * | 2016-08-30 | 2023-03-07 | Microsoft Technology Licensing, Llc | Concurrent execution of task instances relating to a plurality of applications |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
CN106559572B (en) * | 2016-11-15 | 2020-12-01 | 泾县谷声信息科技有限公司 | Noise positioning method and device |
US10353686B1 (en) * | 2016-12-28 | 2019-07-16 | Facebook, Inc. | Application installation system |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
US10666707B2 (en) * | 2017-01-11 | 2020-05-26 | Microsoft Technology Licensing, Llc | Nonconsecutive file downloading |
US10536322B2 (en) | 2017-01-17 | 2020-01-14 | Microsoft Technology Licensing, Llc | Resource management for services |
CN106897135A (en) * | 2017-02-28 | 2017-06-27 | 努比亚技术有限公司 | Restoration methods and device after a kind of application interruption |
US10117083B1 (en) | 2017-04-28 | 2018-10-30 | Motorola Solutions, Inc. | Method and apparatus for audio prioritization |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | User interface for correcting recognition errors |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | Apple Inc. | Low-latency intelligent automated assistant |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Multi-modal interfaces |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | Far-field extension for digital assistant services |
US10528228B2 (en) | 2017-06-21 | 2020-01-07 | Microsoft Technology Licensing, Llc | Interaction with notifications across devices with a digital assistant |
WO2019028912A1 (en) * | 2017-08-11 | 2019-02-14 | 华为技术有限公司 | Application switching method and device |
US11196875B2 (en) * | 2017-09-20 | 2021-12-07 | Fujifilm Business Innovation Corp. | Application apparatus, image processing apparatus, and non-transitory computer readable medium with plurality of recovery methods for applications switching to be in operation target state |
CN107678817A (en) * | 2017-09-21 | 2018-02-09 | 北京三快在线科技有限公司 | View switching method and apparatus and computing device |
CN107678796A (en) * | 2017-09-28 | 2018-02-09 | 惠州Tcl移动通信有限公司 | A kind of method, storage device and mobile terminal for optimizing system resource |
CN107634962B (en) * | 2017-10-11 | 2019-06-18 | Oppo广东移动通信有限公司 | The management method and Related product of network bandwidth |
US11409567B2 (en) * | 2017-10-13 | 2022-08-09 | Huawei Technologies Co., Ltd. | Application management method and terminal |
CN107770381B (en) * | 2017-10-25 | 2020-08-14 | Oppo广东移动通信有限公司 | Network management method and related product |
US11068127B2 (en) * | 2017-10-27 | 2021-07-20 | Oracle International Corporation | Springboard interface for quick task transitions |
KR102477043B1 (en) | 2017-11-08 | 2022-12-14 | 삼성전자주식회사 | Electronic device and control method thereof |
US10366766B2 (en) * | 2017-12-12 | 2019-07-30 | Western Digital Technologies, Inc. | Power shaping and peak power reduction by data transfer throttling |
CN109992398B (en) * | 2017-12-29 | 2021-06-25 | Oppo广东移动通信有限公司 | Resource management method, resource management device, mobile terminal and computer-readable storage medium |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US11010498B1 (en) | 2018-02-06 | 2021-05-18 | Life360, Inc. | App usage detection based on screen lock state |
US11627215B1 (en) | 2018-02-14 | 2023-04-11 | Life360, Inc. | Smart usage monitoring and access control of web and mobile applications |
US10764143B2 (en) * | 2018-02-26 | 2020-09-01 | Verizon Patent And Licensing Inc. | System and method for enforcing group policies for MTC devices to perform background data transfers |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
CN108600817B (en) * | 2018-03-15 | 2021-03-16 | 聚好看科技股份有限公司 | Smart television and method for facilitating browsing of application installation progress in display device |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
KR102692951B1 (en) * | 2018-04-06 | 2024-08-08 | 인터디지탈 패튼 홀딩스, 인크 | How to manage connections to local area data networks (LADNs) in 5G networks |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US10713212B2 (en) | 2018-05-21 | 2020-07-14 | Microsoft Technology Licensing Llc | Mobile remote direct memory access |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | Virtual assistant operation in multi-device environments |
DK179822B1 (en) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
US10944859B2 (en) | 2018-06-03 | 2021-03-09 | Apple Inc. | Accelerated task performance |
US11055110B2 (en) * | 2018-06-05 | 2021-07-06 | Microsoft Technology Licensing, Llc | Operating system service for persistently executing programs |
CN108882041B (en) * | 2018-07-09 | 2021-03-05 | 海信视像科技股份有限公司 | Player state acquisition method and device |
CN110806925B (en) * | 2018-08-06 | 2022-08-23 | 成都鼎桥通信技术有限公司 | Audio playing method and equipment |
WO2020046278A1 (en) * | 2018-08-28 | 2020-03-05 | Visa International Service Association | Methodology to obfuscate sensitive information in mobile application background snapshot |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11159601B1 (en) * | 2018-10-16 | 2021-10-26 | Amazon Technologies, Inc. | Triggering a content-related action based on a network identifier |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
CN109088997B (en) * | 2018-10-26 | 2021-05-21 | 努比亚技术有限公司 | Game audio control method, terminal and computer readable storage medium |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | User activity shortcut suggestions |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11468890B2 (en) | 2019-06-01 | 2022-10-11 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
WO2020254014A1 (en) | 2019-06-17 | 2020-12-24 | Telefonaktiebolaget Lm Ericsson (Publ) | A method of updating a background data transfer policy negotiated between an application function and a core network, a policy control function, and an application function |
WO2021056255A1 (en) | 2019-09-25 | 2021-04-01 | Apple Inc. | Text detection using global geometry estimators |
CN112685167A (en) * | 2019-10-17 | 2021-04-20 | 伊姆西Ip控股有限责任公司 | Resource using method, electronic device and computer program product |
US11775362B2 (en) * | 2019-10-22 | 2023-10-03 | Vmware, Inc. | Content provisioning to virtual machines |
US11422844B1 (en) | 2019-11-27 | 2022-08-23 | Amazon Technologies, Inc. | Client-specified network interface configuration for serverless container management service |
US11392422B1 (en) * | 2019-11-27 | 2022-07-19 | Amazon Technologies, Inc. | Service-managed containers for container orchestration service |
CN111200753A (en) * | 2020-02-20 | 2020-05-26 | 四川长虹电器股份有限公司 | Method for improving Android television network video playing fluency |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11038934B1 (en) | 2020-05-11 | 2021-06-15 | Apple Inc. | Digital assistant hardware abstraction |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11403150B1 (en) | 2020-06-23 | 2022-08-02 | Amazon Technologies, Inc. | Replenishment-aware resource usage management |
US11573816B1 (en) | 2020-06-26 | 2023-02-07 | Amazon Technologies, Inc. | Prefetching and managing container images using cluster manifest |
US11487591B1 (en) | 2020-06-29 | 2022-11-01 | Amazon Technologies, Inc. | Automatically configuring execution of a containerized application |
CN111880875B (en) * | 2020-07-15 | 2023-12-22 | 百度在线网络技术(北京)有限公司 | Control method, device, equipment, storage medium and system for multimedia playing |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
US11567800B2 (en) | 2020-07-21 | 2023-01-31 | Appnomic Systems Private Limited | Early identification of problems in execution of background processes |
WO2022018592A1 (en) * | 2020-07-21 | 2022-01-27 | Appnomic Systems Private Limited | Early identification of problems in execution of background processes |
US11853807B1 (en) | 2020-12-01 | 2023-12-26 | Amazon Technologies, Inc. | Cluster scaling based on task state information |
US11797287B1 (en) | 2021-03-17 | 2023-10-24 | Amazon Technologies, Inc. | Automatically terminating deployment of containerized applications |
US11892418B1 (en) | 2021-06-30 | 2024-02-06 | Amazon Technologies, Inc. | Container image inspection and optimization |
US11989586B1 (en) | 2021-06-30 | 2024-05-21 | Amazon Technologies, Inc. | Scaling up computing resource allocations for execution of containerized applications |
US11995466B1 (en) | 2021-06-30 | 2024-05-28 | Amazon Technologies, Inc. | Scaling down computing resource allocations for execution of containerized applications |
CN114579201B (en) * | 2022-03-01 | 2024-05-31 | 支付宝(杭州)信息技术有限公司 | Execution method, device and equipment of window component |
CN116737104B (en) * | 2022-09-16 | 2024-07-30 | 荣耀终端有限公司 | Volume adjusting method and related device |
Citations (4)
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 |
US20070068367A1 (en) * | 2005-09-20 | 2007-03-29 | Microsoft Corporation | Music replacement in a gaming system |
US20070244586A1 (en) * | 2006-04-13 | 2007-10-18 | International Business Machines Corporation | Selective muting of applications |
US20090249247A1 (en) * | 2008-01-30 | 2009-10-01 | Erick Tseng | Notification of Mobile Device Events |
Family Cites Families (106)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03288934A (en) | 1990-04-05 | 1991-12-19 | Fujitsu Ltd | Data transfer control system for virtual computer system |
IL97894A0 (en) | 1991-04-17 | 1992-06-21 | Ibm | Multi-processor computer system |
US5398723A (en) * | 1994-02-28 | 1995-03-21 | Aeroquip Corporation | Fluid coupling with adjustable pressure relief valve |
US5850518A (en) | 1994-12-12 | 1998-12-15 | Northrup; Charles J. | Access-method-independent exchange |
US5655081A (en) | 1995-03-08 | 1997-08-05 | Bmc Software, Inc. | System for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture |
US5754776A (en) | 1995-12-28 | 1998-05-19 | Intel Corporation | Re-prioritizing background data transfers in multipoint conferencing |
US8120652B2 (en) * | 1997-04-02 | 2012-02-21 | Gentex Corporation | System for controlling vehicle equipment |
US6324411B1 (en) | 1997-05-20 | 2001-11-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Background software loading in cellular telecommunication systems |
US6005488A (en) * | 1997-12-03 | 1999-12-21 | Ford Motor Company | User control interface architecture for automotive electronic systems |
US6874145B1 (en) | 1999-07-13 | 2005-03-29 | Sun Microsystems, Inc. | Methods and apparatus for implementing an application lifecycle design for applications |
US6957395B1 (en) * | 2000-01-04 | 2005-10-18 | Apple Computer, Inc. | Computer interface having a single window mode of operation |
US7275085B1 (en) | 2000-04-14 | 2007-09-25 | International Business Machines Corporation | Method and apparatus for maintaining state information for web pages using a directory server |
US7058947B1 (en) | 2000-05-02 | 2006-06-06 | Microsoft Corporation | Resource manager architecture utilizing a policy manager |
WO2001084824A2 (en) | 2000-05-03 | 2001-11-08 | Worldgate Service, Inc. | Television terminal for processing and controlling memory resources for plural applications |
US6629227B1 (en) | 2000-05-04 | 2003-09-30 | Scientific-Atlanta, Inc. | System and method for a communication terminal to manage memory and maintain a current application version for multiple applications |
US20020012329A1 (en) * | 2000-06-02 | 2002-01-31 | Timothy Atkinson | Communications apparatus interface and method for discovery of remote devices |
US7124424B2 (en) | 2000-11-27 | 2006-10-17 | Sedna Patent Services, Llc | Method and apparatus for providing interactive program guide (IPG) and video-on-demand (VOD) user interfaces |
US7512952B1 (en) | 2001-04-06 | 2009-03-31 | Palmsource, Inc. | Task switching with state preservation for programs running on an electronic device |
US7539483B2 (en) | 2001-05-02 | 2009-05-26 | Qualcomm Incorporated | System and method for entering alphanumeric characters in a wireless communication device |
US20050024341A1 (en) * | 2001-05-16 | 2005-02-03 | Synaptics, Inc. | Touch screen with user interface enhancement |
US7546602B2 (en) * | 2001-07-10 | 2009-06-09 | Microsoft Corporation | Application program interface for network software platform |
US6683938B1 (en) | 2001-08-30 | 2004-01-27 | At&T Corp. | Method and system for transmitting background audio during a telephone call |
US20030061260A1 (en) | 2001-09-25 | 2003-03-27 | Timesys Corporation | Resource reservation and priority management |
US7237240B1 (en) * | 2001-10-30 | 2007-06-26 | Microsoft Corporation | Most used programs list |
US7346855B2 (en) | 2001-12-21 | 2008-03-18 | Microsoft Corporation | Method and system for switching between multiple computer applications |
US20040153504A1 (en) * | 2002-11-21 | 2004-08-05 | Norman Hutchinson | Method and system for enhancing collaboration using computers and networking |
US20040194153A1 (en) | 2003-03-24 | 2004-09-30 | Sony Corporation And Sony Electronics Inc. | Conservation of system resources by efficiently activating/de-activating applications |
US7076616B2 (en) | 2003-03-24 | 2006-07-11 | Sony Corporation | Application pre-launch to reduce user interface latency |
GB0308991D0 (en) | 2003-04-17 | 2003-05-28 | Psion Digital Ltd | A data access replication or communication system comprising a distributed software application |
US7146439B1 (en) | 2003-06-27 | 2006-12-05 | Emc Corporation | Management of background copy task for point-in-time copies |
GB0315492D0 (en) | 2003-07-02 | 2003-08-06 | Symbian Ltd | A method of enabling a multitasking wireless information device to conserve battery power |
US8032890B2 (en) | 2003-07-22 | 2011-10-04 | Sap Ag | Resources managing in isolated plurality of applications context using data slots to access application global data and specification of resources lifetime to access resources |
US20050026654A1 (en) | 2003-07-30 | 2005-02-03 | Motorola, Inc. | Dynamic application resource management |
CA2727763C (en) * | 2003-12-01 | 2013-09-10 | Research In Motion Limited | Previewing a new event on a small screen device |
WO2005089245A2 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method of co-allocating a reservation spanning different compute resources types |
JP2007535774A (en) * | 2004-04-30 | 2007-12-06 | ヒルクレスト・ラボラトリーズ・インコーポレイテッド | Method and device for removing unintentional movement in a free space pointing device |
US20050278449A1 (en) | 2004-05-28 | 2005-12-15 | Moss Douglas G | Method of restricting access to certain materials available on electronic devices |
US20080154601A1 (en) | 2004-09-29 | 2008-06-26 | Microsoft Corporation | Method and system for providing menu and other services for an information processing system using a telephone or other audio interface |
EP1657888A1 (en) * | 2004-11-16 | 2006-05-17 | Abb Research Ltd. | Reception of redundant and non-redundant frames |
JP4611000B2 (en) | 2004-11-17 | 2011-01-12 | パナソニック株式会社 | Mobile terminal device |
US7668576B2 (en) * | 2004-12-16 | 2010-02-23 | Dashjack, Inc. | Incorporating a portable digital music player into a vehicle audio system |
US20060136882A1 (en) | 2004-12-17 | 2006-06-22 | Nokia Corporation | System and method for background JAVA application resource control |
US20060213754A1 (en) | 2005-03-17 | 2006-09-28 | Microsoft Corporation | Method and system for computer application program task switching via a single hardware button |
US7673255B2 (en) * | 2005-04-22 | 2010-03-02 | Microsoft Corporation | Interface and system for manipulating thumbnails of live windows in a window manager |
EP1724955A3 (en) | 2005-05-17 | 2007-01-03 | Samsung Electronics Co.,Ltd. | Method for taking a telephone call while receiving a broadcast service, and digital multimedia broadcasting terminal using this method |
US20060288336A1 (en) | 2005-06-21 | 2006-12-21 | Microsoft Corporation | Module initialization |
US20070036137A1 (en) * | 2005-07-29 | 2007-02-15 | Horner Richard M | Indicating presence of a contact on a communication device |
ATE511258T1 (en) | 2005-09-30 | 2011-06-15 | Research In Motion Ltd | METHOD AND DEVICE FOR DYNAMIC ADJUSTING A DATA PACKET WINDOW SIZE FOR DATA PACKET TRANSMISSION IN A WIRELESS COMMUNICATIONS NETWORK |
US9274774B2 (en) * | 2005-10-28 | 2016-03-01 | Google Inc. | Common installer server |
US8082008B2 (en) | 2006-02-10 | 2011-12-20 | Access Co., Ltd. | User-interface and architecture for portable processing device |
JP4177873B2 (en) | 2006-03-13 | 2008-11-05 | 株式会社カシオ日立モバイルコミュニケーションズ | Electronic device and program |
US8745526B2 (en) | 2006-03-14 | 2014-06-03 | Blackberry Limited | Screen display in application switching |
US20070294699A1 (en) | 2006-06-16 | 2007-12-20 | Microsoft Corporation | Conditionally reserving resources in an operating system |
KR100700951B1 (en) | 2006-08-23 | 2007-03-28 | 삼성전자주식회사 | Apparatus and method for multi task management in mobile communication system |
JP4852102B2 (en) * | 2006-08-29 | 2012-01-11 | パイオニア株式会社 | Information recording / reproducing apparatus and method, information recording / reproducing system, and computer program |
KR100784973B1 (en) | 2006-09-11 | 2007-12-11 | 삼성전자주식회사 | Area displaying method using image data variation |
US20080082936A1 (en) | 2006-09-28 | 2008-04-03 | Richard Eric Helvick | Method and system for displaying alternative task data on mobile electronic device |
US8245154B2 (en) * | 2006-11-03 | 2012-08-14 | International Business Machines Corporation | Most-recently-used task switching among parent and child windows |
TWI377813B (en) | 2006-11-24 | 2012-11-21 | Inst Information Industry | Apparatus, method, computer program, and computer readable medium for transnitting data via a plurality of network interfaces |
US8448067B2 (en) | 2006-12-07 | 2013-05-21 | Sony Computer Entertainment America, LLC | Graphics command management tool and methods for analyzing performance for command changes before application modification |
US7827358B2 (en) | 2007-01-07 | 2010-11-02 | Apple Inc. | Memory management methods and systems |
US20080172698A1 (en) | 2007-01-12 | 2008-07-17 | Berger Adam L | Performing support functions on a portable device |
WO2008091248A1 (en) | 2007-01-23 | 2008-07-31 | Agere Systems Inc. | Application switching in a single threaded architecture for devices |
US8499312B2 (en) | 2007-03-09 | 2013-07-30 | Microsoft Corporation | Administrator level access to backend stores |
EP2135429B1 (en) | 2007-03-16 | 2017-09-06 | BRITISH TELECOMMUNICATIONS public limited company | Data transmission scheduler |
US8261205B2 (en) * | 2007-05-30 | 2012-09-04 | Hewlett-Packard Development Company, L.P. | User interface for presenting a list of thumbnail items associated with media items |
JP5327497B2 (en) * | 2007-07-11 | 2013-10-30 | 日立オートモティブシステムズ株式会社 | Map data distribution system and map data update method |
US7823076B2 (en) * | 2007-07-13 | 2010-10-26 | Adobe Systems Incorporated | Simplified user interface navigation |
US20090028127A1 (en) | 2007-07-26 | 2009-01-29 | Gordon Kent Walker | Methods and apparatus for providing computational load allocation in a network environment |
WO2009037522A2 (en) | 2007-08-30 | 2009-03-26 | Nokia Corporation | Mobile messaging |
JP5184018B2 (en) * | 2007-09-14 | 2013-04-17 | 京セラ株式会社 | Electronics |
US8510743B2 (en) | 2007-10-31 | 2013-08-13 | Google Inc. | Terminating computer applications |
US8943520B1 (en) * | 2007-11-28 | 2015-01-27 | Sprint Communications Company L.P. | Uniform resource locator application initiation |
US8059570B2 (en) | 2008-01-11 | 2011-11-15 | Apple Inc. | Mobile network device battery conservation system and methods |
US8555201B2 (en) | 2008-06-05 | 2013-10-08 | Qualcomm Incorporated | Wireless communication device having deterministic control of foreground access of the user interface |
US8255562B2 (en) | 2008-06-30 | 2012-08-28 | International Business Machines Corporation | Adaptive data throttling for storage controllers |
US20090327953A1 (en) | 2008-06-30 | 2009-12-31 | Nokia Corporation | Unified navigation model between multiple applications |
US8196213B2 (en) | 2008-07-11 | 2012-06-05 | Microsoft Corporation | Verification of un-trusted code for consumption on an insecure device |
US9542222B2 (en) * | 2008-11-14 | 2017-01-10 | Oracle International Corporation | Resource broker system for dynamically deploying and managing software services in a virtual environment based on resource usage and service level agreement |
US20100153877A1 (en) * | 2008-12-11 | 2010-06-17 | Mika Antero Rautava | Task Switching |
US8458498B2 (en) | 2008-12-23 | 2013-06-04 | Intel Corporation | Method and apparatus of power management of processor |
US8495403B2 (en) | 2008-12-31 | 2013-07-23 | Intel Corporation | Platform and processor power management |
US8190930B2 (en) | 2009-03-30 | 2012-05-29 | Intel Corporation | Methods and apparatuses for controlling thread contention |
US8175653B2 (en) * | 2009-03-30 | 2012-05-08 | Microsoft Corporation | Chromeless user interface |
DE102009016742B4 (en) | 2009-04-09 | 2011-03-10 | Technische Universität Braunschweig Carolo-Wilhelmina | Multiprocessor computer system |
US20100281481A1 (en) | 2009-04-30 | 2010-11-04 | Nokia Corporation | Apparatus and method for providing a user interface within a computing device |
WO2010135359A2 (en) * | 2009-05-19 | 2010-11-25 | Smx Inet Global Services Sa | Providing a local device with computing services from a remote host |
US8340099B2 (en) * | 2009-07-15 | 2012-12-25 | Microsoft Corporation | Control of background data transfers |
JP5535324B2 (en) | 2009-10-01 | 2014-07-02 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Method and apparatus for managing persistent rich internet applications |
US9152299B2 (en) * | 2009-10-08 | 2015-10-06 | Red Hat, Inc. | Activity management tool |
US9420602B2 (en) | 2009-12-21 | 2016-08-16 | At&T Intellectual Property I, L.P. | Emergency and prioritized access to wireless resources |
CN101788926B (en) | 2009-12-28 | 2014-04-30 | 中兴通讯股份有限公司 | Resource allocation method and device for switching J2ME (Java 2 Micro Edition) application platform |
US8826141B2 (en) * | 2010-02-12 | 2014-09-02 | Blackberry Limited | Image-based and predictive browsing |
US20110252430A1 (en) | 2010-04-07 | 2011-10-13 | Apple Inc. | Opportunistic Multitasking |
US8842080B2 (en) * | 2010-10-01 | 2014-09-23 | Z124 | User interface with screen spanning icon morphing |
US8856798B2 (en) | 2010-10-21 | 2014-10-07 | Qualcomm Incorporated | Mobile computing device activity manager |
US8635630B2 (en) | 2010-10-25 | 2014-01-21 | Microsoft Corporation | Application lifetime management |
US9763140B2 (en) | 2010-11-02 | 2017-09-12 | Cisco Technology, Inc. | Resource reservation on networks comprising wireless and wired segments |
US9600780B2 (en) | 2010-11-29 | 2017-03-21 | Nokia Technologies Oy | Method and apparatus for sharing and managing resource availability |
US9288230B2 (en) * | 2010-12-20 | 2016-03-15 | Qualcomm Incorporated | Methods and apparatus for providing or receiving data connectivity |
US20120158827A1 (en) | 2010-12-21 | 2012-06-21 | Verizon Patent And Licensing Inc. | Active server system monitor |
US8698822B1 (en) * | 2010-12-30 | 2014-04-15 | The Mathworks, Inc. | Managing visual updates |
US20120174020A1 (en) * | 2010-12-31 | 2012-07-05 | International Business Machines Corporation | Indication of active window when switching tasks in a multi-monitor environment |
US20120209413A1 (en) | 2011-02-14 | 2012-08-16 | Microsoft Corporation | Background Audio on Mobile Devices |
US9104440B2 (en) * | 2011-05-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Multi-application environment |
US9439208B2 (en) | 2011-11-04 | 2016-09-06 | Intel Corporation | Scheduling requests for wireless communication devices running background applications |
-
2011
- 2011-06-16 US US13/162,459 patent/US20120209413A1/en not_active Abandoned
- 2011-06-16 US US13/162,096 patent/US10631246B2/en active Active
- 2011-06-17 US US13/162,936 patent/US9060196B2/en active Active
- 2011-06-20 US US13/164,497 patent/US20120210321A1/en not_active Abandoned
- 2011-06-20 US US13/164,678 patent/US9560405B2/en active Active
-
2012
- 2012-02-12 WO PCT/US2012/024789 patent/WO2012112404A2/en active Application Filing
- 2012-02-12 EP EP12747603.4A patent/EP2676206B1/en active Active
- 2012-02-12 WO PCT/US2012/024790 patent/WO2012112405A2/en active Application Filing
- 2012-02-13 CN CN201210031687.6A patent/CN102685729B/en active Active
- 2012-02-13 CN CN2012100316306A patent/CN102779070A/en active Pending
- 2012-02-14 CN CN201210032726.4A patent/CN102866913B/en active Active
-
2016
- 2016-12-19 US US15/384,303 patent/US10009850B2/en active Active
-
2018
- 2018-06-06 US US16/001,799 patent/US10542496B2/en active Active
-
2020
- 2020-01-20 US US16/747,394 patent/US11006369B2/en active Active
Patent Citations (4)
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 |
US20070068367A1 (en) * | 2005-09-20 | 2007-03-29 | Microsoft Corporation | Music replacement in a gaming system |
US20070244586A1 (en) * | 2006-04-13 | 2007-10-18 | International Business Machines Corporation | Selective muting of applications |
US20090249247A1 (en) * | 2008-01-30 | 2009-10-01 | Erick Tseng | Notification of Mobile Device Events |
Cited By (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9538003B2 (en) * | 2009-09-18 | 2017-01-03 | Audionow Ip Holdings, Llc | System and method for interactive advertisement augmentation via a called voice connection |
US20150110257A1 (en) * | 2009-09-18 | 2015-04-23 | Alpine Audio Now, LLC | System and method for interactive advertisement augmentation via a called voice connection |
US9560405B2 (en) | 2011-02-14 | 2017-01-31 | Microsoft Technology Licensing, Llc | Background transfer service for applications on mobile devices |
US10009850B2 (en) | 2011-02-14 | 2018-06-26 | Microsoft Technology Licensing, Llc | Background transfer service for applications on mobile devices |
US10631246B2 (en) | 2011-02-14 | 2020-04-21 | Microsoft Technology Licensing, Llc | Task switching on mobile devices |
US9060196B2 (en) | 2011-02-14 | 2015-06-16 | Microsoft Technology Licensing, Llc | Constrained execution of background application code on mobile devices |
US9069380B2 (en) | 2011-06-10 | 2015-06-30 | Aliphcom | Media device, application, and content management using sensory input |
US20160156376A1 (en) * | 2011-07-25 | 2016-06-02 | Aliphcom | Multiple logical representations of audio functions in a wireless audio transmitter that transmits audio data at different data rates |
US9201812B2 (en) * | 2011-07-25 | 2015-12-01 | Aliphcom | Multiple logical representations of audio functions in a wireless audio transmitter that transmits audio data at different data rates |
US20130028301A1 (en) * | 2011-07-25 | 2013-01-31 | Aliphcom | Multiple logical representations of audio functions in a wireless audio transmitter that transmits audio data at different data rates |
US10516940B2 (en) * | 2012-11-06 | 2019-12-24 | Nokia Technologies Oy | Multi-resolution audio signals |
US20140126751A1 (en) * | 2012-11-06 | 2014-05-08 | Nokia Corporation | Multi-Resolution Audio Signals |
US10194239B2 (en) * | 2012-11-06 | 2019-01-29 | Nokia Technologies Oy | Multi-resolution audio signals |
US11468127B1 (en) | 2013-03-14 | 2022-10-11 | Google Llc | Data delivery |
US10223450B1 (en) * | 2013-03-14 | 2019-03-05 | Google Llc | Data delivery |
CN103176842A (en) * | 2013-03-15 | 2013-06-26 | 广东欧珀移动通信有限公司 | Background process management method and mobile terminal thereof |
CN104111815A (en) * | 2013-04-15 | 2014-10-22 | 三星电子株式会社 | Method For Controlling Audio Output And Device Supporting The Same |
US20140307896A1 (en) * | 2013-04-15 | 2014-10-16 | Samsung Electronics Co., Ltd. | Method for controlling audio output and device supporting the same |
US8789040B1 (en) * | 2013-07-16 | 2014-07-22 | Appenity LLC | Converting non-natively executable programs to downloadable executable programs |
CN104750351A (en) * | 2013-12-30 | 2015-07-01 | 比亚迪股份有限公司 | Mobile terminal and desktop homing method and device thereof |
US10841359B2 (en) | 2014-01-29 | 2020-11-17 | Google Llc | Media application backgrounding |
US10432695B2 (en) | 2014-01-29 | 2019-10-01 | Google Llc | Media application backgrounding |
CN105940671A (en) * | 2014-01-29 | 2016-09-14 | 谷歌公司 | Media application backgrounding |
CN104899199A (en) * | 2014-03-04 | 2015-09-09 | 阿里巴巴集团控股有限公司 | Data processing method and system for data warehouse |
CN104899199B (en) * | 2014-03-04 | 2018-12-28 | 阿里巴巴集团控股有限公司 | A kind of data warehouse data processing method and system |
CN104023147A (en) * | 2014-06-27 | 2014-09-03 | 广东欧珀移动通信有限公司 | Method and system for facilitating stable dormancy of mobile terminal |
US20160018959A1 (en) * | 2014-07-15 | 2016-01-21 | Google Inc. | Adaptive background playback behavior |
US11983389B2 (en) | 2014-07-15 | 2024-05-14 | Google Llc | Adaptive background playback behavior |
US9665248B2 (en) * | 2014-07-15 | 2017-05-30 | Google Inc. | Adaptive background playback behavior |
US10656803B2 (en) | 2014-07-15 | 2020-05-19 | Google Llc | Adaptive background playback behavior |
US10031772B2 (en) | 2014-08-26 | 2018-07-24 | Alibaba Group Holding Limited | Method and apparatus for managing background application |
US9798580B2 (en) | 2014-08-26 | 2017-10-24 | Alibaba Group Holding Limited | Method and apparatus for managing background application |
CN104407981A (en) * | 2014-10-28 | 2015-03-11 | 小米科技有限责任公司 | Method and device for managing internal memory |
CN104793846A (en) * | 2015-04-27 | 2015-07-22 | 小米科技有限责任公司 | Displaying method and device for interface of application program |
US11109109B2 (en) | 2015-08-06 | 2021-08-31 | Google Llc | Methods, systems, and media for providing video content suitable for audio-only playback |
CN108012584A (en) * | 2015-08-06 | 2018-05-08 | 谷歌有限责任公司 | Offer is suitable for the only method of the video content of audio playback, system and medium |
US11722746B2 (en) | 2015-08-06 | 2023-08-08 | Google Llc | Methods, systems, and media for providing video content suitable for audio-only playback |
CN105335242A (en) * | 2015-11-02 | 2016-02-17 | 传线网络科技(上海)有限公司 | Method and system for downloading video file at background in IOS system |
CN105704239A (en) * | 2016-03-31 | 2016-06-22 | 广州指点网络科技有限公司 | High-speed download wireless hot spot cloud terminal and application method thereof |
US20180063670A1 (en) * | 2016-08-26 | 2018-03-01 | Microsoft Technology Licensing, Llc | Background management of mobile applications |
CN107968960A (en) * | 2016-10-20 | 2018-04-27 | 中兴通讯股份有限公司 | A kind of backstage audio and video playing control method and device |
CN109714640A (en) * | 2017-10-26 | 2019-05-03 | 创盛视联数码科技(北京)有限公司 | The method for playing live video |
CN110278589A (en) * | 2018-03-14 | 2019-09-24 | 佳能株式会社 | Communication device, data transmission device and its control method and storage medium |
CN111045632A (en) * | 2018-10-11 | 2020-04-21 | 瑞昱半导体股份有限公司 | Audio playing device and operation method thereof |
CN109634549A (en) * | 2018-10-23 | 2019-04-16 | 中国平安人寿保险股份有限公司 | Audio frequency playing method, audio player, computer installation and readable storage medium storing program for executing |
US20230273764A1 (en) * | 2020-06-22 | 2023-08-31 | Audiomob Ltd | Adding Audio Content to Digital Works |
US11930229B2 (en) | 2020-06-22 | 2024-03-12 | Audiomob Ltd | Sending audio content to digital works |
US11983460B2 (en) * | 2020-06-22 | 2024-05-14 | Audiomob Ltd | Adding audio content to digital works |
CN112650958A (en) * | 2020-12-28 | 2021-04-13 | 北京达佳互联信息技术有限公司 | Page processing method and device, electronic equipment and computer readable storage medium |
US12135917B2 (en) | 2024-02-02 | 2024-11-05 | Audiomob Ltd | Audio passback |
Also Published As
Publication number | Publication date |
---|---|
US9060196B2 (en) | 2015-06-16 |
US9560405B2 (en) | 2017-01-31 |
US20120209946A1 (en) | 2012-08-16 |
US10631246B2 (en) | 2020-04-21 |
US11006369B2 (en) | 2021-05-11 |
CN102866913B (en) | 2018-03-30 |
EP2676206B1 (en) | 2017-08-16 |
EP2676206A2 (en) | 2013-12-25 |
WO2012112405A2 (en) | 2012-08-23 |
US20120210266A1 (en) | 2012-08-16 |
WO2012112405A3 (en) | 2012-11-29 |
US20180352516A1 (en) | 2018-12-06 |
US20180139700A9 (en) | 2018-05-17 |
EP2676206A4 (en) | 2016-08-03 |
US20120210326A1 (en) | 2012-08-16 |
CN102685729B (en) | 2018-05-04 |
US20200154360A1 (en) | 2020-05-14 |
WO2012112404A3 (en) | 2012-12-27 |
CN102866913A (en) | 2013-01-09 |
US10009850B2 (en) | 2018-06-26 |
CN102685729A (en) | 2012-09-19 |
US10542496B2 (en) | 2020-01-21 |
US20120210321A1 (en) | 2012-08-16 |
US20170238259A1 (en) | 2017-08-17 |
CN102779070A (en) | 2012-11-14 |
WO2012112404A2 (en) | 2012-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120209413A1 (en) | Background Audio on Mobile Devices | |
US11954306B2 (en) | System for universal remote media control in a multi-user, multi-platform, multi-device environment | |
US9820010B2 (en) | Adaptive media content scrubbing on a remote device | |
KR101943139B1 (en) | Device linking | |
US8931016B2 (en) | Program handoff between devices and program network offloading | |
US20120023503A1 (en) | Management of computing resources for applications | |
JP2012531002A (en) | Personal cloud computing with session migration | |
JP2009044416A (en) | Content playback device, content playback method, program, and content playback system | |
TW201618517A (en) | Server-side session control in media streaming by media player devices | |
US12003805B2 (en) | Resuming playback on multiple streaming devices | |
US11545148B2 (en) | Do not disturb functionality for voice responsive devices | |
US9009128B2 (en) | Information processing apparatus, information processing method and program | |
JP2006311595A (en) | Mobile phone terminal device, content reproduction interrupting/restarting method in mobile phone terminal device, and content distribution station | |
JP2007274105A (en) | Remote operation method, communication system, mobile communication terminal, and remote server | |
KR101531284B1 (en) | An apparatus for presenting cloud streaming services, a method thereof and a system thereof | |
WO2011157035A1 (en) | Terminal and method for implementing value-added service in startup process | |
WO2017193544A1 (en) | Method, device, and electronic apparatus for downloading resource | |
US20100174825A1 (en) | Internet radio systems and methods thereof | |
US9043244B2 (en) | License consignment method and system for portable device | |
US11792568B2 (en) | Power control for speaker devices in a wireless media system | |
JP5397301B2 (en) | Content playback apparatus and content playback method | |
AU2015221545B2 (en) | Adaptive media content scrubbing on a remote device | |
EP2795898B1 (en) | Method and device for playing multimedia content | |
JP2012060461A (en) | Reproduction apparatus, reproduction method, and program | |
WO2014091085A2 (en) | Data management between computers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:XU, LEJIE;TORR, PETER JOHN;WILSON, MEI L.;AND OTHERS;SIGNING DATES FROM 20110613 TO 20110616;REEL/FRAME:026457/0434 |
|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:XU, LEJIE;TORR, PETER JOHN;WILSON, MEI L.;AND OTHERS;SIGNING DATES FROM 20110613 TO 20110616;REEL/FRAME:027659/0874 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034544/0001 Effective date: 20141014 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |