Abstract:
Third-party apps on a mobile device can expose their content, such as audio content, video content, music stations, audio books, and so forth, to an in-vehicle computing device via a standardized format for content items that is decoupled from the user interfaces of the third-party apps. In this way, the in-vehicle computing device can display the content items in an in-vehicle user interface without granting providers of the content items access to the in-vehicle user interface. This system can present the content items in a different, independent user interface, even though the content items are associated with a third-party app having its own user interface. Content items encapsulate metadata describing the media, such as a title, subtitle, artwork, playback progress, a content item type, whether the content item is playable, whether the content item is a container item, and so forth.
Abstract:
Techniques for automatically configuring and controlling a digital media device are described. A digital media device can be configured or controlled by a mobile device, e.g., a smart mobile phone. When the digital media device is being configured, the digital media device can broadcast a signal, indicating that the digital media device is requesting configuration information from a mobile device. A mobile device located in proximity of the digital media device, upon detecting the signal, can perform various security checks to determine that the request is legitimate, and then open a communication channel with the digital media device. The mobile device can provide user preferences of the mobile device, as well as credentials for accessing and downloading remote content, to the digital media device through the communication channel. Upon receiving the configuration information, the digital media device can use parameters in the configuration information as its settings.
Abstract:
Methods and systems provide synchronized sharing of multimedia between multiple devices. The multiple devices may form an ad-hoc network for sharing of multimedia. In an embodiment, group members may have playlist manipulation privileges such as pausing, rewinding, fast forwarding, or adding tracks to the playlist. A system may stream or distribute content according to the shared playlist. Playback may be synchronized for group members so that everyone is exposed to a same part of the content as the same time.
Abstract:
In some implementations, a computing system can reduce startup delays for presenting remote media items. For example, when a user requests media content from a media service, the computing system can include information about the first media item to be played in the initial startup messages to reduce the number of roundtrips needed between client and server devices to present the first media item. A media item can include an introductory asset. The introductory asset can be a portion of the full media item that can be decrypted with a local key or not encrypted at all so that a media client can receive and start presenting the introductory media asset quickly while the full media item is being processed by the media client. In some implementations, the system can remove leading silence from the media item so that the amount of delay perceived by the user is reduced.
Abstract:
In some implementations, a computing device can transfer a playback queue between the computing device and a playback device. For example, the computing device can detect when the computing device is within a threshold distance of a playback device. The computing device can establish a connection to the playback device and receive state information describing the media playback state of the playback device. The computing device can determine the media playback state of the computing device. The computing device can present graphical user interfaces for initiating a transfer of a playback queue between the computing device and the playback device based on the playback state of the devices. The computing device can initiate a transfer of the playback queue in response to user input to one of the graphical user interfaces or automatically based on the context of the computing device.
Abstract:
In some implementations, a computing device can transfer a playback queue between the computing device and a playback device. For example, the computing device can detect when the computing device is within a threshold distance of a playback device. The computing device can establish a connection to the playback device and receive state information describing the media playback state of the playback device. The computing device can determine the media playback state of the computing device. The computing device can present graphical user interfaces for initiating a transfer of a playback queue between the computing device and the playback device based on the playback state of the devices. The computing device can initiate a transfer of the playback queue in response to user input to one of the graphical user interfaces or automatically based on the context of the computing device.
Abstract:
A media process may receive, from a client application, a request for media information about a range of media items in a queue of a media application, the request being sent while the media application is executing. The queue includes a previous set of media items that have been played by the media application, a current item (e.g., currently playing), and a future set of items that are to be played The request may specify the range to include the current item and at least one item from the previous set and/or future set. The daemon sends a request to the media application and receives media information from the application. The received media information may include an order of media items and an identifier for each item in the range of items. The received information may be sent to the client application for displaying information about the range of items.
Abstract:
Users can share a content stream and can create and/or edit playlists that include content items of the content stream. Each user device, or a subset of the user devices, can edit the playback commands of the content stream once it is being shared. Playback of the content items is synchronized between the sharing devices. If one device is associated with a content restriction, an alternate version may be provided to that device. The two versions can still be played synchronously with one another.
Abstract:
A user listening to a content item on a preceding device and wishes to continue with the listening experience on a subsequent device initiates a continuity request from the subsequent device to the preceding device. The preceding device responds to the received continuity request by determining a multiverse identification that is contained in the continuity request, such that the multiverse identification uniquely identifies the content item that is currently playing on the preceding device over all known playback devices with which it has communicated. The subsequent device determines if the content item exists in a local database of the subsequent device and, if it exists, the subsequent device plays the content item from the local database of the subsequent device, and otherwise obtains the content item.
Abstract:
In some implementations, a computing device can transfer a playback queue between the computing device and a playback device. For example, the computing device can detect when the computing device is within a threshold distance of a playback device. The computing device can establish a connection to the playback device and receive state information describing the media playback state of the playback device. The computing device can determine the media playback state of the computing device. The computing device can present graphical user interfaces for initiating a transfer of a playback queue between the computing device and the playback device based on the playback state of the devices. The computing device can initiate a transfer of the playback queue in response to user input to one of the graphical user interfaces or automatically based on the context of the computing device.