CN106537838A - 云队列管理 - Google Patents

云队列管理 Download PDF

Info

Publication number
CN106537838A
CN106537838A CN201580041535.6A CN201580041535A CN106537838A CN 106537838 A CN106537838 A CN 106537838A CN 201580041535 A CN201580041535 A CN 201580041535A CN 106537838 A CN106537838 A CN 106537838A
Authority
CN
China
Prior art keywords
playback
queue
media
media item
instruction
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.)
Granted
Application number
CN201580041535.6A
Other languages
English (en)
Other versions
CN106537838B (zh
Inventor
亚瑟·L·科伯恩四世
史蒂文·贝克哈特
安德鲁·舒勒特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sonos Inc
Original Assignee
Sonos Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sonos Inc filed Critical Sonos Inc
Priority to CN201811599986.3A priority Critical patent/CN110086845B/zh
Priority claimed from PCT/US2015/033008 external-priority patent/WO2015187464A1/en
Publication of CN106537838A publication Critical patent/CN106537838A/zh
Application granted granted Critical
Publication of CN106537838B publication Critical patent/CN106537838B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/44Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/638Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/76Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet
    • H04H60/78Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by source locations or destination locations
    • H04H60/80Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by source locations or destination locations characterised by transmission among terminal devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25816Management of client data involving client authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • H04N21/8113Monomedia components thereof involving special audio data, e.g. different tracks for different languages comprising music, e.g. song in MP3 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R27/00Public address systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2227/00Details of public address [PA] systems covered by H04R27/00 but not provided for in any of its subgroups
    • H04R2227/005Audio distribution systems for home, i.e. multi-room use

Abstract

示例实现可以包括:媒体回放系统中的回放设备发送对来自媒体项目的远程队列的至少一个媒体项目的指示的请求以及由回放设备正在播放的特定媒体项目的指示。该实现还可以包括:回放设备接收来自媒体项目的远程队列的一个或更多个媒体项目的指示。该一个或更多个媒体项目可以包括由回放设备正在播放的特定媒体项目。该实现还可以包括:回放设备将该一个或更多个媒体项目的指示合并到媒体项目的本地队列中。

Description

云队列管理
对相关申请的交叉引用
本申请要求以下专利申请的优先权:2015年2月6日提交的第14/616,332号美国专利申请;2015年2月6日提交的第14/616,341号美国专利申请;以及2015年2月6日提交的第14/616,364号美国专利申请。本申请还要求2014年6月4日提交的标题为“Cloud Queue”的序列号为62/007,906的美国临时专利申请的优先权,该美国临时专利申请的全文合并到本文中。
技术领域
本公开涉及消费者产品,以及更特别地,涉及指向媒体回放或其一些方面的方法、系统、产品、特征、服务和其他要素。
背景技术
直到2003年,用于以较大声音设定来访问和聆听数字音频的选项被限制,在2003年,SONOS公司提交了标题为“Method for Synchronizing Audio Playback betweenMultiple Networked Devices”的其第一专利申请之一,并且在2005年开始公开发售媒体回放系统。Sonos无线HiFi系统使人们能够经由一个或更多个联网回放设备从多个源体验音乐。通过安装在智能手机、平板或计算机上的软件控制应用,一个人可以在具有联网回放设备的任意房间中播放他或她想要的音乐。另外,使用控制器,例如,可以将不同的歌曲流送至具有回放设备的每个房间,可以将房间分组在一起以同步回放,或者可以在所有房间中同步地聆听同一歌曲。
考虑到对数字媒体日益增长的兴趣,仍然需要开发消费者可访问的技术以进一步提高聆听体验。
附图说明
参照以下说明书、所附权利要求书和附图,可以更好地理解本公开技术的特征、方面和优点,在附图中:
图1示出可以实施某些实施方式的示例媒体回放系统配置;
图2示出示例回放设备的功能框图;
图3示出示例控制设备的功能框图;
图4示例控制器接口;
图5示出可以实施某些实施方式的计算系统;
图6示出可以实施某些实施方式的示例云计算系统;
图7是示例回放队列;
图8是使用播放头指针促进回放的示例流程图;
图9A示出可以实施某些实施方式的示例环境的第一实例;
图9B示出可以实施某些实施方式的示例环境的第二实例;
图10是使用播放头指针促进回放的另一示例流程图;
图11示出包括播放头指针的指示的示例控制器接口;
图12是使本地队列与云队列同步的示例流程图;
图13A示出可以实施某些实施方式的第二示例环境的第一实例;
图13B示出可以实施某些实施方式的第二示例环境的第二实例;
图14是使本地队列与云队列同步的另一示例流程图;
图15是识别与队列相关联的回放策略的示例流程图;
图16示出可以实施某些实施方式的第三示例环境;
图17是显示回放策略的图形指示的示例流程图;
图18A示出包括回放策略的图形指示的示例控制器接口;以及
图18B示出包括回放策略的图形指示的另一示例控制器接口。
附图是为了说明示例实施方式,但是要理解的是本发明不限于附图中示出的布置和手段。
具体实施方式
I.概述
本文所述的实施方式可以尤其涉及基于云的回放队列(“云队列”)的回放。在一些实施方式中,计算系统可以保持或使用媒体项目的云队列。这样的计算系统可以被称为远程服务器,这是因为一个或更多个网络例如局域网和广域网(例如,因特网)可以将计算系统与可以访问云队列的实体例如媒体回放系统分离。虽然这样的实体可以远程(即,经由一个或更多个网络)访问云队列,但是它们可以本地地(例如,在相应的回放设备上)回放云队列的媒体项目。各种技术可以促进这样的云队列的回放。
一些示例技术可以包含“播放头”的管理。播放头可以指示或“指向”云队列的特定媒体项目并且可以被称为“播放头指针”。播放头指针可以识别云队列中的当前正在播放的媒体项目,或者在云队列的回放正被启动的情况下识别当前将播放的媒体项目。将播放头指针分配给队列的特定位置可以具有各种优点。例如,在通过媒体回放系统的云队列的回放期间,计算系统可以通过参考播放头指针来识别要向媒体回放系统指示的特定媒体项目。播放头指针还可以促进多个媒体回放系统同步地回放云队列。
其他示例技术可以包含云队列与媒体回放系统(或多个媒体回放系统)的同步。例如,媒体回放系统可以保持或使用反映云队列的全部或一部分的本地队列(例如,通过包括由云队列指示的相同媒体项目中的一个或更多个,可能按照与云队列相同的顺序)。示例技术可以包含可能通过周期性地或在情况例如当前回放的媒体项目的改变发生时同步本地队列与云队列来保持本地队列与云队列之间的同步。
在一些实施方式中,云队列的回放可以根据一个或更多个回放策略而发生。这样的策略可以用于对云队列的媒体项目的回放或显示强加限制。例如,回放策略可以限制某些传输控件例如向前查找或向后跳过的使用。可替选地,回放策略可以限制对队列的预定回放顺序的修改。回放策略可以促进在如何允许不同媒体回放系统回放云队列方面的差异化。作为示例,两个或更多个媒体回放系统可以与限制云队列的回放的相应回放方面的相应策略相关联。例如,可以向第一媒体回放系统登记优质订户账户并且将第一媒体回放系统与第一策略相关联,而向第二媒体回放系统登记免费账户并且将第二媒体回放系统与第二策略相关联,其中,与第一策略相比,第二策略限制回放的额外方面。
如上所述,示例技术可以涉及“播放头”。在一个方面,提供了一种方法。方法可以包括:从媒体回放系统接收对用于媒体项目的特定队列的播放头指针的指示的请求。方法还可以包括:识别播放头指针在媒体项目的特定队列内的位置。队列中的每个位置可以对应于媒体项目。方法还可以包括:向媒体回放系统发送播放头指针的指示。播放头指针的指示可以指示播放头指针的分配位置。
在另一方面,提供了一种计算系统。计算系统包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中并且能够由至少一个处理器执行以执行功能的程序逻辑。功能可以包括:从媒体回放系统接收对用于媒体项目的特定队列的播放头指针的指示的请求。功能还可以包括:识别播放头指针在媒体项目的特定队列内的位置。队列中的每个位置可以对应于媒体项目。功能还可以包括:向媒体回放系统发送播放头指针的指示。播放头指针的指示可以指示播放头指针的分配位置。
在又一方面,提供了一种非暂态计算机可读存储器。非暂态计算机可读存储器具有存储在其上的能够由计算设备执行以使得计算设备执行功能的指令。功能可以包括:从媒体回放系统接收对用于媒体项目的特定队列的播放头指针的指示的请求。功能还可以包括:识别播放头指针在媒体项目的特定队列内的位置。队列中的每个位置可以对应于媒体项目。功能还可以包括:向媒体回放系统发送播放头指针的指示。播放头指针的指示可以指示播放头指针的分配位置。
在又一方面,提供了另一种方法。该方法可以包括:由媒体回放系统的控制设备接收将一个或更多个回放设备的区域与媒体项目的特定队列相关联的输入数据。方法还可以包括:由控制设备向计算系统发送对用于媒体项目的特定队列的播放头指针的指示的请求。方法还可以包括:由控制设备接收所请求的播放头指针的指示。播放头指针的指示可以指示播放头指针在媒体项目的特定队列中的分配位置并且分配位置可以对应于在特定队列中该位置处的媒体项目。
在另一方面,提供了一种设备。设备包括网络接口、至少一个处理器、数据存储装置和存储在数据存储装置中并且能够由至少一个处理器执行以执行功能的程序逻辑。功能可以包括:由媒体回放系统的控制设备接收将一个或更多回放设备的区域与媒体项目的特定队列相关联的输入数据。功能还可以包括:由控制设备向计算系统发送对用于媒体项目的特定队列的播放头指针的指示的请求。功能还可以包括:由控制设备接收所请求的播放头指针的指示。播放头指针的指示可以指示播放头指针在媒体项目的特定队列中分配位置并且分配位置可以对应于在特定队列中的该位置处的媒体项目。
在又一方面,提供了一种非暂态计算机可读存储器。非暂态计算机可读存储器具有存储在其上的能够由计算设备执行以使得计算设备执行功能的指令。功能可以包括:由媒体回放系统的控制设备接收将一个或更多个回放设备的区域与媒体项目的特定队列相关联的输入数据。功能还可以包括:由控制设备向计算系统发送对用于媒体项目的特定队列的播放头指针的指示的请求。功能还可以包括:由控制设备接收所请求的播放头指针的指示。播放头指针的指示可以指示播放头指针在媒体项目的特定队列中的分配位置并且分配位置可以对应于在特定队列中的该位置处的媒体项目。
又如上所述,示例技术可以涉及云队列的同步。在一个方面,提供了一种方法。方法可以包括向远程服务器发送:(i)对来自媒体项目的远程队列的至少一个媒体项目的指示的请求,以及(ii)由回放设备正在播放的特定媒体项目的指示。方法还可以包括:接收来自媒体项目的远程队列的一个或更多个媒体项目的指示。一个或更多个媒体项目可以包括由回放设备正在播放的特定媒体项目。方法还可以包括:将一个或更多个媒体项目的指示合并到媒体项目的本地队列中。
在另一方面,提供了一种设备。设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中并且能够由至少一个处理器执行以执行功能的程序逻辑。功能可以包括向远程服务器发送:(i)对来自媒体项目的远程队列的至少一个媒体项目的指示的请求,以及(ii)由回放设备正在播放的特定媒体项目的指示。功能还可以包括:接收来自媒体项目的远程队列的一个或更多个媒体项目的指示。一个或更多个媒体项目可以包括由回放设备正在播放的特定媒体项目。功能还可以包括:将一个或更多个媒体项目的指示合并到媒体项目的本地队列中。
在又一方面,提供了一种非暂态计算机可读存储器。非暂态计算机可读存储器具有存储在其上的能够由计算设备执行以使得计算设备执行功能的指令。功能可以包括向远程服务器发送:(i)对来自媒体项目的远程队列至少一个媒体项目的指示的请求,以及(ii)由回放设备正在播放的特定媒体项目的指示。功能还可以包括:接收来自媒体项目的远程队列的一个或更多个媒体项目的指示。一个或更多个媒体项目可以包括由回放设备正在播放的特定媒体项目。功能还可以包括:将一个或更多个媒体项目的指示合并到媒体项目的本地队列中。
在又一方面,提供了另一种方法。方法可以包括从媒体回放系统接收:(i)对来自媒体项目的远程队列的至少一个媒体项目的指示的请求,以及(ii)由媒体回放系统中的回放设备正在播放的特定媒体项目的指示。方法还可以包括:确定来自远程队列的一个或更多个媒体项目。所确定的一个或更多个项目可以包括特定媒体项目。方法还可以包含:向媒体回放系统发送所确定的来自远程队列的一个或更多个媒体项目的指示。
在另一方面,提供了一种设备。设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中并且能够由至少一个处理器执行以执行功能的程序逻辑。功能可以包括从媒体回放系统接收:(i)对来自媒体项目的远程队列的至少一个媒体项目的指示的请求,以及(ii)由媒体回放系统中的回放设备正在播放的特定媒体项目的指示。功能还可以包括:确定来自远程队列的一个或更多个媒体项目。所确定的一个或更多个项目可以包括特定媒体项目。功能还可以包括:向媒体回放系统发送所确定的来自远程队列的一个或更多个媒体项目的指示。
在又一方面,提供了一种非暂态计算机可读存储器。非暂态计算机可读存储器具有存储器其上的能够由计算设备执行以使得计算设备执行功能的指令。功能可以包括从媒体回放系统接收:(i)对来自媒体项目的远程队列的至少一个媒体项目的指示的请求,以及(ii)由媒体回放系统中的回放设备正在播放的特定媒体项目的指示。功能还可以包括:确定来自远程队列的一个或更多个媒体项目。所确定的一个或更多个项目可以包括特定媒体项目。功能还可以包括:向媒体回放系统发送所确定的来自远程队列的一个或更多个媒体项目的指示。
如上进一步所述,示例技术可以涉及队列的回放策略。在一个方面,提供了一种方法,方法可以包括:从媒体回放系统接收对来自媒体项目的队列的一个或更多个媒体项目的指示的至少一个请求。方法还可以包括:识别与媒体项目的队列相关联的一个或更多个回放策略。一个或更多个回放策略中的每个回放策略可以限制一个或更多个媒体项目中的至少一个媒体项目的回放的至少一个方面。方法还可以包括:向媒体回放系统发送识别出的一个或更多个回放策略的指示。
在另一方面,提供了一种设备。设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中并且能够由至少一个处理器执行以执行功能的程序逻辑。功能可以包括:从媒体回放系统接收对来自媒体项目的队列的一个或更多个媒体项目的指示的至少一个请求。功能还可以包括:识别与媒体项目的队列相关联的一个或更多个回放策略。一个或更多个回放策略中的每个回放策略可以限制一个或更多个媒体项目中的至少一个媒体项目的回放的至少一个方面。功能还可以包括:向媒体回放系统发送识别出的一个或更多个回放策略的指示。
在又一方面,提供了一种非暂态计算机可读存储器。非暂态计算机可读存储器具有存储在其上的能够由计算设备执行以使得计算设备执行功能的指令。功能可以包括:从媒体回放系统接收对来自媒体项目的队列的一个或更多个媒体项目的指示的至少一个请求。功能还可以包括:识别与媒体项目的队列相关联的一个或更多个回放策略。一个或更多个回放策略中的每个回放策略可以限制一个或更多个媒体项目中的至少一个媒体项目的回放的至少一个方面。功能还可以包括:向媒体回放系统发送识别出的一个或更多个回放策略的指示。
在又一方面,提供了另一种方法。方法可以包括:接收指示回放媒体项目的队列的请求的输入数据。方法还可以包括:发送对来自媒体项目的队列的一个或更多个媒体项目的指示的请求。方法还可以包含接收:(i)来自队列的至少一个媒体项目的指示,以及(ii)与媒体项目的队列相关联的一个或更多个回放策略的指示。一个或更多个回放策略中的每个回放策略可以限制来自队列的至少一个媒体项目的回放的至少一个方面。另外,方法可以包括使得图形接口显示:(i)至少一个媒体项目的图形指示,以及(ii)与至少一个媒体项目相关联的至少一个回放策略的图形指示。
在另一方面,提供了一种设备。设备包括网络接口、至少一个处理器、数据存储装置以及存储在数据存储装置中并且能够由至少一个处理器执行以执行功能的程序逻辑。功能可以包括:接收指示回放媒体项目的队列的请求的输入数据。功能还可以包括:发送对来自媒体项目的队列的一个或更多个媒体项目的指示的请求。功能还可以包括接收:(i)来自队列的至少一个媒体的指示,以及(ii)与媒体项目的队列相关联的一个或更多个回放策略的指示。一个或更多个回放策略中的每个回放策略可以限制来自队列的至少一个媒体项目的回放的至少一个方面。另外,功能可以包括使得图形接口显示:(i)至少一个媒体项目的图形指示,以及(ii)与至少一个媒体项目相关联的至少一个回放策略的图形指示。
在又一方面,提供了一种非暂态计算机可读存储器。非暂态计算机可读存储器具有存储在其上的能够由计算设备执行以使得计算设备执行功能的指令。功能可以包括:接收指示回放媒体项目的队列的请求的输入数据。功能还可以包括:发送对来自媒体项目的队列的一个或更多个媒体项目的指示的请求。功能还可以包括接收:(i)来自队列的至少一个媒体项目的指示,以及(ii)与媒体项目的队列相关联的一个或更多个回放策略的指示。一个或更多个回放策略中的每个回放策略可以限制来自队列的至少一个媒体项目的回放的至少一个方面。另外,功能可以包括使得图形接口显示:(i)至少一个媒体项目的图形指示,以及(ii)与至少一个媒体项目相关联的至少一个回放策略的图形指示。
本领域一名普通技术人员将理解的是本公开包括若干其他实施方式。本领域一名普通技术人员将理解的是本公开包括若干其他实施方式。虽然本文中描述的一些示例可能涉及由给定角色例如“用户”和/或其他实体执行的功能,但是应当理解的是本说明书仅是为了说明。除非通过权利要求它们自己的语言明确要求,否则权利要求不应当被解释为要求任何这样的示例角色的动作。
II.示例工作环境
图1示出了可以实施或实现本文中公开的一种或更多种实施方式的媒体回放系统100的示例配置。所示的媒体回放系统100与具有若干房间和空间如例如主卧、办公室、餐厅和客厅的示例家庭环境相关联。如图1的示例中所示,媒体回放系统100包括:回放设备102至124、控制设备126和128以及有线或无线网络路由器130。
在以下部分可以发现与示例媒体回放系统100的不同部件以及所述不同部件可以如何交互来为用户提供媒体体验有关的另外的论述。虽然本文中的论述可以一般涉及示例媒体回放系统100,但是本文中描述的技术不限于图1所示的家庭环境(除了其他之外)中的应用。例如,本文中描述的技术可以在可能期望多区域音频的环境中是有用的,其中,期望多区域音频的环境例如:商业环境,像餐馆、商场或机场;交通工具,像运动型多功能车(SUV)、公共汽车或小汽车、舰或船、飞机等。
a.示例回放设备
图2示出了示例回放设备200的功能框图,该示例回放设备200可以被配置成图1的媒体回放系统100的回放设备102至124中的一个或更多个。回放设备200可以包括处理器202、软件部件204、存储器206、音频处理部件208、音频放大器210、扬声器212以及包括无线接口216和有线接口218的网络接口214。在一种情况下,回放设备200可以不包括扬声器212,而可以包括用于连接回放设备200与外部扬声器的扬声器接口。在另一种情况下,回放设备200可以既不包括扬声器212也不包括音频放大器210,而是包括用于连接回放设备200与外部音频放大器或影音接收器的音频接口。
在一个示例中,处理器202可以是被配置成根据存储在存储器206中的指令来处理输入数据的时钟驱动计算部件。存储器206可以是被配置成存储能够由处理器202执行的指令的有形计算机可读介质。例如,存储器206可以是能够加载能够由处理器202执行以实现某些功能的软件部件204中的一个或更多个的数据存储装置。在一个示例中,功能可以包括回放设备200从音频源或另外的回放设备检索音频数据。在另一示例中,功能可以包括回放设备200向网络上的另一设备或回放设备发送音频数据。在又一示例中,功能可以包括回放设备200与一个或更多个回放设备的配对以创建多声道音频环境。
某些功能可以包括回放设备200与一个或更多个其他回放设备的音频内容的同步回放。在同步回放期间,听者优选地将不能感知到由回放设备200对音频内容的回放与由一个或更多个其他回放设备对音频内容的回放之间的时间延迟差。标题为“System andmethod for synchronizing operations among a plurality of independentlyclocked digital data processing devices”的第8,234,395号美国专利更详细地提供了用于回放设备之间的音频回放同步的一些示例,该申请在此通过引用合并入本文。
存储器206还可以被配置成存储与回放设备200相关联的数据,例如回放设备200是其中一部分的一个或更多个区域和/或区域组、能够由回放设备200访问的音频源或者回放设备200(或一些其他回放设备)可以与其相关联的回放队列。可以将该数据存储为周期性被更新并且用于描述回放设备200的状态的一个或更多个状态变量。存储器206还可以包括与媒体系统的其他设备的状态相关联并且有时在设备之间共享使得所述设备中的一个或更多个具有与系统相关联的最新数据的数据。其他实施方式也是可以的。
音频处理部件208可以包括一个或更多个数模转换器(DAC)、音频预处理部件、音频增强部件或数字信号处理器(DSP)等。在一个实施方式中,音频处理部件208中的一个或更多个可以是处理器202的子部件。在一个示例中,音频处理部件208可以处理和/或有意地改变音频内容以产生音频信号。然后,产生的音频信号可以被提供至音频放大器210以进行放大并且通过扬声器212回放。特别地,音频放大器210可以包括被配置成将音频信号放大至用于驱动扬声器212中的一个或更多个的水平的设备。扬声器212可以包括单独的变换器(例如,“驱动器”)或者包括具有一个或更多个驱动器的外壳的完整的扬声器系统。扬声器212的特定驱动器可以包括例如超低音扬声器(例如,用于低频)、中档驱动器(例如,用于中频)和/或高频扬声器(例如,用于高频)。在一些情况下,一个或更多个扬声器212中的每个变换器可以由音频放大器210的单独的对应音频放大器来驱动。除了产生用于由回放设备200回放的模拟信号以外,音频处理部件208可以被配置成对要被发送至一个或更多个其他回放设备以供回放的音频内容进行处理。
可以如经由音频线路输入连接(例如,自动检测3.5mm音频线路输入连接)或网络接口214从外部源接收要由回放设备200处理和/或回放的音频内容。
网络接口214可以被配置成促进回放设备200与数据网络上的一个或更多个其他设备之间的数据流动。同样地,回放设备200可以被配置成通过数据网络从与该回放设备200通信的一个或更多个其他回放设备、局域网内的网络设备接收音频内容,或者通过广域网如因特网从音频内容源接收音频内容。在一个示例中,可以以包括基于互联网协议(IP)的源地址和基于IP的目标地址的数字分组数据的形式传输由回放设备200发送和接收的音频内容和其他信号。在这种情况下,网络接口214可以被配置成对数字分组数据进行解析,使得回放设备200正确地接收和处理去往该回放设备200的数据。
如所示的,网络接口214可以包括无线接口216和有线接口218。无线接口216可以为回放设备200提供网络接口功能以根据通信协议(例如任意无线标准,包括IEEE802.11a、802.11b、802.11g、802.11n、802.11ac、802.15、4G移动通信标准等)与其他设备(例如,数据网络内的与回放设备200相关联的其他回放设备、扬声器、接收器、网络设备、控制设备)进行无线通信。有线接口218可以为回放设备200提供网络接口功能以根据通信协议(例如,IEEE 802.3)通过有线连接与其他设备进行通信。虽然图2所示的网络接口214包括无线接口216和有线接口218两者,但是在一些实施方式中网络接口214可以仅包括无线接口或仅包括有线接口。
在一个示例中,可以将回放设备200与一个其他回放设备进行配对以播放音频内容的两个分开的音频分量。例如,回放设备200可以被配置成播放左声道音频分量,而其他回放设备可以被配置成播放右声道音频分量,从而产生或增强音频内容的立体声效果。配对的回放设备(也被称为“绑定的回放设备”)还可以与其他回放设备同步地播放音频内容。
在另一示例中,可以将回放设备200与一个或更多个其他回放设备在声音上联合以形成单个联合的回放设备。因为联合的回放设备可以具有可以通过其呈现音频内容的另外的扬声器驱动器,所以联合的回放设备可以被配置成与非联合的回放设备或配对的回放设备不同地处理和再现声音。例如,如果回放设备200是被设计成呈现低频段音频内容的回放设备(即,超低音扬声器),则回放设备200可以与被设计成呈现全频段音频内容的回放设备联合。在这样的情况下,当与低频回放设备200联合时,全频段回放设备可以被配置成呈现音频内容的仅中频分量和高频分量,而低频段回放设备200呈现音频内容的低频分量。联合的回放设备还可以与单个回放设备或另一联合的回放设备配对。
举例来说,SONOS公司目前公开发售(或已经公开发售)特定回放设备,所述特定回放设备包括“PLAY:1”、“PLAY:3”、“PLAY:5”、“PLAYBAR”、“CONNECT:AMP”、“CONNECT”和“SUB”。另外地或可替选地,任意其他过去的、现在的和/或将来的回放设备可以用于实现本文中公开的示例实施方式的回放设备。另外,应当理解,回放设备不限于图2所示的示例或SONOS产品供应。例如,回放设备可以包括有线或无线耳机。在另一示例中,回放设备可以包括用于个人移动媒体回放设备的插接站或者与所述插接站交互。在又一示例中,回放设备可能是构成另一设备或部件如电视、照明器材或者供室内或室外使用的一些其他设备所必需的。
b.示例回放区域配置
再参照图1的媒体回放系统100,环境可以具有一个或更多个回放区域,每个回放区域具有一个或更多个回放设备。可以用一个或更多个回放区域来创建媒体回放系统100,此后,一个或更多个区域可以被添加或移除以达到图1所示的示例配置。可以根据不同的房间或空间如办公室、浴室、主卧、卧室、厨房、餐厅、客厅和/或阳台给每个区域命名。在一种情况下,单独的回放区域可以包括多个房间或空间。在另一种情况下,单独的房间或空间可以包括多个回放区域。
如图1所示,阳台、餐厅、厨房、浴室、办公室和卧室区域每一个具有一个回放设备,而客厅和主卧区域每一个具有多个回放设备。在客厅区域中,回放设备104、106、108和110可以被配置成:作为单独的回放设备、作为一个或更多个绑定的回放设备、作为一个或更多个联合的回放设备或者上述任意组合来同步地播放音频内容。类似地,在主卧的情况下,回放设备122和124可以被配置成:作为单独的回放设备、作为绑定的回放设备或者作为联合的回放设备来同步地播放音频内容。
在一个示例中,图1的环境中的一个或更多个回放区域中的每个回放区域可以正在播放不同的音频内容。例如,用户可以正在阳台区域烧烤并且聆听由回放设备102正在播放的嘻哈音乐,同时另一用户可以正在厨房区域准备食物并且聆听由回放设备114正在播放的古典音乐。在另一示例中,回放区域可以与另一回放区域同步地播放同一音频内容。例如,用户可以在以下办公室区域中,在该办公室区域中回放设备118正播放与阳台区域中的回放设备102正播放的摇滚音乐相同的摇滚音乐。在这样的情况下,回放设备102和118可以同步地回放摇滚音乐,使得当用户在不同回放区域之间移动时可以无缝地(或至少基本上无缝地)欣赏正被响亮播放的音频内容。如在先前引用的8,234,395号美国专利第中描述的,可以以与回放设备之间的同步方式类似的方式实现回放区域之间的同步。
如上文提出的,可以动态地修改媒体回放系统100的区域配置,并且在一些实施方式中,媒体回放系统100支持许多配置。例如,如果用户在物理上将一个或更多个回放设备移至一个区域或者从该区域移出一个或更多个回放设备,则媒体回放系统100可以被重新配置成适应一个或更多个变化。例如,如果用户在物理上将回放设备102从阳台区域移到办公室区域,则办公室区域现在可以包括回放设备118和回放设备102两者。如果需要,则可以经由控制设备如控制设备126和128将回放设备102与办公区域配对或分组在一起和/或对该回放设备102重命名。另一方面,如果一个或更多个回放设备被移至家庭环境中已经不是回放区域的特定区域,则可以针对该特定区域创建新的回放区域。
另外,可以将媒体回放系统100的不同回放区域动态地组合成区域组或者将其划分成单独的回放区域。例如,可以将餐厅区域和厨房区域114组合成用于宴会的区域组,使得回放设备112和114可以同步地呈现音频内容。另一方面,如果一个用户想在客厅空间聆听音乐而另一用户想看电视,则可以将客厅区域划分成包括回放设备104的电视区域以及包括回放设备106、108和110的聆听区域。
c.示例控制设备
图3示出了示例控制设备300的功能框图,该示例控制设备300可以被配置成媒体回放系统100的控制设备126和128中的一个或两个。还可以将控制设备300称为控制器300。如所示的,控制设备300可以包括处理器302、存储器304、网络接口306和用户接口308。在一个示例中,控制设备300可以是用于媒体回放系统100的专用控制器。在另一示例中,控制设备300可以是能够安装媒体回放系统控制器应用软件的网络设备,例如,iPhoneTM、iPadTM或者任意其他智能电话、平板或网络设备(例如,联网的计算机如PC或MacTM)。
处理器302可以被配置成执行与促进用户访问、控制和配置媒体回放系统100有关的功能。存储器304可以被配置成存储能够由处理器302运行以执行那些功能的指令。存储器304还可以被配置成存储媒体回放系统控制器应用软件以及与媒体回放系统100和用户相关联的其他数据。
在一个示例中,网络接口306可以基于行业标准(例如红外标准,无线标准,包括IEEE 802.3的有线标准,包括IEEE 802.11a、802.11b、802.11g、802.11n、802.11ac、802.15、4G移动通信标准的无线标准等)。网络接口306可以为控制设备300提供与媒体回放系统100中的其他设备进行通信的方法。在一个示例中,可以经由网络接口306在控制设备300与其他设备之间传送数据和信息(例如,如状态变量)。例如,控制设备300可以经由网络接口306从回放设备或另一网络设备接收媒体回放系统100中的回放区域和区域组配置或者控制设备300可以经由网络接口306将媒体回放系统100中的回放区域和区域组配置发送至另一回放设备或网络设备。在一些情况下,其他网络设备可以是另一控制设备。
还可以经由网络接口306将回放设备控制命令如音量控制和音频回放控制从控制设备300传送至回放设备。如上文提出的,媒体回放系统100的配置的变化还可以通过用户使用控制设备300来执行。配置变化可以除了其他之外还包括:将一个或更多个回放设备添加到区域或从区域移除一个或更多个回放设备;将一个或更多个区域添加到区域组或从区域组移除一个或更多个区域;形成绑定的或联合的播放器;从绑定的或联合的播放器分离一个或更多个回放设备。因此,不论控制设备300是专用控制器还是安装媒体回放系统控制器应用软件的网络设备,有时都可以将控制设备300称为控制器。
控制设备300的用户接口308可以被配置成通过提供控制器接口如图4所示的控制器接口400来促进用户对媒体回放系统100的访问和控制。控制器接口400包括回放控制区410、回放区域区420、回放状态区430、回放队列区440和音频内容源区450。所示的用户接口400仅是可以在网络设备如图3的控制设备300(和/或图1的控制设备126和128)上布置并且由用户访问以控制媒体回放系统如媒体回放系统100的用户接口的一个示例。可替选地,可以在一个或更多个网络设备上实现不同格式、不同类型和不同交互顺序的其他用户接口以提供对媒体回放系统的可比较的控制访问。
回放控制区410可以包括用于使所选择的回放区域或区域组中的回放设备播放或暂停、向前跳过、向后跳过、跳到下一首、跳到上一首、进入/退出随机模式、进入/退出重复模式、进入/退出交叉衰落模式的可选择(例如,通过触摸或通过使用光标)图标。除其他可能性之外,回放控制区410还可以包括用于修改均衡设定和回放音量的可选择图标。
回放区域区420可以包括媒体回放系统100中的回放区域的表示。在其他可能性中,在一些实施方式中,回放区域的图形表示可以可选择地带出管理或配置媒体回放系统中的回放区域(除了其他可能性之外,例如,绑定区域的创建、区域组的创建、区域组的分离以及区域组的重命名)的另外的可选择图标。
例如,如所示的,可以在回放区域的图形表示中的每一个中布置“分组”图标。在特定区域的图形表示中提供的“分组”图标可以可选择地带出对媒体回放系统中的要与该特定区域分组在一起的一个或更多个其他区域进行选择的选项。一旦被分组,已与特定区域分组在一起的区域中的回放设备将被配置成与特定区域中的一个或更多个回放设备同步地播放音频内容。类似地,可以在区域组的图形表示中提供“分组”图标。在这种情况下,“分组”图标可以可选择地带出取消选择区域组中的要从该区域组移除的一个或更多个区域的选项。用于经由用户接口如用户接口400对区域分组和取消分组的其他交互和实现也是可以的。随着回放区域或区域组配置被修改,可以动态地更新回放区域区420中的回放区域的表示。
回放状态区430可以包括所选择的回放区域或区域组中的目前正在被播放、先前被播放或被调度接下来要播放的音频内容的图形表示。在用户接口上如在回放区域区420和/或回放状态区430中可以视觉上区分所选择的回放区域或区域组。图形表示可以包括音轨名、艺术家姓名、专辑名、专辑年份、音轨长度以及对用户了解何时经由用户接口400来控制媒体回放系统而言有用的其他相关信息。
回放队列区440可以包括与所选择的回放区域或区域组相关联的回放队列中的音频内容的图形表示。在一些实施方式中,每个回放区域或区域组可以与包括和零个或更多个供回放区域或区域组回放的音频项目对应的信息的回放队列相关联。例如,回放队列中的每个音频项目可以包括回放区域或区域组中的回放设备可以用来从本地音频内容源或联网音频内容源查找和/或检索可能用于由回放设备回放的音频项目的统一资源标识符(URI)、统一资源定位符(URL)或一些其他标识符。
在一个示例中,可以将回放列表添加到回放队列,在这种情况下,可以将与回放列表中的每个音频项目对应的信息添加到回放队列。在另一示例中,可以将回放队列中的音频项目存储为回放列表。在又一示例中,当回放区域或区域组正连续播放流式音频内容如可以连续播放直到以其他方式被停止的因特网广播而不是回放具有回放持续时间的离散音频项目时,回放队列可以是空的或者被填充但“不在使用中”。在可替选实施方式中,当回放区域或区域组正播放因特网广播和/或其他流式音频内容项时,回放队列可以包括那些项并且“在使用中”。其他示例也是可以的。
当回放区域或区域组被“分组”或被“取消分组”时,可以清除或重新关联与所影响的回放区域或区域组相关联的回放队列。例如,如果将包括第一回放队列的第一回放区域与包括第二回放队列的第二回放区域分组在一起,则所创建的区域组可以具有关联的回放队列,所述关联的回放队列最初为空,所述关联的回放队列包括来自第一回放队列的音频项目(例如,如果第二回放区域被添加到第一回放区域),所述关联的回放队列包括来自第二回放队列的音频项目(例如,如果第一回放区域被添加到第二回放区域),或者所述关联的回放队列包括来自第一回放队列和第二回放队列两者的音频项目的组合。随后,如果所创建的区域组被取消分组,则所得到的第一回放区域可以与先前的第一回放队列重新关联,或者可以与以下新回放队列相关联,该新回放队列是空的或者包括来自与所创建的区域组被取消分组之前的该所创建的区域组相关联的回放队列的音频项目。类似地,所得到的第二回放区域可以与先前的第二回放队列重新关联,或者与以下新回放队列相关联,该新回放队列是空的或者包括来自与所创建的区域组被取消分组之前的该所创建的区域组相关联的回放队列的音频项目。其他示例也是可以的。
再参照图4的用户接口400,回放队列区440中的音频内容的图形表示可以包括音轨名、艺术家姓名、音轨长度以及与回放队列中的音频内容相关联的其他相关信息。在一个示例中,音频内容的图形表示可以可选择地带出用于管理和/或操纵回放队列和/或回放队列中表示的音频内容的另外的可选择图标。例如,除了其他可能性之外,还可以从回放队列移除所表示的音频内容,可以将所表示的音频内容移至回放队列中的不同位置,或者可以选择立即播放所表示的音频内容,或者可以选择在任何当前正播放的音频内容之后播放所表示的音频内容。与回放区域或区域组相关联的回放队列可以被存储在回放区域或区域组中的一个或更多个回放设备上的存储器中,或者可以被存储在不在回放区域或区域组中的回放设备上的存储器中,和/或可以被存储在一些其他指定设备上的存储器中。这样的回放队列的回放可以包括:一个或更多个回放设备也许按照顺序次序或随机次序回放队列的媒体项目。
音频内容源区450可以包括可选择的音频内容源的图形表示,可以从所述可选择的音频内容源检索音频内容并且由所选择的回放区域或区域组回放检索到的音频内容。在以下部分中可发现关于音频内容源的论述。
d.示例音频内容源
如前所述,区域或区域组中的一个或更多个回放设备可以被配置成从各种可用音频内容源检索供回放的音频内容(例如,根据音频内容的相应的URI或URL)。在一个示例中,回放设备可以从相应的音频内容源(例如,线路输入连接)直接检索音频内容。在另一示例中,可以通过网络经由一个或更多个其他回放设备或网络设备将音频内容提供至回放设备。
除了其他可能性之外,示例音频内容源还可以包括:媒体回放系统如图1的媒体回放系统100中的一个或更多个回放设备的存储器、一个或更多个网络设备(例如,如控制设备、能够上网的个人计算机或网络附加存储装置(NAS))上的本地音乐库、经由互联网(例如,云)提供音频内容的流式音频服务、或者经由回放设备或网络设备上的线路输入连接与媒体回放系统连接的音频源。
在一些实施方式中,可以定期地向媒体回放系统如图1的媒体回放系统100添加音频内容源或从媒体回放系统如图1的媒体回放系统100移除音频内容源。在一个示例中,无论何时添加、移除或更新一个或更多个音频内容源,都可以执行为音频项目编索引。为音频项目编索引可以包括:在能够由媒体回放系统中的回放设备访问的网络上被共享的所有文件夹/目录中扫描可识别的音频项目;以及生成或更新包括元数据(除了其他以外,例如,标题、艺术家、专辑、音轨长度)和其他关联信息如找到的每个可识别的音频项目的URI或URL的音频内容数据库。用于管理和保持音频内容源的其他示例也是可以的。
上面与回放设备、控制器设备、回放区域配置和媒体内容源有关的论述仅提供了可以在其中实现下述功能和方法的工作环境的一些示例。本文中没有明确描述的媒体回放系统、回放设备和网络设备的其他工作环境和配置也可应用于并适合于所述功能和方法的实现。
e.示例云计算功能
本文做出了对“云计算”的各种参照。术语“云计算”用于指使用分布式计算通过网络如因特网所递送的服务。经由云所递送的服务的非穷尽列表包括电子邮件(例如,)、社交网络(例如,)、文件托管(例如,)以及流式音频(例如,)。肯定也提供其他云服务。
云服务提供商可以提供用于通过网络访问他们的服务的一个或更多个接口。例如,可以通过使用网络浏览器访问网站来访问一些云服务。通过在计算设备上执行特定于云服务的特定应用来访问其他云服务。一些云服务可以提供用于促进通过第三方网站或应用来访问服务的应用程序接口(API)。云服务可以提供用于访问它们的服务的多种技术。在许多情况下,假如计算设备具有用于云服务的支持接口,则访问给定云服务的用户可以从连接至网络的任何计算设备来访问服务。
在一个实例中,访问云服务可以包括利用第一计算设备(即,客户端)、第二计算设备或系统(即,服务器)访问。除了其他可能的设备之外,示例客户端设备可以包括图2的回放设备200或图3的控制设备300。可以在服务器上运行一个或更多个程序或应用(即,指令)以执行云服务所支持的计算操作。客户端可以向服务器发送各种命令以指示服务器执行云服务所支持的计算任务。
图5示出了可以向一个或更多个用户提供云服务的示例计算系统500。示例计算系统500包括至少一个处理器502、存储器504以及网络接口506。存储器504可以包括能够由处理器502运行以执行云服务所支持的计算任务的指令。计算设备500可以经由网络接口506与其他计算设备进行通信。
总的来说,云服务的供应可以包括计算系统500的多个实例。计算系统500的每个实例可以向一个或更多个用户提供云服务。云服务提供商可以缩放涉及基于用户需求提供云服务的计算系统500的实例的数目。
“用户账户”的基于数据的表示可以促进对云服务的访问。单独的用户或一组用户可以创建基于数据的“用户账户”,也可以将“用户账户”简称为“账户”。特定用户或用户组的账户可以包括与特定用户或用户组有关的数据,用户或用户组选择提供所述数据用于与账户相关联。同样地,特定用户的账户在某种意义上可以是该特定用户的基于数据的表示。
用户可以创建用于各种应用例如网站和/或在线服务的账户。除了其他可能性之外,账户的示例还包括电子邮件账户、社交网络账户、在线金融账户、服务提供商账户。另外,在一些情况下,用户可以具有提供用于多种服务、网站、应用等的用户的基于数据的表示的单个账户。例如,用户可以选择将他们的电子邮件账户或社交网络账户用作用于可以由不同实体提供的各种在线服务和应用的常见登录。这样的基于数据的表示可以用于涉及提供服务的计算系统的实例中的任何实例以使得实例中的任何实例可以在利用服务认证了特定账户(“登录”)时提供对服务的类似访问。
账户还可以用于设备和系统。例如,诸如移动电话、平板计算机或膝上型计算机的设备的用户可以将账户与计算设备自身相关联,使得当在计算设备上认证了账户时,将利用计算设备上提供的应用来认证账户。用户还可以将账户与媒体回放系统相关联,使得当在媒体回放系统上认证了账户时,媒体回放系统根据账户的偏好来操作。此外,在一些情况下,用于各种服务的用户的账户可以彼此关联。例如,用于媒体回放系统的用户的账户可以与用于一个或更多个流式音乐服务的用户的账户相关联,以使得当用于媒体回放系统的用户的账户登录了媒体回放系统时,媒体回放系统访问与用于媒体回放系统的用户的账户相关联的一个或更多个流式音乐服务。
图6示出了示例云600。示例云600可以包括经由一个或更多个网络互连的任何数目的计算设备。例如,云600可以包括计算系统500的一个或更多个实例。如图6所示,媒体回放系统610、620和630与云600相连。媒体回放系统610包括回放设备612和614以及控制设备616,每个设备具有与云600的相应连接。同样地,媒体回放系统620包括回放设备622和624以及控制设备626,每个设备也具有与云600的相应连接。并且,媒体回放系统630包括回放设备632和634以及控制设备636,每个设备也具有与云600的相应连接。
媒体回放系统610、620和630使用云600可以分别访问各种云服务。例如,媒体回放系统610、620和630可以访问一个或更多个流式音频服务602。如上所述,流式音频服务可以向媒体回放系统提供音频内容。当前可用的若干示例流式音频服务包括: GOOGLE PLAY MUSICALLSONY MUSICITUNESXBOX以及TUNEIN肯定存在其他流式音频服务,并且将来可以提供其他流式音频服务。
媒体回放系统610、620和630还可以分别访问一个或更多个社交网络服务604。通常,社交网络服务的特点至少部分在于服务的用户之间(或服务的账户之间)的各种链接。除了其他示例之外,由不同名称如“朋友”、“联系”、“追随者”或“喜爱”来查阅这样的链接。出于各种原因用户可以创建这样的链接。例如,在一些情况下,用户可以具有社交网络之外的关系(例如,同事、亲属或大学朋友)。在其他情况下,两个用户可以具有类似的兴趣(例如,特定乐队或流派的粉丝)或属于某个组并且然后由于他们共享这些类似的兴趣因而在社交网络中形成链接。
云服务提供商可以提供云队列服务606。云队列服务606可以保持或访问一个或更多个回放队列(云队列)。在一些实例中,云队列服务606可以保持用于利用云队列服务606注册的媒体回放系统的回放队列。可以将这样的回放队列称为云队列。在其他实例中,云队列服务606可以也许利用在任何时刻“激活的”(即,“被选择的”)一个特定的云队列来保持用于特定媒体回放系统的多个云队列。在另外的实例中,云队列服务606可以保持多个媒体回放系统可以访问的云队列。一个或更多个计算系统可以用于提供云队列服务606并且在数据存储装置中保持一个或更多个云队列。
访问云队列可以包括关于云队列的各种操作中的任何操作。例如,一些设备可以访问云队列以修改(例如,添加、移除或重新排序)云队列服务606保持的回放队列中的媒体项目。这样的设备可以包括控制设备如控制设备300或具有用于与云队列服务606通信的网络接口的任何适当设备。作为另一示例,媒体回放系统如媒体回放系统610和620可以访问云队列以回放云队列。
媒体回放系统的设备可以提供使得媒体回放系统访问队列的控制输入。例如,媒体回放系统的控制设备(例如,控制设备300)可以提供包括各种控件的接口(例如,控制器接口400)。控制设备可以检测在这样的控件处的输入并且响应式地执行关于云队列的操作。可替选地,媒体回放系统中的回放设备可以包括可操作成生成请求关于云队列的各种操作的输入数据的各种控件(例如,按钮)。
云队列可以具有各种优点。例如,保持(例如,托管)在计算系统(例如,服务器)上的云队列可以是通过多个媒体回放系统可访问的,其中,所述多个媒体回放系统可以在物理上位于不同家庭中。该类型的可访问性可以允许各种接合(“社交)功能。作为一个示例,多个媒体回放系统可以同步地回放云队列,使得多个媒体回放系统的相应用户可以体验社交性的聆听会话。作为另一示例,云队列可以在如何和在何处修改队列(例如,添加、移除或重新排序的媒体项目)方面提供较大的灵活性,这是因为一些实施方式可以具有使得设备能够经由网络请求修改云队列的功能。例如,用户可以一边忙碌一边使用智能手机对云队列进行修改,并且之后在用户的媒体回放系统存在的情况下聆听该云队列。云队列可以在在何处回放队列(例如,可以在家庭媒体回放系统和工作媒体回放系统二者上回放云队列)方面促进较大的灵活性。流式音频服务(例如,流式音频服务602)可以促进云队列,这是因为不同物理位置处的媒体回放系统可以各自通过一个或更多个流式音频服务而使用相同媒体项目。
可以使用各种技术来控制或限制对云队列的访问。一些示例技术可以包括基于正在访问云队列的实体的身份来控制对云队列的访问。其他示例技术可以包括基于云队列自身的配置或设置来控制对云队列的访问。
图7示出了示例回放队列700。回放队列700包括条目702至732的列表。条目702至732通过具有与每个条目相关联的每首歌曲的相应元数据而包括分别在位置1至16的歌曲A至P。元数据还可以包括指示每首歌存储在何处的指示如统一资源标识符(URI)。例如,对于特定歌曲,元数据可以包括以下统一资源定位符(URL),所述统一资源定位符(URL)指示可以从流式音频服务如图6中所描述的流式音频服务602中在何处可以检索到该特定歌曲。歌曲A至P可以表示上面所指出的示例音频项目中的任何示例音频项目。虽然通过示例将回放队列700示为包括15个条目,但是在分别向回放队列700添加(即,插入)媒体项目或从回放队列700移除(即,删除)媒体项目的情况下,回放队列700可以获取另外的条目或者具有较少的条目。媒体回放系统可以也许以某一顺序来回放队列700,如按照位置的顺序回放或随意(随机)回放。
云队列服务如云队列服务606可以保持用于一个或更多个媒体回放系统的回放队列700,并且可以将回放队列700称为“云队列”。例如,图5的计算系统500的实例(可以提供云队列服务606)可以保持用于媒体回放系统610的回放队列700。在这样的示例中,回放设备612和/或回放设备616可以将回放队列700的本地拷贝也许保持在存储器中,如图2的存储器206。可替选地,可以将回放队列700保持在另一计算系统上,如图3的控制设备300的实例。这样的本地拷贝可以提供云队列的缓存实例,使得除了其他益处之外媒体回放系统的设备还可以访问本地拷贝并且避免在访问云队列时可能涉及的传输延迟。
上面与回放设备、控制器设备、回放区域配置、媒体内容源以及云计算有关的论述仅提供了可以在其中实现下述功能和方法的工作环境的一些示例。本文中没有明确描述的媒体回放系统、回放设备以及网络设备的其他工作环境和配置也可以应用于并适合于功能和方法的实现。
图8、10、12、14、15和17中分别示出的方法800、1000、1200、1400、1500和1700呈现了可以在以下的工作环境中实现的方法的实施方式,所述工作环境包括例如图1的媒体回放系统100、图2的回放设备200中的一个或更多个、图3的控制设备300中的一个或更多个或者图5的计算系统500中的一个或更多个。此外,作为示例示为由媒体回放系统执行的操作可以由任何合适的设备例如媒体回放系统中的回放设备或控制设备来执行。方法800、1000、1200、1400、1500和1700可以包括分别由图8、10、12、14、15和17示出的框中的一个或更多个框示出的一个或更多个操作、功能或动作。虽然按照顺序次序示出了框,但是也可以并行地和/或按照不同于本文所述的那些顺序的顺序来执行这些框。此外,可以基于期望的实现来将各个框组合到较少的框中、划分成另外的框以及/或者移除。
另外,对于本文中公开的方法和其他处理,流程图示出了当前实施方式的一种可能的实现的功能和操作。就该点而言,每个框可以表示程序代码的模块、片段或一部分,程序代码包括能够由处理器执行的用于实现处理中的特定逻辑功能或步骤的一个或更多个指令。可以将程序代码存储在任意类型的计算机可读介质上,例如包括磁盘或硬盘驱动器的存储设备。计算机可读介质可以包括非暂态计算机可读介质,例如将数据存储短时间段的计算机可读介质如寄存存储器、处理器高速缓冲存储器和随机存取存储器(RAM)。例如,计算机可读介质还可以包括非暂态介质如辅助存储器或持久长期存储装置,如只读存储器(ROM)、光盘或磁盘、致密盘只读存储器(CD-ROM)。计算机可读介质还可以是任何其他易失性或非易失性存储系统。例如,可以将计算机可读介质视为计算机可读存储介质或有形存储设备。另外,对于本文中公开的方法和其他处理,每个框可以表示被布线成执行处理中的特定逻辑功能的电路。
III.使用播放头来促进回放的示例技术
如上所述,本文所述实施方式可以包括指示云队列的特定媒体项目的播放头指针。播放头指针可以通过向远程服务器和/或向正在访问队列的媒体回放系统识别当前正在播放的媒体项目(或者,媒体回放系统准备回放的媒体项目)来促进队列的回放。
在一些示例中,回放指针可以通过减轻一些时延影响来促进队列的回放。不像通过媒体回放系统进行的对本地队列的本地回放,通过媒体回放系统进行的对云队列的本地回放可以包括另外的操作:与保持或使用云队列的远程服务器通信。因为保持云队列的远程服务器和可以回放云队列的媒体回放系统被一个或更多个网络分离,所以显著的时延可以存在于远程服务器与每个媒体回放系统之间。该时延会使得远程系统变得与媒体回放系统中的一个或更多个“不同步”。例如,远程服务器和媒体回放系统可能将队列中的不同媒体项目识别为当前正在播放的媒体项目。使用回放指针可以减轻这样的问题并且还可以具有其他优点。
图8示出使用播放头指针来促进回放的示例方法800。在示例中,计算系统(例如,服务器)可以保持用于队列的播放头指针
a.接收对播放头指针的指示的请求
在方法800的框802处,方法包括接收对播放头指针的指示的请求。例如,计算系统例如图5的计算系统500可以接收对用于计算系统保持或使用的媒体项目的特定队列的播放头指针的指示的请求。队列可以是云队列,例如图7的回放队列700的实例。
如上所述,可以将播放头指针分配给媒体项目的队列中的位置。队列中的每个位置可以对应于媒体项目,使得通过将播放头指针分配给队列的特定位置,播放头指针指示在队列内的该位置处的特定媒体项目。在操作中,播放头指针可以识别云队列的当前播放的媒体项目,或者在云队列的回放被启动的情况下识别当前将播放的媒体项目。
媒体回放系统可以发送对播放头指针的指示的请求作为执行某些操作的一方面。如上所述,媒体回放系统可以访问队列。这样的访问除其他示例之外还可以包括队列的回放、队列的显示或队列的操纵。这些操作中的一些可能涉及用于队列的播放头指针,这是因为播放头指针可以识别与操作有关的特定媒体项目。例如,如上所述,播放头指针可以识别云队列的当前播放的媒体项目,或者在云队列的回放被启动的情况下识别将播放的媒体项目。因此,在执行某些操作时,媒体回放系统可以发送对播放头指针的指示的请求。在请求(以及此后接收)所请求的指示之后,媒体回放系统可以使用所接收到的播放头指针的指示来继续执行那些操作。
在一些实施方式中,媒体回放系统可以向保持或使用队列的计算系统发送对播放头指针的指示的请求。例如,媒体回放系统中的回放设备(例如,图2的回放设备200)或控制设备(例如,图3的控制设备300)可以向通过保持媒体项目的云队列来帮助提供云服务的计算系统发送请求。媒体回放系统和计算系统可以被一个或更多个网络(例如,一个或更多个局域网或一个或更多个广域网例如因特网)所分离,使得计算系统远离媒体回放系统。例如,媒体回放系统的设备可以位于家或工作场所中,而保持云队列的计算系统可以位于数据中心中。一个或更多个网络可以通信地耦合各个系统。
图9A示出包括保持云队列912的远程服务器902的示例环境900A。云队列912表示可以通过云服务来保持的媒体项目的示例队列。云队列912可以是图7的回放队列700的实例,或者包括不同顺序的媒体项目。云队列912包括一系列媒体项目,按照顺序包括代表性的媒体项目歌曲A、歌曲B、歌曲C、歌曲D、歌曲E和歌曲F。
如图9A所示,远程服务器902通过一个或更多个网络910连接至媒体回放系统904、媒体回放系统906和媒体回放系统908,其中,所述一个或更多个网络910可以包括一个或更多个广域网例如因特网以及一个或更多个局域网(例如,802.11无线局域网或802.3有线局域网或其组合)。在操作中,媒体回放系统904、媒体回放系统906和媒体回放系统908中的一个或更多个可以连接至远程服务器902以访问云队列912。如上所述,这样的访问除了其他之外还可以包括云队列912的回放、显示或修改。
在一些实施方式中,媒体回放系统例如媒体回放系统904可以与云队列912相关联。这样的关联可以导致对于媒体回放系统904云队列912是可访问的(例如,回放)。在一些示例中,媒体回放系统904可能已经请求远程服务器902生成云队列912,并且由于已经请求生成云队列912而与云队列912相关联。在其他示例中,另外的媒体回放系统(例如,媒体回放系统906或908)可能已经创建了云队列912并且媒体回放系统904可以通过各种关联过程之一变得与云队列912相关联。例如,媒体回放系统904可以(可能经由远程服务器902从媒体回放系统906)接收访问云队列912的邀请。
作为另一示例,媒体回放系统可以与相应的用户账户相关联。这样的用户账户转而可以与社交网络的相应用户账户相关联(例如,代表给定用户的媒体回放系统的用户账户可以与同样代表给定用户的社交网络化服务的用户账户相关联)。假定这样的账户间的联系在社交网络内创建(例如,账户是“朋友关系”),则媒体回放系统904可以选择性地连接至由与这样有联系的账户相关联的媒体回放系统创建的云队列。
如上所述,媒体回放系统可以发送对播放头指针的指示的请求作为执行某些操作的一方面。在一些实施方式中,媒体回放系统可以发送这样的请求作为回放的一方面。例如,媒体回放系统904可以准备回放可能在媒体回放系统904的一个或更多个回放设备上的云队列912。在一些实施方式中,准备播放队列可以包括:将特定队列设置为用于至少一个回放设备的有效队列。例如,一组回放设备(例如,“区域”)可以使用多个队列,其中,任一队列在任意实例处是有效的。作为示例,媒体回放系统904可以可能在接收到请求这样的配置的输入数据时将云队列912设置为其有效队列。在示例中,准备播放队列可以包括另外的或替选的操作。
在示例中,准备回放云队列912可以包括:接收指示启动云队列912的回放的请求的输入数据。这样的输入数据可以使得媒体回放系统执行与云队列的回放有关的进一步的操作(例如,发送对用于云队列的播放头的指示的请求)。在一些情况下,控制设备可以在回放控制区(例如,图4的回放控制区410)中的“播放”传送控件被选择时接收这样的输入数据。可替选地,控制设备可以接收指示对云队列912的媒体项目的选择的输入数据。这样的输入可以在回放队列区(例如,图4的回放队列区440)中被接收。
如上所述,媒体回放系统的设备(例如,控制设备)可以保持本地队列,该本地队列提供云队列的缓存实例。本地队列914是这样的队列的示例。在操作中,媒体回放系统904的设备可以可能在回放队列区中显示本地队列914的指示,并且通过这样的显示还示出了通过本地队列反映的云队列的表示。设备可以接收针对云队列的但是是相对于显示的本地队列(例如,选择显示的本地队列中的特定媒体项目)的输入(例如,指示回放以特定媒体项目开始的云队列的请求的输入数据)。这样的布置可以在一些情况下减小感知到的时延的量,这是因为可以相对于本地队列来执行操作。这样的操作可以被传送至云队列。
如上所述,在一些实施方式中,在特定队列的回放中包括的操作可以导致媒体回放系统发送对用于特定队列的播放头指针的指示的请求。例如,媒体回放系统904的控制设备或回放设备可以使用网络接口通过一个或更多个网络910向远程服务器902发送这样的请求。远程服务器902可以使用相应的网络接口来接收请求。
在示例中,媒体回放系统还向计算系统发送媒体回放系统要回放的媒体项目的指示。例如,如上所述,媒体回放系统904可以接收指示要回放的云队列的特定媒体项目的输入数据。媒体回放系统904可以向远程服务器902发送指示特定媒体项目的媒体项目标识符(例如,URI)。远程服务器902可以接收这样的标识符,这样的标识符会影响播放头指针在云队列912中被分配于何处。例如,计算系统可以将播放头指针分配给队列中的以下位置:该位置对应于由所接收到的媒体项目标识符所确定的媒体项目。在示例中,这样的标识符可以与对播放头指针的指示的请求一起或者以单独的消息的方式被发送至计算系统。
在其他情况下,可能不会以这样的消息来指示要回放的特定媒体项目。例如,计算系统可以接收在特定队列的起始处(即,在第一媒体项目处)回放特定队列的请求。作为示例,媒体回放系统904可能已接收到对应于对播放传送控件的操纵的输入数据,其中,对播放传送控件的操纵可对应于队列中的默认媒体项目(例如,队列中排第一的媒体项目或者最后被回放的媒体项目)并且发送从该媒体项目开始回放云队列912的请求。
b.识别播放头指针
在图8的框804处,方法包括识别播放头指针。例如,计算系统可以识别播放头指针已被分配给的媒体项目的队列中的位置。队列中的每个位置可以对应于媒体项目,使得分配的播放头指针指示在队列中的该位置处的特定媒体项目。可替选地,计算系统可以将播放头指针分配给媒体项目的队列中的位置。计算系统可以在接收对用于队列的播放头指针的指示的请求时识别播放头指针。
图9B示出示例环境900B。如上关于图9A所述,远程服务器902可以保持云队列912并且从媒体回放系统904(或者,另一媒体回放系统)接收对用于云队列912的播放头指针的指示的请求。如图9B所示,计算系统可以识别播放头指针916在回放云队列912中的位置。出于说明的目的,在图9B中将播放头指针916描绘为指向回放队列700的特定位置(’1’)的图形化箭头图标。通过将播放头指针916分配给位置’1’,播放头指针可以指示位置1的媒体项目。如图所示,回放队列700的位置’1’对应于歌曲A。
队列中的每个位置可以对应于不同URI。因此,在一些实施方式中,播放头指针可以与对应于位置的URI相关联。URI可以包括识别由播放头指针指示的位置的一串字符。远程实体例如媒体回放系统可以使用特定协议例如超文本传输协议(HTTP)或文件传输协议(FTP)来访问播放头指针被分配给的位置。URI的一部分可以指示经由协议来访问或获得该位置处的媒体项目的操作。
如上所述,在一些情况下,播放头指针可能还未被分配给特定位置。在这样的情况下,识别播放头指针可以包括:可能在确定播放头指针尚未被分配时或者在接收到将播放头指针分配给不同位置的请求时,将播放头指针分配给媒体项目的队列中的位置。例如,计算系统可以将播放头指针916分配给云队列912内的位置(例如,位置’1’)。此外,在另外的情况中,播放头指针可能还未被创建。在这样的情况下,计算系统可以生成被配置成指示特定队列中的位置的播放头指针,并且可能将所生成的播放头指针分配给队列内的位置。
在其他情况下,播放头指针可能基于之前对用于队列的播放头指针的指示的请求已被分配给队列中的位置。在这样的情况下,识别播放头指针可以包括:可能通过查询保持播放头指针的数据存储装置来确定播放头指针的分配位置。
在一些情况下,计算系统可以接收指示媒体回放系统要回放的特定媒体项目的媒体项目标识符(可能与对播放头指针的指示的请求一起或者以单独的消息的方式)。媒体回放系统可以基于接收到指示特定媒体项目的输入数据(例如,指示播放云队列的特定媒体项目的请求的输入数据)来将这样的媒体项目标识符发送至计算系统。在接收这样的媒体项目标识符之后,计算系统可以将播放头指针分配给队列内的对应于媒体项目的位置。例如,媒体回放系统904可以接收指示歌曲B的媒体项目标识符并且将播放头指针分配给云队列912中对应于歌曲B的位置(位置’2’)。在这样的情况下,媒体回放系统可以将回放指针分配给队列中的对应于特定媒体项目的特定位置(例如,至位置’2’)。
在其他情况下,计算系统可能不接收媒体回放系统要回放的特定媒体项目的指示,这可能是因为媒体回放系统正准备播放默认项目。例如,如上所述,远程服务器902可以接收在特定队列的起始处或者可替选地在一些其他默认位置例如云队列912中最后回放的媒体项目的位置处回放云队列912的请求。在这样的情况下,媒体回放系统可以将回放指针分配给队列中的对应于该媒体项目的特定位置。
如上所述,在一些情况下,计算系统可以接收将播放头指针分配给不同位置的请求。媒体回放系统可以在某些条件下将这样的请求发送至计算系统。例如,媒体回放系统可以接收请求涉及播放头的分配位置的改变的操作的输入数据(例如,指示改变当前播放的媒体项目的传送控件的输入数据)。作为另一示例,媒体项目可能结束在媒体回放系统处的回放,并且媒体回放系统可以将对此的指示发送至计算系统。
在一些实施方式中,媒体回放系统可以保持本地播放头指针。如上所述,媒体回放系统可以保持表示云队列(可能通过反映云队列的全部或一部分)的本地队列。媒体回放系统可以将本地播放头指针分配给本地队列中的特定位置。在一些实例中,媒体回放系统可以发送本地播放头指针在本地队列中的位置的指示。例如,媒体回放系统可以可能基于输入数据(例如,改变当前播放的媒体项目的传送控件)或在媒体项目结束回放时改变本地播放头指针的分配位置。在接收到本地播放头指针在本地队列中的位置的指示之后,计算系统可以确定本地播放头指针在本地队列中的位置是否不同于(云队列中的)播放头指针的分配位置。假定本地播放头指针和云队列的播放头指针的相应位置不同,则计算系统可以将播放头指针重新分配给云队列中的对应于本地播放头指针在本地队列中的位置的位置。以这样的方式,可以使本地队列和云队列的播放头同步。
c.发送播放头指针的指示
在图8的框806处,方法包括发送播放头指针的指示。例如,计算系统可以发送分配的播放头指针的指示。播放头指针的指示可以指示播放头指针的分配位置,以便指示在队列内的该位置处的特定媒体项目。重新参照图9B,远程服务器902可以经由网络接口通过一个或更多个网络向媒体回放系统904发送播放头指针916的指示。
在一些情况下,发送播放头指针的指示可以包括:发送指示统一资源标识符的数据。如上所述,URI可以指示播放头指针在媒体项目的队列中的分配位置。例如,远程服务器902可以将指示位置’1’的URI发送至媒体回放系统904。
如上所述,媒体回放系统904可以在执行某些操作时使用播放头指针的指示。例如,在接收到播放头指针的指示之后,媒体回放系统可以在播放头指针的分配位置处启动队列的回放。在一些示例中,发送播放头指针的指示可以使得媒体回放系统在播放头指针的分配位置处启动队列的回放,这是因为接收这样的消息可以指示媒体回放系统在播放头指针的分配位置处启动队列的回放。如上所述,在一些情况下,媒体回放系统可以包括一个或更多个回放设备的区域。例如,媒体回放系统904可以包括被一起分组成区域(区域可以与作为区域的有效队列的云队列912相关联)的两个回放设备。在这样的实例中,播放头指针的指示可以使得区域的回放设备同步地启动媒体项目的回放。
在一些实现中,其上存储或保持本地队列的设备(例如,回放设备)可以控制队列的定位。在这样的布置下,操纵播放头指针的分配位置的请求可以穿过设备并且然后传送至其上存储或保持有对应的云队列的计算系统。在一些情况下,请求对播放头的操纵的设备与保持播放头的设备之间的时延可以产生出现竞争条件的可能性。通过首先操纵本地队列的播放头的分配位置并且然后将新的位置传送至云队列,可以避免这样的问题。
作为操作中的这样的布置的示例,计算系统(例如,远程服务器902)可以接收操纵播放头指针的分配位置的命令的指示。这样的指示可以从控制设备(例如,媒体回放系统904的控制设备)被接收。控制设备可以基于接收到指示改变当前播放(或者,当前暂停)的歌曲(歌曲可以是播放头指针被分配给的媒体项目)的请求的输入数据而发送这样的请求。如上所述,在操作中,控制设备可以提供包括用于改变这样的媒体项目的控件(例如,传送控件)的用户接口(例如,图4的用户接口400)。基于这样的请求,远程服务器902可以向媒体回放系统904发送操纵播放头指针的分配位置的命令的指示。媒体回放系统904可以操作播放头指针在本地队列914上的位置并且将播放头指针的(请求的操纵之后的)新位置的指示发送至远程服务器902。远程服务器902可以接收播放头指针的新位置的指示,并且将播放头指针916重新分配给云队列912中的新位置。然后,远程服务器902可以向控制设备发送播放头指针的位置已被重新分配的指示。
在示例中,计算系统可以将状态分配给请求访问云队列的实体。给定的状态可以授权被分配了该状态的实体执行关于播放头指针的某些操作。可以将不同的状态分配给不同的实体。每个状态可以授权实体执行关于播放头指针的一组不同的操作,使得每个状态提供对于播放头指针的特定访问级别。例如,重新参考图9B,远程服务器902可以将第一状态分配给媒体回放系统904并且将第二状态分配给媒体回放系统906。第一状态和第二状态可以分别授权媒体回放系统904和媒体回放906执行第一组操作和第二组操作。远程服务器902也可以向媒体回放系统906分配状态(例如,第一状态或第二状态,或者授权实体执行第三组操作的第三状态)。
作为一个示例,计算系统可以将“拥有者”状态和“订户”状态分配给相应实体(例如,媒体回放系统904和媒体回放系统906)。拥有者状态可以授权实体(例如,媒体回放系统904(或者,媒体回放系统904的特定设备或一组设备))执行第一组操作。第一组操作可以包括对应于对播放头指针的操纵的操作(例如,创建用于队列的播放头指针或者改变播放头指针在队列中的分配位置的操作)。订户状态可以授权实体(例如,媒体回放系统906(或者,媒体回放系统906的特定设备或一组设备))执行不同于第一组操作的第二组操作。第二组操作可以包括对应于“读”访问的操作。“读”访问操作可以包括读取播放头指针被分配的位置的操作,但是可以排除涉及对播放头指针的操纵的操作。读访问可以包括:在回放设备与播放头指针同步地回放云队列时包括的操作。在一些情况下,第一组操作可以包括第二组操作,并且被称为“完全”访问。
在一些情况下,计算系统可以将具有拥有者状态的实体的数目限制于实体阈值数目。例如,播放头指针可以具有六个拥有者但多个订户。在一些情况下,媒体回放系统内的不同设备可以具有不同状态。例如,控制设备可具有读访问,而回放设备具有完全访问。如上所述,其上存储或保持本地队列的回放设备可以控制播放头指针的位置。其他布置也是可行的。
此外,如上所述,不同媒体回放系统可以具有不同状态。这样的布置可以促进不同媒体回放系统之间的共同聆听。例如,重新参照图9B,远程服务器902可以将允许对播放头指针916的完全访问的拥有者状态分配给媒体回放系统904。这样的状态可以可能通过经由一个或更多个网络910发送对这样的操纵的请求来允许媒体回放系统904操纵播放头指针916的位置。远程服务器902可以将允许对播放头指针916的读访问的订户状态分配给媒体回放系统906和908。这样的状态可以允许媒体回放系统906和908与播放头指针916同步地回放云队列912(例如,回放在分配了播放头指针916的位置处的媒体项目)。在该布置下,回放系统902可以充当“DJ”,而媒体回放系统906和908可以充当通过DJ确定的回放顺序的聆听者。
IV.使用播放头来促进回放的第二示例技术
如上所述,本文所述实施方式可以涉及指示云队列的特定媒体项目的播放头指针。播放头指针可以通过向远程服务器和/或向正在访问队列的媒体回放系统识别当前正在播放的媒体项目(或者,媒体回放系统准备回放的媒体项目)来促进队列的回放。
图10示出使用播放头指针来促进回放的示例方法1000。在示例中,媒体回放系统的设备(例如,控制设备或回放设备)可以执行涉及播放头指针的操作以促进回放。
a.接收将回放设备与队列相关联的输入数据
在图10的框1002处,方法包括接收将一个或更多个回放设备与队列相关联的输入数据。例如,设备例如图3的控制设备300可以接收将一个或更多个回放设备的区域(例如,组)与媒体项目的特定队列相关联的输入数据。队列可以是云队列,例如图7的回放队列700。设备可以通过用户接口(例如,用户接口308)接收这样的输入数据。用户接口可以包括控制器接口例如图4的控制器接口400,控制器接口400可以包括具有控件和/或信息的各个区域。
在示例中,特定媒体回放系统可以保持或使用队列或多个队列。该多个队列可以包括本地队列(即,由媒体回放系统的设备保持的队列)和/或云队列(即,由通过至少一个广域网(例如,因特网)与媒体回放系统相分离的系统保持的队列)。如上所述,在一些实例中,本地队列可以反映云队列或云队列的一部分,以便提供对于媒体回放系统而言在本地(例如,在公共局域网中)的云队列的实例。媒体回放系统的控制器接口可以显示媒体回放系统保持或使用的队列的指示。
媒体回放系统可以创建(和保持)本地队列或者可以使用由远程实体(例如,远程服务器和/或远程媒体回放系统)保持的队列。在一些实施方式中,媒体回放系统可以接收由远程实体保持的一个或更多个队列的指示。媒体回放系统的控制设备可以显示由远程实体保持的一个或更多个队列的指示(以及可能还显示保持在媒体回放系统中的一个或更多个本地队列)。这样的指示可以显示在控制器接口例如图4的控制器接口400中。
如上所述,可以将特定媒体回放划分成包括一个或更多个相应回放设备的一个或更多个区域。在示例中,区域的回放设备可以被配置成通过同步地回放相同内容或者通过同步地回放相同内容的一部分(例如,立体声通道)来同步地回放媒体项目。
在操作中,由媒体回放系统的设备接收的输入数据可以导致媒体回放系统(或者,媒体回放系统的设备)将一个或更多个回放设备的区域与媒体项目的特定队列(例如,媒体回放系统保持或使用的多个队列中的任一个)相关联。通过这样的关联,可以将与区域相关联的特定队列视为用于该区域的“有效”队列。有效队列的回放可以包括在区域的一个或更多个回放设备上的队列的媒体项目的回放。在示例中,媒体回放系统可以将媒体回放系统的任何区域与媒体回放系统保持或使用的任何队列相关联。例如,重新参照图1,媒体回放系统100可以将客厅区域(包括回放设备104、106、108和110)与特定队列(例如,图7的队列700)相关联。然后,特定队列的回放包括在回放设备104、106、108和110上的队列700的媒体项目的回放。
例如,重新参照图9B,媒体回放系统904可以包括被配置成同步地播放音频的回放设备(例如,回放设备200的一个或更多个实例)的至少一个区域。媒体回放系统904的控制设备可以接收以下输入数据:该输入数据将云队列912与媒体回放系统904的特定区域相关联,使得云队列912是区域的有效队列。
在示例中,接收将一个或更多个回放设备的区域与媒体项目的特定队列相关联的输入数据可以使得媒体回放系统执行一个或更多个操作以促进队列的回放。这样的操作可以涉及播放头指针。
b.发送对播放头指针的指示的请求
在框1004处,方法包括发送对播放头指针的指示的请求。例如,媒体回放系统的设备(例如,控制设备)可以向计算系统例如图5的计算系统500发送对用于计算系统保持或使用的媒体项目的特定队列(例如,云队列)的播放头指针的指示的请求。
如上所述,可以将播放头指针分配给媒体项目的队列中的位置。队列中的每个位置可以对应于媒体项目,使得通过将播放头指针分配给队列的特定位置,播放头指针指示在队列中的该位置处的特定媒体项目。在操作中,播放头指针可以识别云队列中的当前正在播放的媒体项目,或者在云队列的回放被启动的情况下将播放的媒体项目。
如上进一步所述,媒体回放系统可以发送对播放头指针的指示的请求,作为执行某些操作的一方面。如上所述,媒体回放系统可以访问队列。这样的访问除了其他示例之外还可以包括队列的回放、队列的显示或队列的操纵。这些操作中的一些会涉及用于队列的播放头指针,这是因为播放头指针可以识别与操作有关的特定媒体项目。例如,在媒体回放系统的区域与云队列相关联之后,媒体回放系统的设备可以发送对播放头指针的指示的请求。如上所述,播放头指针可以识别云队列中的当前正在播放的媒体项目,或者在云队列的回放被启动的情况下被配置成开始在回放设备上回放的媒体项目。
在一些实施方式中,媒体回放系统可以向保持或使用队列的计算系统发送对播放头指针的指示的请求。例如,媒体回放系统中的回放设备(例如,图2的回放设备200)或控制设备(例如,图3的控制设备300)可以向通过保持媒体项目的云队列来帮助提供云服务的计算系统发送请求。媒体回放系统和计算系统可以被一个或更多个网络(例如,一个或更多个本地网络以及一个或更多个广域网例如因特网)所分离,使得计算系统与媒体回放系统远离。例如,媒体回放系统的设备可以位于家中或工作场所中,而保持云队列的计算系统可以位于数据中心中。一个或更多个网络可以通信地耦合相应的系统。
例如,重新参照图9B,媒体回放系统904的特定区域可以与云队列912相关联,使得云队列912是区域的有效队列。在这样的关联之后,媒体回放系统904的设备(例如,控制设备)可以向远程服务器902发送对用于云队列912的播放头指针的指示的请求。如上所述,在接收这样的请求之后,远程服务器902可以识别在云队列912中的云队列912的播放头指针被分配给的位置。在一些情况下,远程服务器902可以创建播放头指针和/或将播放头指针分配给位置。例如,如上所述,远程服务器902可以将播放头指针916分配给云队列912中的位置’1’。
在一些实施方式中,媒体回放系统904还可以向远程服务器902发送可能具有对播放头指针的指示的请求的区域标识符。区域标识符可以向远程服务器902指示媒体回放系统904的哪个特定区域正在请求播放头指针的指示。在一些实施方式中,区域标识符可以包括指示区域的特定回放设备的回放设备标识符。该特定回放设备可以保持本地队列(例如,本地队列914)。
c.接收所请求的播放头指针的指示
在框1006处,方法包括接收所请求的播放头指针的指示。例如,继续上文示例,媒体回放系统904的设备可以接收播放头指针916的指示。如上所述,接收的播放头指针916的指示可以指示播放头指针在云队列912中的分配位置。
如上所述,在接收所请求的播放头指针的指示之后,媒体回放系统可以在执行某些操作时使用这样的播放头指针。例如,控制设备可以使得图形接口显示播放头的分配位置的指示以便在视觉上识别播放头指针被分配给的在队列中的位置。在一些情况下,控制设备可以使得图形接口显示与播放头在媒体项目的队列中的分配位置对应的媒体项目的指示。
图11示出控制器接口1100。如所示出的,控制器接口1100包括回放控制区1110、回放区域区1120、回放状态区1130、回放队列区1140和音频内容源区1150,以上区分别对应于图4所示的控制器接口400的回放控制区410、回放区域区420、回放状态区430、回放队列区440和音频内容源区450。
图11的控制器接口1100还包括箭头1102,该箭头1102指示对应于播放头指针在媒体项目的队列中的分配位置的媒体项目。另外,通过播放头指针指示的媒体项目的标题以粗体指示。然而这样的指示是以示例的方式示出,其他实现可以使用不同技术来显示播放头的分配位置的指示。
媒体回放系统还可以在执行其他操作时使用这样的播放头指针。例如,控制设备可以将播放头指针的分配位置的指示分配给区域的回放设备。回放设备可以启动位于播放头指针的分配位置处的媒体项目的回放——可能与区域的其他回放设备同步。
在一些实施方式中,回放设备可以保持本地队列(例如,图9B的本地队列914),其中,本地队列反映云队列(例如,云队列912)或者云队列的一部分。回放设备可以确定播放头位置的分配位置是否与本地队列914的本地播放头指针的分配位置一致。如果位置不一致,则媒体回放系统904可以更新本地播放头指针的位置或者通过向远程服务器902发送本地播放头指针的位置的指示来更新播放头指针916的位置。
在一些情况下,媒体回放系统的控制设备可以接收指示操纵播放头指针的位置的命令的输入数据。如上所述,控制器接口可以包括促进对播放头指针的分配位置的操纵(可能,操纵当前正在播放的媒体项目)的控件。例如,控制器接口可以包括具有传送控件(例如,向前跳过或向后跳过)和/或回放队列区440(可以通过回放队列区440来选择单个媒体项目)的回放控制区(例如,回放控制区410)。响应于接收到这样的输入数据,控制设备可以向区域的回放设备发送对命令的指示(或者,播放头指针的新位置)。回放设备可以更新本地播放头指针在本地队列中(例如,在本地队列914中)的分配位置。回放设备还可以向保持云队列的远程服务器发送命令的指示(或者,播放头指针的新位置)。可替选地,控制设备可以向远程服务器发送命令的指示。
在其他情况下,另一媒体回放系统可以操纵播放头指针在云队列中的分配位置。例如,媒体回放系统906的控制设备可以向远程服务器902发送操纵播放头指针916在云队列912中的分配位置的请求。然后,远程服务器902可以向媒体回放系统904发送新分配的位置的指示。例如,媒体回放系统904的控制设备可以接收指示播放头在媒体项目的队列中的相应位置的一个或更多个相应消息(可能,每当播放头指针的位置改变时)。在接收每个消息时,控制设备可以使得图形接口显示由消息指示的播放头的相应位置的指示,以便指示当前正在播放的媒体项目(或者,在回放被启动的情况下将回放的媒体项目)。
V.使队列同步的示例技术
如上所述,本文所述实施方式可以包括使第一队列(例如,云队列)和一个或更多个第二队列(例如,本地队列)同步。图12示出使本地队列与云队列同步的示例方法。
a.发送对来自队列的至少一个媒体项目的指示的请求
在方法1200的框1202处,方法包括发送对来自媒体项目的队列的至少一个媒体项目的指示的请求。例如,设备(例如,回放设备例如图2的回放设备200)可以向远程服务器发送对来自远程服务器保持或使用的媒体项目的远程队列的至少一个媒体项目的指示的请求。设备和远程服务器可以被一个或更多个网络例如一个或更多个局域网和/或一个或更多个广域网(例如,因特网)分离,并且请求可以经由设备的网络接口来发送。在一些实施方式中,远程服务器可以参与提供云服务并且远程队列可以被称为云队列。
图13A示出示例环境1300A,该示例环境1300A包括保持云队列1312的远程服务器。云队列1312表示可以由云服务保持的媒体项目的示例队列。云队列1312可以是图7的回放队列700的实例,可能包括不同顺序的媒体项目。云队列1312包括一系列媒体项目,该一系列媒体项目按照顺序包括代表性的媒体项目:歌曲A、歌曲B、歌曲C、歌曲D、歌曲E和歌曲F。
如图13A所示,远程服务器1302通过一个或更多个网络1310连接至媒体回放系统1304、媒体回放系统1306和媒体回放系统1308,其中,一个或更多个网络1310可以包括一个或更多个广域网例如因特网以及一个或更多个局域网(例如,802.11无线局域网或802.3有线局域网或其组合)。在操作中,媒体回放系统1304、媒体回放系统1306和媒体回放系统1308中的一个或更多个可以连接至远程服务器1302以访问云队列1312。如上所述,这样的访问除了其他示例之外还可以包括云队列1312的回放、显示或修改。
如上所述,在一些实施方式中,媒体回放系统可以与云队列相关联,使得云队列对于媒体回放系统变得可访问。例如,媒体回放系统1304可以与云队列1312相关联,使得云队列1312对于媒体回放系统可访问,以可能供回放或修改。为了促进这样的访问,媒体回放系统1304可以首先使本地队列(例如,本地队列1314)与云队列1312同步。这样的同步可以包括远程服务器1302向媒体回放系统1304发送云队列1312的一个或更多个媒体项目的指示。媒体回放系统可以将这些媒体项目合并到要与云队列1312同步的本地队列(例如,本地队列1314)中。例如,以示例的方式将本地队列1314示为依次包括来自云队列1312的歌曲A至歌曲F。
在操作中,媒体回放系统可以执行一个或更多个操作以保持媒体回放系统的本地队列与云队列同步,这是因为当对本地队列或云队列作出修改时队列可能变得不同步。例如,媒体回放系统1304的设备可以执行操作以保持媒体回放系统1304的本地队列1314与云队列1312同步。这些操作可以包括媒体回放系统1304经由一个或更多个网络1310向远程服务器1302发送对来自云队列1312的至少一个媒体项目的指示的请求。这样的请求可以促进使云队列1312与本地队列1314同步,这是因为远程服务器1312可以响应于具有来自云队列1312的某些媒体项目的指示的请求。
图13B示出示例环境1300B,该示例环境B表示在对云队列1312的若干修改之后的示例环境1300A。与图13A相比,在图13B中,已经通过将歌曲A和歌曲B分别从位置1和位置2重新排序至位置2和位置1来修改了云队列1312。还通过移除歌曲C使得随后的媒体项目在队列中被向上重新定位而修改了云队列1312。最后,还通过在位置6和位置7添加歌曲G和歌曲I修改了云队列1312。作为示例来描述以上修改;对于云队列1312的其他修改也是可行的。这样的修改可以根据媒体回放系统例如媒体回放系统1306或1308的请求而做出,或者通过不必是媒体回放系统(例如,智能手机、平板或具有网络接口的笔记本电脑)的一部分的计算设备来做出。媒体回放系统1304可以向远程服务器1302发送对来自云队列1312的至少一个媒体项目的指示的请求,以便响应于请求来接收经修改的云队列1312的指示。
在一些情况下,与对云队列的修改有关,远程服务器可以向与云队列相关联的媒体回放系统发送云队列已被修改的指示。这样的指示可以将对云队列的修改通知给媒体回放系统。指示可以包括以下请求或指令:向远程服务器发送对来自云队列的至少一个媒体项目的指示的请求。在接收该指示之后,媒体回放系统可以基于接收到这样的请求或指令而发送对至少一个媒体项目的指示的请求。例如,媒体回放系统1304的设备可以响应于从远程服务器1302接收到发送对来自云队列1312的至少一个媒体项目的指示的请求的请求或指令而向远程服务器1302发送对来自云队列1312的至少一个媒体项目的指示的请求。
在一些实施方式中,媒体回放系统还可以向远程服务器发送特定媒体项目的指示。这样的消息可以向远程服务器指示在消息中向媒体回放系统指示远程队列中的哪些媒体项目。例如,媒体回放系统可以发送由媒体回放系统当前正在播放的特定媒体项目的指示。在这样的示例中,发送对来自远程队列的至少一个媒体项目的指示的请求可以包括:发送对来自远程队列的包括(例如,开始于)特定媒体项目的一个或更多个媒体项目的序列的请求。
作为示例,参照图13B,在位置2处的歌曲B可能是在媒体回放系统1304处当前正在播放的媒体项目(或者,一个或更多个分组回放设备的区域的当前正在播放的媒体项目)。媒体回放系统1304可以向远程服务器1302发送对来自云队列1312的至少一个媒体项目的指示的请求以及在位置2处的歌曲B的指示。在位置2处的歌曲B的指示可以向远程服务器1312指示:媒体回放系统1304正在请求来自云队列1312的包括位置2处的歌曲B的媒体项目的序列。在一些实施方式中,序列可以以歌曲B开始并且包括队列中的一个或更多个随后的媒体项目。可替选地,序列可以以在队列中的歌曲B之前的媒体项目开始,以及包括歌曲B并且包括在队列中的歌曲B之后的一个或更多个媒体项目。作为另一示例,媒体回放系统1304可以发送在位置3处的歌曲C的指示。远程服务器1302可以确定歌曲C已被从位置3移除,并且所以序列可以包括以在位置3处的歌曲D开始的媒体项目的序列。
要包括在序列中的媒体项目的数目可以随着实施方式而变化。在示例中,媒体项目的数目可以大于二(例如,在三至五的范围内),但是在其他示例中可以大于五。具有较大数目的媒体项目的序列可以促进向前跳过较大数目的媒体项目而不需要请求新的序列,但是这样的序列会增加在远程服务器与媒体回放系统之间传输的数据的量。在一些示例中,媒体回放系统可以发送要包括在序列中的媒体项目的数目的指示。可替选地,序列中媒体项目的数目可以是预定的。
在一些实施方式中,可以与请求一起发送特定媒体项目的指示,以减小或消除远程服务器接收特定媒体项目的指示与请求之间的延迟。在一些实例中,特定媒体项目(例如,当前正在播放的媒体项目)可能在远程服务器接收特定媒体项目的指示与接收对媒体项目的请求之间的延迟期间变化,这可能引起不可预测的行为。可替选地,可以与请求分开来发送特定媒体项目的指示。
在示例中,在消息中向远程服务器指示的特定媒体项目可以是由播放头指针指示的媒体项目。如上所述,可以将播放头指针分配给队列中的位置,使得播放头指针指示位于队列中该位置处的特定媒体项目。并且,如另外指出的,播放头指针可以指示当前正在播放的媒体项目,或者在回放被暂停的情况下指示在重新开始回放时将播放的媒体项目。例如,参照图13B,可以将本地播放头指针分配给本地队列1314中的位置,并且在消息中向远程服务器1302指示的特定媒体项目可以是由本地播放头指针指示的媒体项目。
如上所述,计算系统例如远程服务器可以保持或使用多个队列。媒体回放系统可以向远程服务器发送指示来自远程服务器保持或使用的一个或更多个队列中的远程队列的标识符。例如,参照图13B,媒体回放系统1304可以向远程服务器1302发送指示来自由远程服务器1302保持的多个队列中的云队列1312的标识符。标识符可以包括在识别云队列的统一资源标识符中。在示例中,媒体回放系统可以以具有对来自远程队列的至少一个媒体项目的指示的请求、可能还具有特定媒体项目的指示和/或包括在序列中的媒体项目的数目的消息来发送标识符。
在一些实施方式中,对来自队列的至少一个媒体项目的指示的请求可以包括远程服务器可以通过其来认证对队列的访问的机制。例如,每个访问请求可以包括授权令牌。可替选地,每个访问请求可以包括一个或更多个证书。
b.接收来自远程队列的一个或更多个媒体项目的指示
在框1204处,方法包括接收来自远程队列的一个或更多个媒体项目的指示。例如,设备(例如,回放设备例如图2的回放设备200)可以接收来自媒体项目的远程队列的一个或更多个媒体项目的指示。设备可以经由网络接口接收指示。在示例中,消息可以通过识别每个媒体项目的相应的统一资源标识符来指示来自远程队列的一个或更多个媒体项目。
如上所述,图13B的远程服务器1302可以从媒体回放系统1304接收对来自云队列1312的至少一个媒体项目的指示的请求。在接收到这样的请求之后,远程服务器1302可以将来自云队列1312的一个或更多个媒体项目的指示发送至媒体回放系统1304的一个或更多个设备。然后,媒体回放系统1304可以接收来自云队列1312的一个或更多个媒体项目的指示。
来自远程队列的一个或更多个媒体项目的指示可以包括一个或更多个媒体项目的序列。在示例中,一个或更多个媒体项目的序列可以包括序列中的全部媒体项目或者序列可以包括来自队列的媒体项目的子集(例如,“窗”)。例如,云队列可以包括150个媒体项目的序列,而接收的一个或更多个媒体项目的指示可以包括来自150个媒体项目中的10个媒体项目的序列。
如上所述,在一些情况下,媒体回放系统可以发送特定媒体项目(例如,由媒体回放系统中的回放设备正在播放的媒体项目)的指示以便向远程服务器指示往回向媒体回放系统指示哪些媒体项目。例如,参照图13B,媒体回放系统1304可以利用请求来向远程服务器1302指示位置4处的歌曲E。响应于请求,媒体回放系统1304可以接收包括位置4处的歌曲E的一个或更多个媒体项目的序列的指示。例如,序列可以包括位置4处的歌曲E、位置5处的歌曲F以及位置6处的歌曲G。在示例中,序列可以包括另外的媒体项目(例如,在位置4处的歌曲E之前的媒体项目或者在位置4处的歌曲E之后的另外的媒体项目)。
c.将一个或更多个媒体项目的指示合并到本地队列中
在框1206处,方法包括将一个或更多个媒体项目的指示合并到本地队列中。例如,设备(例如,回放设备例如图2的回放设备200)可以将所指示的一个或更多个媒体项目合并到设备保持或使用的媒体项目的本地队列中。例如,媒体回放系统中的回放设备可以保持用于区域(区域包括一个或更多个分组媒体回放设备)的本地队列并且可以将所指示的一个或更多个媒体项目合并到区域的本地队列中。
在示例中,将所指示的一个或更多个媒体项目合并到本地队列中可以包括以指示的一个或更多个媒体项目替换本地队列中的一个或更多个媒体项目。例如,媒体回放系统的设备可以在数据存储装置中保持具有与指示的若干媒体项目相当的若干媒体项目的本地队列。在这样的示例中,设备可以以指示的媒体项目来替换本地队列中的媒体项目。可替选地,设备可以以指示的一个或更多个媒体项目替换本地队列的一部分。例如,指示的一个或更多个媒体项目可以包括五个媒体项目的序列,并且设备可以替换本地队列中与五个媒体项目相当的部分(例如,本地队列的位置2至位置6)。
在一些实施方式中,将所指示的一个或更多个媒体项目合并到本地队列中可以包括将所指示的一个或更多个媒体项目插入到本地队列中。例如,本地队列可以包括分别在位置1至5的媒体项目的序列。指示的一个或更多个媒体项目可以包括五个媒体项目的序列,并且设备可以将五个媒体项目的序列插入本地队列的位置6至位置10中。
可替选地,将所指示的一个或更多个媒体项目合并到本地队列中可以包括将所指示的一个或更多个媒体项目插入到本地队列中和从队列移除其他媒体项目的组合。例如,参照图13B,媒体回放系统1304可以利用请求向远程服务器1302指示在位置2处的歌曲B。响应于请求,远程服务器1302可以向媒体回放系统发送五个媒体项目的序列。因为歌曲B和歌曲A相对于本地队列已交换位置,所以序列可以从在位置1的歌曲B开始(可能以便不干扰歌曲B在媒体回放系统处的回放)并且包括在歌曲B之后的四个媒体项目。然后,如图13C所示,媒体回放系统1304可以在必要时通过添加或移除媒体项目来将媒体项目的序列合并到本地队列1314中,以使本地队列1314中指示的部分与云队列1312的相关部分同步。
在一些实施方式中,在从媒体项目的远程队列接收一个或更多个媒体项目的指示之后,媒体回放系统中的回放设备可以向一个或更多个另外的回放设备发送来自媒体项目的远程队列的一个或更多个媒体项目的指示。这样的消息可以将通过一个或更多个媒体项目的指示所指示的云队列的当前配置传送至一个或更多个另外的回放设备。在接收到这样的指示之后,回放设备可以将所指示的一个或更多个媒体项目合并到相应的本地队列中。
如上所述,媒体回放系统可以包括可以被配置成使得图形接口显示控制器接口(例如,图4的控制器接口400)的控制设备(例如,图3的控制设备300)。在一些情况下,这样的控制设备可以向保持本地队列的设备(例如,回放设备)发送对来自供显示的媒体项目的远程队列的一个或更多个媒体项目的指示的请求。在到接收这样的请求之后,设备可以向控制设备发送来自媒体项目的远程队列的一个或更多个媒体项目中的至少一个媒体项目的指示。在示例中,设备可以从本地队列检索一个或更多个媒体项目中的至少一个媒体项目(例如,通过参考表示本地队列的数据)。可替选地,设备可以根据所接收的来自远程队列的一个或更多个媒体项目的指示来识别一个或更多个媒体项目中的至少一个媒体项目。其他示例也是可行的。
在一些情况下,在接收到来自媒体项目的远程队列的一个或更多个媒体项目中的至少一个媒体项目的指示之后,控制设备可以使得图形接口显示媒体项目的指示。例如,控制设备可以在控制器接口的回放队列区(例如,图4的回放队列区440)中显示媒体项目的表示。指示的媒体项目可以包括远程队列的所有媒体项目或者那些媒体项目的子集。
如上所述,在一些情况下,远程服务器可以通知媒体回放系统云队列已被修改。这样的通知可以采取以下请求的形式:所述请求让回放设备发送对来自媒体项目的远程队列的至少一个媒体项目的指示的请求。在接收到这样的请求时,回放设备可以检测自先前对来自远程队列的至少一个媒体项目的指示的请求被发送以来本地队列中的当前正在播放的媒体项目是否已改变。由回放设备接收到的向前跳过命令可能已经使得回放设备将回放前进至队列的下一媒体项目。基于检测出正在播放不同的媒体项目(或者,由播放头指针指示不同的媒体项目),回放设备可以向远程服务器发送对来自媒体项目的远程队列的至少一个媒体项目的指示的请求。包含该请求的消息可以包括现在正在播放的媒体项目的指示,以便向远程服务器指示在消息中向媒体回放系统指示哪些媒体项目。
在一些实施方式中,回放设备可以发送指示特定媒体项目(即,当前正在播放的媒体项目)的回放已结束的消息。例如,在操作中,回放设备可以被配置成检测媒体项目的回放何时结束,并且通过消息来通知远程服务器。在接收到指示当前正在播放的媒体项目的回放已结束的消息之后,远程服务器可以确定指示的一个或更多个媒体项目是否已改变(例如,媒体项目的序列中的媒体项目中的任何媒体项目是否已被移除或者被重新排序,或者一个或更多个媒体项目是否已被添加以便改变序列的媒体项目)。基于确定指示的一个或更多个媒体项目已改变,远程服务器可以通知回放设备云队列已被修改,其中,远程服务器可能通过发送以下请求来进行以上通知操作:所述请求让回放设备发送对来自媒体项目的远程队列的至少一个媒体项目的指示的请求。
在一些情况下,媒体回放系统可以可能基于使得媒体回放系统改变内容的消息或指令来切换至不同内容(例如,不同于云队列的队列)。不同内容可以是不同的云队列,或者本地队列(例如,未与云队列同步或相关联的本地队列)。媒体回放系统可以可能通过向远程服务器发送指示远程队列不是回放设备处的有效队列的消息来通知远程服务器内容已改变。在接收到这样的请求之后,远程服务器可以停止执行在保持云队列与本地队列同步中包括的上文操作中的一个或更多个。例如,远程服务器可以停止向媒体回放系统通知云队列的变化。
VI.使队列同步的第二示例技术
如上所述,本文所述实施方式可以包括使第一队列(例如,云队列)与一个或更多个第二队列(例如,本地队列)同步。图14示出使本地队列与云队列同步的示例方法。
a.接收对来自远程队列的至少一个媒体项目的指示的请求
在方法1400的框1402处,方法包括接收对来自媒体项目的远程队列的至少一个媒体项目的指示的请求。例如,计算系统(例如,远程服务器)可以从媒体回放系统的设备接收这样的请求。设备和计算系统可以被一个或更多个网络例如一个或更多个局域网和/或一个或更多个广域网(例如,因特网)所分离,并且请求可以通过设备的网络接口被接收。计算系统可以保持或使用远程队列。在一些情况下,计算系统可以参与提供云服务,并且远程队列可以被称为“云队列”。
作为示例,重新参照图13A,媒体回放系统1304的设备可以向远程服务器1302发送对来自媒体项目的远程队列的至少一个媒体项目的指示的请求。设备可以经由一个或更多个网络1310来发送请求。然后,远程服务器1302可以从媒体回放系统1304接收请求。
计算系统还可以接收由媒体回放系统中的一个或更多个回放设备(例如,通过一个或更多个分组媒体回放系统的区域)正在播放的特定媒体项目的指示。如上所述,这样的指示可以帮助计算系统确定在消息中向媒体回放系统指示哪些媒体项目。计算系统可以将特定媒体项目的指示存储在数据存储装置中。
如上所述,在一些情况下,计算系统可以通知媒体回放系统云队列已被修改。例如,在操作中,计算系统可以检测对远程队列的修改。这样的通知可以采取以下请求的形式:所述请求让回放设备发送对来自媒体项目的远程队列的至少一个媒体项目的指示的请求。在接收到这样的请求时,回放设备可以发送对来自云队列的至少一个媒体项目的指示的请求。
b.确定来自云队列中的一个或更多个媒体项目
在框1404处,方法包括确定来自云队列中的一个或更多个媒体项目。例如,计算系统可以确定包括特定媒体项目(例如,媒体回放系统当前正在播放的媒体项目,或者在回放被暂停的情况下当回放重新开始时将播放的媒体项目)的一个或更多个媒体项目的序列。重新参照图13A,媒体回放系统1304处当前回放的媒体项目可以是在云队列1312中的位置2处的歌曲B并且计算系统可以确定包括歌曲B的媒体项目的序列(例如,包括位置2至位置4的媒体项目的序列)。
确定一个或更多个媒体项目可以包括在远程队列中搜索特定媒体项目。特定媒体项目的位置在队列被修改时(例如,当向队列添加媒体项目时,当从队列移除媒体项目时,或者当在队列中将媒体项目重新排序时)可以变化。假定特定媒体项目在远程队列中与在本地队列中处于相同位置,则计算系统可以确定包括该位置的序列(例如,以该位置开始的序列)。可替选地,在特定媒体项目处于不同位置的情况下,计算系统可以确定包括特定媒体项目以及在特定媒体项目的新位置之前或之后的一个或更多个媒体项目的媒体项目的序列。
c.发送来自远程队列的一个或更多个媒体项目的指示
在框1406处,方法包括发送所确定的来自远程队列的一个或更多个媒体项目的指示。例如,计算系统可以向媒体回放系统的设备(例如,回放设备例如图2的回放设备200)发送来自媒体项目的远程队列的一个或更多个媒体项目的指示。计算系统可以通过网络接口来发送指示。在示例中,消息可以通过识别每个媒体项目的相应的统一资源标识符来指示来自远程队列的一个或更多个媒体项目。
如上所述,在操作中,计算系统可以检测对云队列的修改。在一些实施方式中,计算系统可以检测影响从云队列中确定的一个或更多个媒体项目的对云队列的修改,这是因为对这些媒体项目的修改可能影响媒体回放系统对与云队列同步的本地队列的回放。响应于检测出影响从云队列中确定的一个或更多个媒体项目的修改,计算系统可以向媒体回放系统发送指示确定的一个或更多个媒体项目已受到影响的消息。这样的消息可以采取以下请求的形式:所述请求让回放设备发送对来自媒体项目的远程队列的至少一个媒体项目的指示的请求。基于指示确定的一个或更多个媒体项目已受到影响的消息,媒体回放系统可以发送对来自媒体项目的远程队列的至少一个媒体项目的指示的请求。在一些实施方式中,计算系统可以根据经修改的远程队列抢先确定一个或更多个媒体项目并且将确定来自经修改的远程队列的的一个或更多个媒体项目发送至媒体回放系统。
在一些实施方式中,设备可以发送指示特定媒体项目(即,当前正在播放的媒体项目)的回放已结束的消息。例如,在操作中,回放设备可以被配置成检测媒体项目的回放何时结束,并且以消息的方式来通知远程服务器。因此,在一些实例中,计算系统可以接收指示特定媒体项目的回放已结束的消息。基于接收到指示特定媒体项目的回放已结束的消息,计算系统可以执行一个或更多个操作。例如,计算系统可以确定在远程队列中排在特定媒体项目之后的媒体项目。计算系统可以进一步将所存储的指示远程队列的当前音轨的数据更新成指示所确定的排在特定媒体项目之后的媒体项目。
如上所述,在一些情况下,媒体回放系统可以改变为不同于远程队列的内容(例如,除了其他示例之外,改变为另一云队列或本地队列,或者改变为流式广播台)。在一些实施方式中,内容的这样的改变会导致媒体回放系统发送指示远程队列不是媒体回放系统处(或者,在媒体回放系统中的一个或更多个分组媒体回放设备的区域处)的有效队列的消息。计算系统可以接收这样的消息,并且基于接收到这样的消息而从与云队列相关联的媒体系统的列表中移除媒体回放系统。被配置成回放远程队列中的媒体项目的(例如,具有被配置为回放设备的区域的有效队列的远程队列的)媒体回放系统可以被称为订户。重新参照图13A,媒体回放系统1304、1306和/或1308可以具有被配置作为有效队列的云队列1312,并且因此被列为云队列1312的订户。在这样的实施方式中,从与云队列相关联的媒体系统的列表中移除媒体回放系统可以包括从云队列1312的订户的列表中移除媒体回放系统1304。
VII.根据一个或更多个回放策略来限制队列的回放的示例技术
如上所述,本文所述实施方式可以包括根据一个或更多个回放策略来限制队列的回放。例如,示例计算系统可以保持或使用云队列。将云队列与一个或更多个回放策略相关联并且一个或更多个回放策略对远程实体如何访问(例如,回放)该云队列进行限制。回放策略可以限制与回放有关的某些特征,例如向前跳过或跳至另一音轨。在示例中,回放策略可以用于对队列中的媒体项目强制执行许可协议。图15示出识别与云队列相关联的回放策略并且向远程实体(例如,媒体回放系统)提供这些回放策略的指示的示例方法。
a.接收对来自队列的一个或更多个媒体项目的指示的至少一个请求
在方法1500的框1502处,方法包括接收对来自队列的一个或更多个媒体项目的指示的至少一个请求。例如,计算系统(例如,远程服务器)可以从媒体回放系统的设备接收这样的请求。这样的请求也可以被称为对至少一个媒体项目的指示的请求。设备和计算系统可以被一个或更多个网络例如一个或更多个局域网和/或一个或更多个广域网所分离,并且请求可以经由网络接口被接收。计算系统可以保持或使用远程队列。远程队列可以被称为“云队列”。
图16示出示例环境1600,该示例环境1600包括保持云队列1612和1614的远程服务器。云队列1612和1614分别表示可以通过云服务保持的媒体项目的示例队列。云队列1312包括媒体项目的序列,该媒体项目的序列按照顺序包括代表性的媒体项目:歌曲B、歌曲J、歌曲C、歌曲D、歌曲A和歌曲F。云队列1314同样包括媒体项目的序列,该媒体项目的序列按照顺序包括代表性的媒体项目:歌曲G、歌曲B、歌曲H、歌曲I、歌曲E和歌曲A。如图16所示,远程服务器1602通过一个或更多个网络1610连接至媒体回放系统1604、媒体回放系统1606和媒体回放系统1608。在操作中,媒体回放系统1604、媒体回放系统1606和媒体回放系统1608中的一个或更多个可以连接至远程服务器1602以访问云队列1612和/或云队列1614。如上所述,这样的访问除了其他类型的访问以外还可以包括云队列1612和/或云队列1614的回放、显示或修改。
如上所述,在一些实施方式中,可以将媒体回放系统与云队列相关联使得云队列对于媒体回放系统变得可访问。例如,可以将媒体回放系统1604与云队列1612和云队列1614相关联使得云队列1612和云队列1614二者对于媒体回放系统可访问。如上所述,两个队列中的任一个可以在任何时间在媒体回放系统上是有效的。在示例中,媒体回放系统1604可以具有分组回放设备的两个或更多个区域,并且云队列1612和云队列1614中的每一个可以在相应区域上是有效的。继续该示例,可以将媒体回放系统1606与云队列1614相关联。
在示例中,媒体回放系统1604和1606可以向远程服务器1602发送对来自队列的一个或更多个媒体项目的指示的相应请求。如上所述,媒体回放系统可以发送这样的请求以识别云队列中的媒体项目并且可能使这些项目与本地队列同步。在一些情况下,媒体回放系统1604和1606可以请求来自同一队列中的一个或更多个媒体项目的指示。例如,远程服务器1602可以从媒体回放系统1602和1604接收对来自云队列1614的一个或更多个媒体项目的指示的相应请求。可替选地,媒体回放系统可以请求来自不同队列中的一个或更多个媒体项目的指示。例如,远程服务器1602可以分别从媒体回放系统1602和1604接收对来自云队列1612的一个或更多个媒体项目的指示的请求以及对来自云队列1614的一个或更多个媒体项目的指示的请求。其他示例也是可行的。
b.识别与队列相关联的一个或更多个回放策略
在框1504处,方法包括识别与队列相关联的一个或更多个回放策略。例如,在接收到对来自队列的一个或更多个媒体项目的指示的请求之后,计算系统可以可能基于用请求指示的媒体项目来确定来自远程队列的一个或更多个媒体项目。计算系统然后可以识别限制一个或更多个媒体项目中的至少一个媒体项目的回放的至少一方面的一个或更多个回放策略。计算系统可以保持或使用指示与每个队列相关联的回放策略的数据。
通过限制队列中的一个或更多个媒体项目的回放,回放策略可以限制对其他媒体项目或队列可用的特征的使用。例如,回放策略可以限制以下中的一个或更多个:跳过媒体项目的回放(即,跳过队列中的媒体项目)、重放先前回放的媒体项目、在回放期间向前寻找、在回放期间向后寻找或者重放当前回放的媒体项目。
如上所述,媒体回放系统的控制设备可以提供包括各种控件的控制器接口。一些控件(例如,传送控件)可以提供控制回放的选项。回放策略可以限制这些选项。例如,回放策略可以限制以下中的一个或更多个:随机选项、重复选项、向前跳过选项、向后跳过选项、向前寻找选项或向后寻找选项。当这样的选项被限制时,控制设备可以从控制器接口停用和/或移除链接至选项的控件。
一些示例回放策略可以限制对预定的按照其来确定媒体项目的顺序的回放顺序的修改。如上所述,可以对媒体项目的队列进行排序或定序,使得队列的媒体项目的回放顺序是预定的。例如,重新参照图7,队列700中的每个媒体项目可以对应于该队列中的位置,并且队列700的回放可以按照从一个媒体项目至队列中的下一位置处的媒体项目的顺序进行。
在示例中,相应的回放策略可以应用于访问特定队列的每个媒体回放系统。例如,重新参照图16,在从媒体回放系统1604和1606接收到对来自云队列1604的一个或更多个媒体项目的指示的请求之后,远程服务器1602可以识别对应于媒体回放系统1604的一个或更多个第一回放策略以及对应于媒体回放系统1604的一个或更多个第二回放策略。在这样的示例中,逐个系统地应用回放策略,使得针对媒体回放系统基于该媒体回放系统的身份来识别每一组策略。
在一些实施方式中,可以基于用户账户来识别回放策略。如上所述,每个媒体回放系统可以登记有一个或更多个用户账户或者否则与一个或更多个用户账户相关联,可能登记有在给定时间有效的一个特定账户。参照图16,媒体回放系统1604和1606可以分别与第一用户账户和第二用户账户相关联。在这样的示例中,远程服务器可以识别对应于与媒体回放系统1604相关联的第一用户账户的一个或更多个第一策略并且识别对应于与媒体回放系统1606相关联的第二用户账户的一个或更多个第二策略。因此,应用于每个媒体回放系统的回放策略可以基于与每个系统相关联的用户账户。例如,第一用户账户可以是“优质”(例如,付费)订户,因此第一回放策略可以非常少地或根本不限制回放。第二用户账户可以是“标准”(例如,非付费)订户,因此第二回放策略可以相对于第一回放策略进一步限制回放。其他示例也是可行的。
可以逐个队列地识别回放策略。例如,不同的权限持有者可以提供由媒体回放系统回放的云队列。不同的权限持有者可能期望以不同方式来限制这些队列的回放。此外,权限持有者可能期望以不同方式来限制包含不同内容的队列的回放。如上所述,远程服务器1602可以分别从媒体回放系统1602和1604接收对来自云队列1612的一个或更多个媒体项目的指示的请求和对来自云队列1614的一个或更多个媒体项目的指示的请求。在这样的示例中,远程服务器1602可以识别对应于云队列1612的一个或更多个第一策略并且识别对应于云队列1614的一个或更多个第二策略。
在标题为“Policies for Media Playback”的第14/330,825号美国专利申请中描述了另外的示例回放策略,据此合并该申请的全文。
c.发送所识别出的一个或更多个回放策略的指示
在框1506处,方法包括发送所识别出的一个或更多个回放策略的指示。例如,计算系统可以向每个请求来自队列的一个或更多个媒体项目的指示的媒体回放系统发送被识别出的一个或更多个回放策略的指示。重新参照图16,远程服务器1602可以分别向媒体回放系统1604和1606发送一个或更多个第一策略以及一个或更多个第二策略的指示。
在一些实施方式中,媒体回放系统可以强制执行回放策略。例如,媒体回放系统可以包括保持与云队列同步的本地队列的回放设备。计算系统可以向该回放设备发送来自云队列中的一个或更多个媒体项目的指示,以及所识别出的与云队列相关联的一个或更多个回放策略的指示。回放设备可以通过(按照所识别出的一个或更多个回放策略)限制本地队列的回放的至少一方面来应用一个或更多个回放策略。
可替选地,计算系统可以强制执行回放策略。在识别回放策略之后,计算系统可以根据所识别出的一个或更多个策略确定所识别出的一个或更多个策略限制一个或更多个媒体项目中的至少一个媒体项目的回放。例如,为了向前跳过至云队列中的给定媒体项目,媒体回放系统可以发送对来自队列的一个或更多个媒体项目的包括给定媒体项目的序列的指示的请求。计算系统可以确定向前跳过是否受回放策略限制,如果是这样,则向媒体回放系统发送一个或更多个媒体项目中的至少一个媒体项目的回放受限制的指示(可能代替一个或更多个媒体项目的包括给定媒体项目的序列的指示的请求的指示)。
IV.显示回放策略的图形指示的示例技术
图17示出显示回放策略的图形指示的示例方法1700。
a.接收指示回放队列的请求的输入数据
在方法1700的框1702处,媒体回放系统的控制设备可以接收指示回放媒体项目的队列的请求的输入数据。例如,控制设备可以显示包括启动回放的控件(例如,“回放”或“回放/暂停”控件)的控制器接口例如控制器接口400。“回放”或“回放/暂停”控件可以是与情境相关的。例如,控制器接口可以包括媒体回放系统当前正在访问或已经访问的一个或更多个云队列的指示。例如,控制器接口可以在回放队列区例如图4的回放队列区440中显示媒体回放系统当前正在访问的云队列(即,“有效”队列)。由“回放”控件生成的输入数据可以指示回放有效队列的请求。
在其他情况下,回放设备可以具有包括控制队列(例如,云队列)的回放的各种可选择的控件的接口。在示例中,这样的控件可以控制在回放设备上或者在回放设备和被分组(分组成被配置成同步地回放媒体项目的回放设备的区域)的一个或更多个另外的回放设备上的回放。选择这样的控件可以生成指示所选的控件的输入数据。回放设备可以向控制设备发送该数据的指示。控制设备可以根据所选控件来控制回放。
b.发送对来自队列的一个或更多个媒体项目的指示的请求
在框1704处,方法包括发送对来自队列的一个或更多个媒体项目的指示的请求。例如,控制设备可以向远程服务器(例如,图16的远程服务器1602)发送这样的请求。可替选地,控制设备可以向保持本地队列的回放设备发送请求。
c.接收与队列相关联的一个或更多个回放策略的指示
在框1706处,方法包括接收与队列相关联的一个或更多个回放策略的指示。在示例中,控制设备可以从远程服务器或回放设备接收这样的指示。控制设备还可以接收来自云队列或本地队列的媒体项目的队列(例如,序列(或“窗”))的至少一个媒体项目的指示。
d.显示至少一个媒体项目的图形指示以及至少一个回放策略与至少一个媒体项 目相关联的图形指示
在框1708处,方法包括使得图形接口显示至少一个媒体项目的图形指示以及至少一个回放策略与至少一个媒体项目相关联的图形指示。
图18A示出控制器接口1800。控制器接口1800包括分别对应于图4所示的控制器接口400的回放控制区410、回放区域区420、回放状态区430、回放队列区440和音频内容源区450的回放控制区1810、回放区域区1820、回放状态区1830、回放队列区1840和音频内容源区1850。回放队列区1840包括在来自远程服务器或回放设备的消息中可能已被指示的队列(例如,云队列或本地队列)的媒体项目的指示。
图18A的控制器接口1800A还包括指示至少一个回放策略与队列的至少一个媒体项目相关联的若干示例图形。如所示出的,回放队列区1840包括指示回放策略与回放队列区1840中示出的媒体项目相关联的文本1802。作为示例,本文1802指示对先前播放的媒体项目的重放被停用。这样的文本可以指示通过相关联的回放策略加于回放上的限制。在一些情况下,控制设备可以使得图形接口显示使能相应回放选项的一个或更多个图形控件被限制的图形指示。例如,控制设备可以停用和/或改变回放控制区1810的向后跳过控件的外观,以指示回放策略限制先前播放的媒体项目的重放。如图18A所示,向后跳过控件(以将回放改变至先前播放的媒体项目)的颜色与激活的向前跳过控件相比被倒转。
图18B的控制器接口1800B示出指示至少一个回放策略与队列的至少一个媒体项目相关联的另一示例图形。如所示的,回放队列区1840包括指示回放策略与回放队列区1840中示出的媒体项目(“音轨2”)相关联的文本1804。作为示例,文本1802指示媒体项目中的清洗(scrubbing)被停用。
在示例中,控制设备可以检测出当前的媒体项目(例如,由播放头指针指示的音轨)何时改变(例如,从第一媒体项目改变为第二媒体项目),并且使得图形接口显示与当前媒体项目相关联的一个或更多个回放策略的指示。例如,参照图18B,队列的回放可以从“音轨2”进行至“音轨3”。控制设备可以检测当前音轨已改变,并且使得图形接口显示与音轨3相关联的策略(如果有的话)。此外,控制设备可以使得与音轨2相关联的策略从接口移除(或者,用与音轨3相关联的策略替换)。在示例中,可以在重叠的时段期间显示与连续的媒体项目相关联的相应策略,以提供对与下一媒体项目相关联的策略的预览。
一些回放策略可以将队列的显示限制于队列中的某些媒体项目。例如,回放策略可以将队列的显示限制于当前正在播放的媒体项目。另一回放策略可能将队列的显示限制于当前正在播放的媒体项目和待回放的一个或更多个媒体项目,使得用户可能不能看到队列的所有媒体项目的指示,但是可能能够提前看到下一音轨。另一示例回放策略可以将显示限制于先前回放的媒体项目(可能除了当前正在播放的媒体项目和/或定为接下来要播放的一个或更多个媒体项目)。在示例中,控制设备可以强制执行这样的策略。例如,控制设备可以确定回放策略限制对某些媒体项目的显示并且根据策略不显示这些媒体项目。
V.总结
以上描述特别公开了各种示例系统、方法、装置以及除了其他部件之外还包括在硬件上执行的固件和/或软件等部件的制品。应当理解,这些示例仅是示意性的,而不应当被认为是限制性的。例如,可以想到,这些固件、硬件和/或软件方面或部件中的任意一个或全部可以专门在硬件中实现、专门在软件中实现、专门在固件中实现、或在硬件、软件和/或固件的任意组合中实现。因此,所提供的示例不是用于实现这样的系统、方法、装置和/或制品的唯一方式。
如上所述,一些示例技术可能涉及“播放头”。在一个方面,提供了一种方法。该方法可以包括从媒体回放系统接收对用于媒体项目的特定队列的播放头指针的指示的请求。方法还可以包括识别播放头指针在媒体项目的特定队列内的位置。队列中的每个位置可以对应于媒体项目。方法还可以包括向媒体回放系统发送播放头指针的指示。播放头指针的指示可以指示播放头指针的分配位置。
在另一方面,提供了一种计算系统。计算系统包括网络接口、至少一个处理器、数据存储装置和存储在数据存储装置中并且能够由至少一个处理器执行以执行功能的程序逻辑。功能可以包括从媒体回放系统接收对用于媒体项目的特定队列的指示的请求。功能还可以包括识别播放头指针在媒体项目的特定队列内的位置。队列中的每个位置可以对应于媒体项目。功能还可以包括向媒体回放系统发送播放头指针的指示。播放头指针的指示可以指示播放头指针的分配位置。
在又一方面,提供了一种非暂态计算机可读存储器。非暂态计算机可读存储器具有存储在其上的能够由计算设备执行以使得计算设备执行功能的指令。功能可以包括从媒体回放系统接收对用于媒体项目的特定队列的播放头指针的指示的请求。功能还可以包括识别播放头指针在媒体项目的特定队列内的位置。队列中的每个位置可以对应于媒体项目。功能还可以包括向媒体回放系统发送播放头指针的指示。播放头指针的指示可以指示播放头指针的分配位置。
在又一方面,提供了另一种方法。该方法可以包括由媒体回放系统的控制设备接收将一个或更多个回放设备的区域与媒体项目的特定队列相关联的输入数据。方法还可以包括由控制设备向计算系统发送对用于媒体项目的特定队列的播放头指针的指示的请求。方法还可以包括由控制设备接收所请求的播放头指针的指示。播放头指针的指示可以指示播放头指针在媒体项目的特定队列中的分配位置并且分配位置可以对应于在队列中的该位置处的媒体项目。
在另一方面,提供了一种设备。设备包括网络接口、至少一个处理器、数据存储装置和存储在数据存储装置中并且能够由至少一个处理器执行以执行功能的程序逻辑。功能可以包括由媒体回放系统的控制设备接收将一个或更多个回放设备的区域与媒体项目的特定队列相关联的输入数据。功能还可以包括由控制设备向计算设备发送对用于媒体项目的特定队列的播放头指针的指示的请求。功能还可以包括由控制设备接收所请求的播放头指针的指示。播放头指针的指示可以指示播放头指针在媒体项目的特定队列中的分配位置并且分配位置可以对应于在特定队列中的该位置处的媒体项目。
在又一方面,提供了一种非暂态计算机可读存储器。非暂态计算机可读存储器具有存储在其上的能够由计算设备执行以使得计算设备执行功能的指令。功能可以包括由媒体回放系统的控制设备接收将一个或更多个回放设备的区域与媒体项目的特定队列相关联的输入数据。功能还可以包括由控制设备向计算系统发送对用于媒体项目的特定队列的播放头指针的指示的请求。功能还可以包括由控制设备接收所请求的播放头指针的指示。播放头指针的指示可以指示播放头指针在媒体项目的特定队列中的分配位置并且分配位置可以对应于在特定队列中的该位置处的媒体项目。
仍如上所述,示例技术可以涉及云队列的同步。在一个方面,提供了一种方法。该方法可以包括向远程服务器发送:(i)对来自媒体项目的远程队列的至少一个媒体项目的指示的请求,以及(ii)由回放设备正在播放的特定媒体项目的指示。方法还可以包括接收来自媒体项目的远程队列的一个或更多个媒体项目的指示。一个或更多个媒体项目可以包括由回放设备正在播放的特定媒体项目。方法可以包括将一个或更多个媒体项目的指示合并到媒体项目的本地队列中。
在另一方面,提供了一种设备。设备包括网络接口、至少一个处理器、数据存储装置和存储在数据存储装置中并且能够由至少一个处理器执行以执行功能的程序逻辑。功能可以包括向远程服务器发送:(i)对来自媒体项目的远程队列的至少一个媒体项目的指示的请求,以及(ii)由回放设备正在播放的特定媒体项目的指示。功能还可以包括接收来自媒体项目的远程队列的一个或更多个媒体项目的指示。一个或更多个媒体项目可以包括由回放系统正在播放的特定媒体项目。功能可以包括将一个或更多个媒体项目的指示合并到媒体项目的本地队列中。
在又一方面,提供了一种非暂态计算机可读存储器。非暂态计算机可读存储器具有存储在其上的能够由计算设备执行以使得计算设备执行功能的指令。功能可以包括向远程服务器发送:(i)对来自媒体项目的远程队列的至少一个媒体项目的指示的请求,以及(ii)由回放设备正在播放的特定媒体项目的指示。功能还可以包括接收来自媒体项目的远程队列的一个或更多个媒体项目的指示。一个或更多个媒体项目可以包括由回放设备正在播放的特定媒体项目。功能还可以包括将一个或更多个媒体项目的指示合并到媒体项目的本地队列中。
在又一方面,提供了另一种方法。方法可以包括从媒体回放系统接收:(i)对来自媒体项目的远程队列的至少一个媒体项目的指示的请求,以及(ii)由媒体回放系统中的回放设备正在播放的特定媒体项目的指示。方法还可以包括确定来自远程队列的一个或更多个媒体项目。所确定的一个或更多个项目可以包括特定媒体项目。方法还可以包括向媒体回放系统发送所确定的来自远程队列的一个或更多个媒体项目的指示。
在另一方面,提供了一种设备。设备包括网络接口、至少一个处理器、数据存储装置和存储在数据存储装置中并且能够由至少一个处理器执行以执行功能的程序逻辑。功能可以包括从媒体回放系统接收:(i)对来自媒体项目的远程队列的至少一个媒体项目的指示的请求,以及(ii)由媒体回放系统中的回放设备正在播放的特定媒体项目的指示。功能还可以包括确定来自远程队列的一个或更多个媒体项目。所确定的一个或更多个项目可以包括特定媒体项目。功能还可以包括向媒体回放系统发送确定来自远程队列的一个或更多个媒体项目的指示。
在又一方面,提供了一种非暂态计算机可读存储器。非暂态计算机可读存储器具有存储在其上的能够由计算设备执行以使得计算设备执行功能的指令。功能可以包括从媒体回放系统接收:(i)对来自媒体项目的远程队列的至少一个媒体项目的指示的请求,以及(ii)由媒体回放系统中的回放设备正在播放的特定媒体项目的指示。功能还可以包括确定来自远程队列的一个或更多个媒体项目。所确定的一个或更多个项目可以包括特定媒体项目。功能还可以包括向媒体回放系统发送确定来自远程队列的一个或更多个媒体项目的指示。
如上进一步所述,示例技术可以涉及队列的回放策略。在一个方面,提供了一种方法。方法可以包括从媒体回放系统接收对来自媒体项目的队列的一个或更多个媒体项目的指示的至少一个请求。方法还可以包括识别与媒体项目的队列相关联的一个或更多个回放策略。一个或更多个回放策略中的每个回放策略可以限制一个或更多个媒体项目中的至少一个媒体项目的回放的至少一个方面。方法还可以包括向媒体回放系统发送所识别出的一个或更多个回放策略的指示。
在另一方面,提供了一种设备。设备包括网络接口、至少一个处理器、数据存储装置和存储在数据存储装置中并且能够由至少一个处理器执行以执行功能的程序逻辑。功能可以包括从媒体回放系统接收对来自媒体项目的队列的一个或更多个媒体项目的指示的至少一个请求。功能还可以包括识别与媒体项目的队列相关联的一个或更多个回放策略。一个或更多个回放策略中的每个回放策略可以限制一个或更多个媒体项目中的至少一个媒体项目的回放的至少一个方面。功能还可以包括向媒体回放系统发送所识别出的一个或更多个回放策略的指示。
在又一方面,提供了一种非暂态计算机可读存储器。非暂态计算机可读存储器具有存储在其上的能够由计算设备执行以使得计算设备执行功能的指令。功能可以包括从媒体回放系统接收对来自媒体项目的队列的一个或更多个媒体项目的指示的至少一个请求。功能还可以包括识别与媒体项目的队列相关联的一个或更多个回放策略。一个或更多个回放策略中的每个回放策略可以限制一个或更多个媒体项目中的至少一个媒体项目的回放的至少一个方面。功能还可以包括向媒体回放系统发送所识别出的一个或更多个回放策略的指示。
在又一方面,提供了另一种方法。方法可以包括接收指示回放媒体项目的队列的请求的输入数据。方法还可以包括发送对来自媒体项目的队列的一个或更多个媒体项目的指示的请求。方法还可以包括接收:(i)来自队列的至少一个媒体项目的指示,以及(ii)与媒体项目的队列相关联的一个或更多个回放策略的指示。一个或更多个回放策略中的每个回放策略可以限制来自队列的至少一个媒体项目的回放的至少一个方面。另外,方法可以包括使得图形接口显示:(i)至少一个媒体项目的图形指示,以及(ii)与至少一个媒体项目相关联的至少一个回放策略的图形指示。
在另一方面,提供了一种设备。设备包括网络接口、至少一个处理器、数据存储装置和存储在数据存储装置中并且能够由至少一个处理器执行以执行功能的程序逻辑。功能可以包括接收指示回放媒体项目的队列的请求的输入数据。功能还可以包括发送对来自媒体项目的队列的一个或更多个媒体项目的指示的请求。功能还可以包括接收:(i)来自队列的至少一个媒体项目的指示,以及(ii)与媒体项目的队列相关联的一个或更多个回放策略的指示。一个或更多个回放策略中的每个回放策略可以限制来自队列的至少一个媒体项目的回放的至少一个方面。另外,功能可以包括使得图形接口显示:(i)至少一个媒体项目的图形指示,以及(ii)与至少一个媒体项目相关联的至少一个回放策略的图形指示。
在又一方面,提供了一种非暂态计算机可读存储器。非暂态计算机可读存储器具有存储在其上的能够由计算设备执行以使得计算设备执行功能的指令。功能可以包括接收指示回放媒体项目的队列的请求的输入数据。功能还可以包括发送对来自媒体项目的队列的一个或更多个媒体项目的指示的请求。功能还可以包括接收:(i)来自队列的至少一个媒体项目的指示,以及(ii)与媒体项目的队列相关联的一个或更多个回放策略的指示。一个或更多个回放策略中的每个回放策略可以限制来自队列的至少一个媒体项目的回放的至少一个方面。另外,功能可以包括使得图形接口显示:(i)至少一个媒体项目的图形指示,以及(ii)与至少一个媒体项目相关联的至少一个回放策略的图形指示。
主要从说明性的环境、系统、过程、步骤、逻辑块、处理以及直接或间接地与耦接至网络的数据处理设备的操作相类似的其他象征性表示的方面呈现了本说明书。本领域技术人员通常使用这些处理描述和表示来向本领域其他技术人员最有效地传达他们的工作内容。阐述了许多具体细节,以提供对本公开内容的透彻理解。然而,本领域技术人员应当理解,在没有某些特定细节的情况下也可以实施本公开内容的某些实施方式。在其他实例中,没有详细描述熟知的方法、过程、部件和电路,以避免不必要地使实施方式的方面模糊不清。因此,本公开内容的范围由所附权利要求而不是由以上对实施方式的描述来限定。
当所附权利要求中的任意权利要求被理解成涵盖纯软件和/或固件的实现时,在此将至少一个示例中的至少一个元素明确限定成包括存储软件和/或固件的有形非暂态介质如存储器、DVD、CD、蓝光等。

Claims (60)

1.一种回放设备,包括:
网络接口;
至少一个处理器;
数据存储装置;以及
程序逻辑,所述程序逻辑存储在所述数据存储装置中并且能够由所述至少一个处理器执行以:
经由所述网络接口向远程服务器发送:(i)对来自媒体项目的远程队列的至少一个媒体项目的指示的请求,以及(ii)由所述回放设备正在播放的特定媒体项目的指示;
经由所述网络接口接收来自媒体项目的所述远程队列的一个或更多个媒体项目的指示,其中,所述一个或更多个媒体项目包括由所述回放设备正在播放的所述特定媒体项目;以及
将所述一个或更多个媒体项目的指示合并到媒体项目的本地队列中。
2.根据权利要求1所述的回放设备,其中,接收来自媒体项目的所述队列的一个或更多个媒体项目的指示包括:接收来自所述队列的一个或更多个媒体项目的序列,其中,所述序列包括由所述回放设备正在播放的所述特定媒体项目。
3.根据权利要求2所述的回放设备,其中,将所述一个或更多个媒体项目的指示合并到所述本地队列中包括:根据所述序列将来自所述队列的所述一个或更多个媒体项目的指示添加到所述本地队列中。
4.根据权利要求2所述的回放设备,其中,发送对来自媒体项目的远程队列的至少一个媒体项目的指示的请求还包括:向所述远程服务器发送要包括在所述序列中的媒体项目的数目的指示。
5.根据权利要求1所述的回放设备,其中,发送对来自媒体项目的所述远程队列的至少一个媒体项目的指示的请求还包括:向所述远程服务器发送指示来自一个或更多个队列中的所述远程队列的标识符。
6.根据权利要求1所述的回放设备,其中,所述程序逻辑还能够被执行以:
在接收到来自媒体项目的所述远程队列的一个或更多个媒体项目的指示之后,向一个或更多个另外的回放设备发送来自媒体项目的所述远程队列的所述一个或更多个媒体项目的指示。
7.根据权利要求1所述的回放设备,其中,所述程序逻辑还能够被执行以:
从控制设备接收对来自供显示的媒体项目的所述远程队列的所述一个或更多个媒体项目的指示的请求;以及
向控制设备发送来自媒体项目的所述远程队列的所述一个或更多个媒体项目中的至少一个媒体项目的指示。
8.根据权利要求1所述的回放设备,其中,所述程序逻辑还能够被执行以:
接收以下请求:所述请求让所述回放设备发送对来自媒体项目的所述远程队列的至少一个媒体项目的指示的另一请求;
检测出所述本地队列中的另一媒体项目由所述回放设备正在播放;以及
经由所述网络接口向所述远程服务器发送:(i)对来自媒体项目的所述远程队列的至少一个媒体项目的指示的另一请求,以及(ii)所检测出的所述本地队列中的媒体项目的指示,其中,所检测出的媒体项目是由所述回放设备正在播放的媒体项目。
9.根据权利要求1所述的回放设备,其中,所述程序逻辑还能够被执行以:
检测出所述特定媒体项目的回放已结束;以及
向所述远程服务器发送指示所述特定媒体项目的回放已结束的消息。
10.根据权利要求1所述的回放设备,其中,所述远程队列是在所述回放设备处当前正在回放的有效队列,并且其中,所述程序逻辑还能够被执行以:
接收将所述回放设备的所述有效队列从所述远程队列修改为另一队列的消息;以及
向所述远程服务器发送指示所述远程队列不是所述回放设备处的所述有效队列的消息。
11.根据权利要求1所述的回放设备,其中,所述本地队列是所述远程队列的本地镜像。
12.一种方法,包括:
由回放设备经由网络接口向远程服务器发送:(i)对来自媒体项目的远程队列的至少一个媒体项目的指示的请求,以及(ii)由所述回放设备正在播放的特定媒体项目的指示;
由所述回放设备经由所述网络接口接收来自媒体项目的所述远程队列的一个或更多个媒体项目的指示,其中,所述一个或更多个媒体项目包括由所述回放设备正在播放的所述特定媒体项目;以及
由所述回放设备将所述一个或更多个媒体项目的指示合并到媒体项目的本地队列中。
13.一种方法,包括:
由计算系统从媒体回放系统接收:(i)对来自媒体项目的远程队列的至少一个媒体项目的指示的请求,以及(ii)由所述媒体回放系统中的回放设备正在播放的特定媒体项目的指示;
确定来自所述远程队列的一个或更多个媒体项目,其中,所述一个或更多个项目包括所述特定媒体项目;以及
由所述计算系统将所确定的来自所述远程队列的所述一个或更多个媒体项目的指示发送到所述媒体回放系统。
14.根据权利要求13所述的方法,其中,确定来自所述远程队列的所述一个或更多个媒体项目包括:
确定来自所述远程队列的一个或更多个媒体项目的序列,其中,所述序列包括所述特定媒体项目。
15.根据权利要求13所述的方法,还包括:
检测影响所确定的来自所述远程队列的所述一个或更多个媒体项目的对所述远程队列的修改;以及
响应于检测出影响所确定的所述一个或更多个媒体项目的对所述远程队列的所述修改,向所述媒体回放系统发送指示所确定的来自所述远程队列的所述一个或更多个媒体项目已受到影响的消息。
16.根据权利要求15所述的方法,其中,发送指示所确定的来自所述远程队列的所述一个或更多个项目已受到影响的消息包括:
向所述媒体回放系统发送以下请求:所述请求让所述媒体回放系统发送对来自媒体项目的所述远程队列的至少一个媒体项目的指示的另一请求。
17.根据权利要求15所述的方法,其中,发送指示所确定的来自所述远程队列的所述一个或更多个项目已受到影响的消息包括:
确定来自经修改的远程队列的一个或更多个媒体项目,其中,所述一个或更多个项目包括所述特定媒体项目;以及
由所述计算系统将所确定的来自经修改的远程队列的所述一个或更多个媒体项目发送到所述媒体回放系统。
18.根据权利要求13所述的方法,还包括:
在接收到由所述回放设备正在播放的所述特定媒体项目的指示之后,存储指示所述远程队列的当前音轨的数据,其中,所述队列的所述当前音轨是由所述回放设备正在播放的所述特定媒体项目。
19.根据权利要求18所述的方法,还包括:
从所述媒体回放系统接收指示所述特定媒体项目的回放已结束的消息;以及
基于接收到指示所述特定媒体项目的回放已结束的消息,确定在所述队列中排在所述特定媒体项目之后的媒体项目并且将所存储的指示所述远程队列的所述当前音轨的数据更新成指示所确定的排在所述特定媒体项目之后的媒体项目。
20.根据权利要求13所述的方法,还包括:
接收指示所述远程队列不是所述回放设备处的有效队列的消息;以及
基于接收到指示所述队列不是所述回放设备处的所述有效队列的消息,从所述远程队列的订户列表中移除所述媒体回放系统,其中,每个订户被配置成回放所述远程队列中的媒体项目。
21.一种方法,包括:
由计算系统从媒体回放系统接收对来自媒体项目的队列的一个或更多个媒体项目的指示的至少一个请求;
由所述计算系统识别与媒体项目的所述队列相关联的一个或更多个回放策略,其中,所述一个或更多个回放策略中的每个回放策略限制所述一个或更多个媒体项目中的至少一个媒体项目的回放的至少一个方面;以及
由所述计算系统向所述媒体回放系统发送所识别出的所述一个或更多个回放策略的指示。
22.根据权利要求21所述的方法,其中,接收对来自媒体项目的一个或更多个队列的一个或更多个媒体项目的指示的所述至少一个请求包括:
从第一媒体回放系统接收对来自媒体项目的特定队列的一个或更多个媒体项目的指示的请求;以及
从第二媒体回放系统接收对来自媒体项目的所述特定队列的一个或更多个媒体项目的指示的请求。
23.根据权利要求22所述的方法,其中,识别与媒体项目的所述队列相关联的一个或更多个回放策略包括:
识别对应于所述第一媒体回放系统的一个或更多个第一回放策略,其中,所述一个或更多个第一回放策略中的每个第一回放策略限制由所述第一媒体回放系统对所述一个或更多个媒体项目中的至少一个媒体项目的回放的至少一个方面;以及
识别对应于所述第二媒体回放系统的一个或更多个第二回放策略,其中,所述一个或更多个第二回放策略中的每个第二回放策略限制由所述第二媒体回放系统对所述一个或更多个媒体项目中的至少一个媒体项目的回放的至少一个方面。
24.根据权利要求23所述的方法,其中,发送所识别出的所述一个或更多个回放策略的指示包括:将所述一个或更多个第一策略的指示发送到所述第一媒体回放系统;并且其中,所述方法还包括:
将所述一个或更多个第二策略的指示发送到所述第二媒体回放系统。
25.根据权利要求22所述的方法,其中,识别与媒体项目的所述队列相关联的一个或更多个回放策略包括:
识别对应于与所述第一媒体回放系统相关联的第一用户账户的一个或更多个第一策略,其中,所述一个或更多个第一回放策略中的每个第一回放策略限制由所述第一媒体回放系统对所述一个或更多个媒体项目中的至少一个媒体项目的回放的至少一个方面;以及
识别对应于与所述第二媒体回放系统相关联的第二用户账户的一个或更多个第二策略,其中,所述一个或更多个第二回放策略中的每个第二回放策略限制由所述第二媒体回放系统对所述一个或更多个媒体项目中的至少一个媒体项目的回放的至少一个方面。
26.根据权利要求21所述的方法,其中,接收对来自媒体项目的队列的一个或更多个媒体项目的指示的至少一个请求包括:
从第一媒体回放系统接收对来自媒体项目的第一队列的一个或更多个第一媒体项目的指示的请求;以及
从第二媒体回放系统接收对来自媒体项目的第二队列的一个或更多个第二媒体项目的指示的请求。
27.根据权利要求26所述的方法,其中,识别与媒体项目的所述队列相关联的一个或更多个回放策略包括:识别对应于所述第一队列的一个或更多个第一策略,其中,对应于所述第一队列的所述一个或更多个第一策略中的每个第一策略限制所述一个或更多个第一媒体项目中的至少一个第一媒体项目的回放的至少一个方面;并且其中,所述方法还包括:
识别对应于所述第二队列的一个或更多个第二策略,其中,所述一个或更多个第二回放策略中的每个第二回放策略限制所述一个或更多个第二媒体项目中的至少一个第二媒体项目的回放的至少一个方面。
28.根据权利要求21所述的方法,其中,发送所识别出的所述一个或更多个回放策略的指示包括:
发送:(i)所述一个或更多个媒体项目的指示,以及(ii)所识别出的所述一个或更多个回放策略的指示以使得所述媒体回放系统通过限制回放的所述至少一个方面来应用所述一个或更多个回放策略。
29.根据权利要求21所述的方法,还包括:
确定所识别出的所述一个或更多个策略限制所述一个或更多个媒体项目中的至少一个媒体项目的回放;以及
根据所识别出的所述一个或更多个策略来限制所述一个或更多个媒体项目中的至少一个媒体项目的回放。
30.根据权利要求29所述的方法,其中,根据所识别出的所述一个或更多个策略来限制所述一个或更多个媒体项目中的至少一个媒体项目的回放包括:
向所述媒体回放系统发送所述一个或更多个媒体项目中的至少一个媒体项目的回放被限制的指示。
31.根据权利要求21所述的方法,其中,所述一个或更多个回放策略限制以下中的至少一个:(i)跳过所述一个或更多个媒体项目中的一个媒体项目的回放;(ii)重放所述一个或更多个媒体项目中的先前播放的媒体项目;(iii)在所述一个或更多个媒体项目中的一个媒体项目的回放期间向前寻找;(iv)在所述一个或更多个媒体项目中的一个媒体项目的回放期间向后寻找;或者(v)重放所述一个或更多个媒体项目中的当前正在播放的媒体项目。
32.根据权利要求21所述的方法,其中,所述一个或更多个回放策略限制随机选项、重复选项、向前跳过选项、向后跳过选项、向前寻找选项或向后寻找选项中的至少一个。
33.根据权利要求21所述的方法,其中,媒体项目的所述队列指示所述媒体项目的预定回放顺序,并且其中,所述一个或更多个回放策略限制对所述预定回放顺序的修改。
34.一种计算系统,包括:
网络接口;
至少一个处理器;
数据存储装置;以及
程序逻辑,所述程序逻辑存储在所述数据存储装置中并且能够由所述至少一个处理器执行以:
从媒体回放系统接收对来自媒体项目的队列的一个或更多个媒体项目的指示的至少一个请求;
识别与媒体项目的所述队列相关联的一个或更多个回放策略,其中,所述一个或更多个回放策略中的每个回放策略限制所述一个或更多个媒体项目中的至少一个媒体项目的回放的至少一个方面;以及
向所述媒体回放系统发送所识别出的所述一个或更多个回放策略的指示。
35.一种计算设备,包括:
网络接口;
至少一个处理器;
数据存储装置;以及
程序逻辑,所述程序逻辑存储在所述数据存储装置中并且能够由所述至少一个处理器执行以:
接收指示回放媒体项目的队列的请求的输入数据;
经由所述网络接口发送对来自媒体项目的所述队列的一个或更多个媒体项目的指示的请求,其中,所述请求指示当前音轨;
经由所述网络接口接收:(i)来自所述队列的至少一个媒体项目的指示;以及(ii)与媒体项目的所述队列相关联的一个或更多个回放策略的指示,其中,所述一个或更多个回放策略中的每个回放策略限制来自所述队列的所述至少一个媒体项目的回放的至少一个方面;以及
使得图形接口显示:(i)所述至少一个媒体项目的图形指示,以及(ii)至少一个回放策略与所述至少一个媒体项目相关联的图形指示。
36.根据权利要求35所述的计算设备,其中,使得所述图形接口显示至少一个回放策略与所述至少一个媒体项目相关联的图形指示包括:使得所述图形接口显示与所述至少一个媒体项目相关联的所述至少一个回放策略的图形指示。
37.根据权利要求35所述的计算设备,其中,使得所述图形接口显示至少一个回放策略与所述至少一个媒体项目相关联的图形指示包括:显示使能相应回放选项的一个或更多个图形控件被限制的图形指示,其中,所述至少一个回放策略限制所述回放选项。
38.根据权利要求35所述的计算设备,其中,所述程序逻辑还能够被执行以确定所述一个或更多个回放策略中的至少一个回放策略将来自所述队列的媒体项目的显示限制于所述队列的所述当前音轨和所述队列中的一个或更多个另外的媒体项目;并且其中,使得所述图形接口显示所述至少一个媒体项目的图形指示包括:显示所述当前音轨和所述一个或更多个另外的媒体项目的图形指示。
39.根据权利要求35所述的计算设备,其中,所述程序逻辑还能够被执行以:
检测出当前媒体项目已从第一媒体项目改变为第二媒体项目;以及
基于检测出所述当前音轨已从第一媒体项目改变为第二媒体项目,使得所述图形接口显示与所述第二媒体项目相关联的至少一个回放策略的指示。
40.根据权利要求35所述的计算设备,其中,使得所述图形接口显示(i)所述至少一个媒体项目的指示以及(ii)至少一个回放策略与所述至少一个媒体项目相关联的指示包括:
使得所述图形接口显示:(i)至少一个第一媒体项目和至少一个第二媒体项目的图形指示,以及(ii)与所述至少一个第一媒体项目相关联的一个或更多个第一回放策略的图形指示以及与所述至少一个第二媒体项目相关联的一个或更多个第二回放策略的指示,其中,所述一个或更多个第一回放策略不同于所述一个或更多个第二回放策略。
41.一种方法,包括:
由计算系统从媒体回放系统接收对用于媒体项目的特定队列的播放头指针的指示的请求;
由所述计算系统识别播放头指针在媒体项目的所述特定队列内的位置,其中,所述队列中的每个位置对应于媒体项目;以及
由所述计算系统向所述媒体回放系统发送所述播放头指针的指示,其中,所述播放头指针的指示指示所述播放头指针的分配位置。
42.根据权利要求41所述的方法,其中,识别播放头指针的位置包括:
生成被配置成指示队列内的位置的播放头指针;以及
将所生成的播放头指针分配给媒体项目的所述特定队列中的位置。
43.根据权利要求41所述的方法,还包括:
接收指示所述媒体回放系统要回放的特定媒体项目的媒体项目标识符;以及
其中,将所述播放头指针分配给媒体项目的所述特定队列中的位置包括:将所述播放头指针分配给所述队列中的与所述媒体回放系统要回放的所述特定媒体项目对应的特定位置。
44.根据权利要求41所述的方法,其中,将所述播放头指针分配给媒体项目的所述特定队列中的位置包括:
从所述媒体回放系统接收在媒体项目的所述特定队列的起始处回放所述特定队列的请求;以及
将所述播放头指针分配给在所述队列中排在第一个的特定位置。
45.根据权利要求41所述的方法,其中,发送所述播放头指针的指示包括:发送指示所述播放头指针在媒体项目的所述队列中的所述分配位置的统一资源标识符。
46.根据权利要求41所述的方法,其中,发送所述播放头指针的指示包括:发送使得所述媒体回放系统在所述播放头指针的所述分配位置处启动所述队列的回放的所述播放头指针的指示。
47.根据权利要求41所述的方法,还包括:
接收本地播放头指针在所述媒体回放系统处的所述队列的本地拷贝中的特定位置的指示;
确定所述本地播放头指针在所述队列的所述本地拷贝中的所述特定位置不同于所述播放头指针的所述分配位置;以及
将所述播放头指针重新分配给所述队列中的与所述特定位置对应的位置。
48.根据权利要求41所述的方法,其中,所述媒体回放系统包括被配置成同步地回放媒体项目的一个或更多个回放设备的至少一个区域,并且其中,发送所述播放头指针的指示包括:发送使得所述至少一个区域的所述一个或更多个回放设备在所述播放头指针的所述分配位置处启动所述队列的回放的所述播放头指针的指示。
49.根据权利要求41所述的方法,还包括:
向所述媒体回放系统中的特定设备分配拥有者状态,其中,所述拥有者状态授权所述特定设备执行与对所述播放头指针的操纵对应的特定组操作。
50.根据权利要求41所述的方法,还包括:
向所述媒体回放系统中的第一设备分配拥有者状态,其中,所述拥有者状态授权所述第一设备对所述播放头指针执行第一组操作;以及
向所述媒体回放系统中的一个或更多个第二设备分配订户状态,其中,所述订户状态授权所述一个或更多个第二设备对所述播放头指针执行第二组操作,并且其中,所述第二组操作不同于所述第一组操作。
51.根据权利要求41所述的方法,还包括:
向所述媒体回放系统中的特定设备分配拥有者状态,其中,所述拥有者状态授权所述特定设备对所述播放头指针执行第一组操作;以及
向一个或更多个另外的媒体回放系统中的一个或更多个相应设备分配订户状态,其中,所述订户状态授权所述一个或更多个相应设备对所述播放头指针执行第二组操作,并且其中,所述第二组操作不同于所述第一组操作。
52.根据权利要求41所述的方法,其中,所述第一组操作对应于对所述播放头指针的位置的控制,并且其中,所述第二组操作对应于所述队列的与所述播放头指针同步的回放。
53.根据权利要求41所述的方法,还包括:
从控制设备接收操纵所述播放头指针的所述分配位置的命令的指示;
基于所述请求,向所述媒体回放系统发送操纵所述播放头指针的所述分配位置的命令的指示;
在发送操纵所述播放头指针的所述分配位置的命令的指示之后,接收所述播放头指针的新位置的指示;
将所述播放头指针重新分配给所述新位置;以及
向所述控制设备发送所述播放头指针的位置已被重新分配的指示。
54.一种计算系统,包括:
网络接口;
至少一个处理器;
数据存储装置;以及
程序逻辑,所述程序逻辑存储在所述数据存储装置中并且能够由所述至少一个处理器执行以:
从媒体回放系统接收对用于媒体项目的特定队列的播放头指针的指示的请求;
将播放头指针分配给媒体项目的所述特定队列中的位置,其中,所述队列中的每个位置对应于媒体项目;以及
向所述媒体回放系统发送所述播放头指针的指示,其中,所述播放头指针的指示指示所述播放头指针的所述分配位置。
55.一种方法,包括:
由媒体回放系统的控制设备接收将一个或更多个回放设备的区域与媒体项目的特定队列相关联的输入数据;
由所述控制设备向计算系统发送对用于媒体项目的所述特定队列的播放头指针的指示的请求;以及
由所述控制设备接收所请求的所述播放头指针的指示,其中,所述播放头指针的指示指示所述播放头指针在媒体项目的所述特定队列中的分配位置,并且其中,所述分配位置对应于在所述特定队列中的该位置处的媒体项目。
56.根据权利要求55所述的方法,还包括:
使得图形接口显示所述播放头的所述分配位置的指示。
57.根据权利要求56所述的方法,其中,使得所述图形接口显示所述播放头的所述分配位置的指示包括:使得所述图形接口显示与所述播放头指针在媒体项目的所述队列中的所述分配位置对应的媒体项目的指示。
58.根据权利要求55所述的方法,还包括:
接收指示所述播放头在媒体项目的所述队列中的相应位置的一个或更多个相应消息;以及
在接收到每个消息时,使得所述图形接口显示由所述消息指示的所述播放头的相应位置的指示。
59.根据权利要求55所述的方法,还包括:
接收指示操纵所述播放头指针的位置的命令的输入数据;以及
根据所述命令向所述计算系统发送操纵所述播放头指针的位置的请求。
60.根据权利要求55所述的方法,还包括:
接收所述计算系统处的媒体项目的一个或更多个队列的指示;以及
使得图形接口显示媒体项目的所述一个或更多个队列的指示;以及
其中,接收将一个或更多个回放设备的区域与媒体项目的特定队列相关联的输入数据包括:接收将一个或更多个回放设备的所述区域与媒体项目的所述一个或更多个队列中的特定一个队列相关联的输入数据。
CN201580041535.6A 2014-06-04 2015-05-28 媒体回放设备、方法和系统 Active CN106537838B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811599986.3A CN110086845B (zh) 2014-06-04 2015-05-28 回放设备、回放方法和有形非暂态计算机可读介质

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201462007906P 2014-06-04 2014-06-04
US62/007,906 2014-06-04
US14/616,332 2015-02-06
US14/616,341 2015-02-06
US14/616,341 US9654536B2 (en) 2014-06-04 2015-02-06 Cloud queue playback policy
US14/616,364 US9363255B2 (en) 2014-06-04 2015-02-06 Cloud queue playhead
US14/616,332 US9654459B2 (en) 2014-06-04 2015-02-06 Cloud queue synchronization protocol
US14/616,364 2015-02-06
PCT/US2015/033008 WO2015187464A1 (en) 2014-06-04 2015-05-28 Cloud queue management

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201811599986.3A Division CN110086845B (zh) 2014-06-04 2015-05-28 回放设备、回放方法和有形非暂态计算机可读介质

Publications (2)

Publication Number Publication Date
CN106537838A true CN106537838A (zh) 2017-03-22
CN106537838B CN106537838B (zh) 2019-01-29

Family

ID=54769617

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201810784436.2A Pending CN109088917A (zh) 2014-06-04 2015-05-28 云队列访问控制
CN201580041499.3A Active CN106664300B (zh) 2014-06-04 2015-05-28 云队列访问方法、计算设备和云队列访问控制方法
CN201811599986.3A Active CN110086845B (zh) 2014-06-04 2015-05-28 回放设备、回放方法和有形非暂态计算机可读介质
CN201580041535.6A Active CN106537838B (zh) 2014-06-04 2015-05-28 媒体回放设备、方法和系统

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN201810784436.2A Pending CN109088917A (zh) 2014-06-04 2015-05-28 云队列访问控制
CN201580041499.3A Active CN106664300B (zh) 2014-06-04 2015-05-28 云队列访问方法、计算设备和云队列访问控制方法
CN201811599986.3A Active CN110086845B (zh) 2014-06-04 2015-05-28 回放设备、回放方法和有形非暂态计算机可读介质

Country Status (4)

Country Link
US (20) US9363255B2 (zh)
EP (4) EP3111307B1 (zh)
JP (2) JP6253812B2 (zh)
CN (4) CN109088917A (zh)

Families Citing this family (206)

* Cited by examiner, † Cited by third party
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
US8106856B2 (en) 2006-09-06 2012-01-31 Apple Inc. Portable electronic device for photo management
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
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US8572513B2 (en) 2009-03-16 2013-10-29 Apple Inc. Device, method, and graphical user interface for moving a current position in content at a variable scrubbing rate
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US8698762B2 (en) 2010-01-06 2014-04-15 Apple Inc. Device, method, and graphical user interface for navigating and displaying content in context
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
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10706096B2 (en) 2011-08-18 2020-07-07 Apple Inc. Management of local and remote media items
US9002322B2 (en) 2011-09-29 2015-04-07 Apple Inc. Authentication with secondary approver
US9665339B2 (en) 2011-12-28 2017-05-30 Sonos, Inc. Methods and systems to select an audio track
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
KR102516577B1 (ko) 2013-02-07 2023-04-03 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
EP3008641A1 (en) 2013-06-09 2016-04-20 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
USD792420S1 (en) 2014-03-07 2017-07-18 Sonos, Inc. Display screen or portion thereof with graphical user interface
USD775632S1 (en) 2014-03-07 2017-01-03 Sonos, Inc. Display screen or portion thereof with graphical user interface
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9990129B2 (en) 2014-05-30 2018-06-05 Apple Inc. Continuity of application across devices
US10313506B2 (en) 2014-05-30 2019-06-04 Apple Inc. Wellness aggregator
EP3149728B1 (en) 2014-05-30 2019-01-16 Apple Inc. Multi-command single utterance input method
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9363255B2 (en) 2014-06-04 2016-06-07 Sonos, Inc. Cloud queue playhead
US9720642B2 (en) 2014-06-04 2017-08-01 Sonos, Inc. Prioritizing media content requests
US20150355818A1 (en) 2014-06-04 2015-12-10 Sonos, Inc. Continuous Playback Queue
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10339293B2 (en) 2014-08-15 2019-07-02 Apple Inc. Authenticated device used to unlock another device
CN113824998A (zh) 2014-09-02 2021-12-21 苹果公司 音乐用户界面
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
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
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
EP3254452B1 (en) 2015-02-02 2018-12-26 Apple Inc. Device, method, and graphical user interface for establishing a relationship and connection between two devices
US9521496B2 (en) * 2015-02-12 2016-12-13 Harman International Industries, Inc. Media content playback system and method
US9794618B2 (en) 2015-02-12 2017-10-17 Harman International Industries, Incorporated Media content playback system and method
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
EP3215960B1 (en) 2015-04-01 2019-08-07 Spotify AB System and method for generating dynamic playlists utilising device co-presence proximity
US9405597B1 (en) 2015-05-01 2016-08-02 Salesforce.Com, Inc. Centralized throttling service
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
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
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10275116B2 (en) 2015-06-07 2019-04-30 Apple Inc. Browser with docked tabs
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10200208B2 (en) * 2015-06-30 2019-02-05 K4Connect Inc. Home automation system including cloud and home message queue synchronization and related methods
US10630649B2 (en) 2015-06-30 2020-04-21 K4Connect Inc. Home automation system including encrypted device connection based upon publicly accessible connection file and related methods
JP6487072B2 (ja) 2015-06-30 2019-03-20 ケー4コネクト インコーポレイテッド 異常動作するアドレス指定可能デバイスとの通信を終了させるセキュリティコントローラを含むホームオートメーションシステム、及び関連方法
US10003938B2 (en) 2015-08-14 2018-06-19 Apple Inc. Easy location sharing
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10445425B2 (en) 2015-09-15 2019-10-15 Apple Inc. Emoji and canned responses
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
US20170142110A1 (en) * 2015-11-13 2017-05-18 Theplatform, Llc System and method of preauthorizing content
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10115435B2 (en) * 2015-12-14 2018-10-30 Spotify Ab Methods and systems for prioritizing playback of media content in a playback queue
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10044705B2 (en) * 2016-01-20 2018-08-07 Facebook, Inc. Session management for internet of things devices
US10659504B2 (en) * 2016-02-19 2020-05-19 Spotify Ab System and method for client-initiated playlist shuffle in a media content environment
US9900317B2 (en) 2016-02-25 2018-02-20 Red Hat, Inc. Access guards for multi-tenant logging
US10469885B2 (en) * 2016-03-22 2019-11-05 Arris Enterprises Llc Playback synchronization among adaptive bitrate streaming clients
DK179186B1 (en) 2016-05-19 2018-01-15 Apple Inc REMOTE AUTHORIZATION TO CONTINUE WITH AN ACTION
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
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK201770423A1 (en) 2016-06-11 2018-01-15 Apple Inc Activity and workout updates
AU2017100670C4 (en) 2016-06-12 2019-11-21 Apple Inc. User interfaces for retrieving contextually relevant media content
DK201670622A1 (en) 2016-06-12 2018-02-12 Apple Inc User interfaces for transactions
US10873786B2 (en) 2016-06-12 2020-12-22 Apple Inc. Recording and broadcasting application visual output
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
US10805358B2 (en) * 2016-10-13 2020-10-13 Microsoft Technology Licensing, Llc Universal casting service
CN106507133B (zh) * 2016-11-28 2019-07-26 北京金山安全软件有限公司 弹幕消息的处理方法、装置、系统及其设备
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10462124B2 (en) 2016-12-30 2019-10-29 Google Llc Authenticated session management across multiple electronic devices using a virtual session manager
US10541992B2 (en) * 2016-12-30 2020-01-21 Google Llc Two-token based authenticated session management
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US20180197124A1 (en) * 2017-01-10 2018-07-12 Hitender Tholia Method of generating, assigning and managing a software (or an electronic) token/stub/rolling number (a.k.a queue token or a wait token) either by selecting or scanning a QR Code or a Bar-Code or a NFC Tag or any other electronic interfaces through a personal mobile device/s AND invoking integrated services using published visual interfaces through a personal mobile device/s.
WO2018134432A1 (en) * 2017-01-23 2018-07-26 Koninklijke Philips N.V. Method and system for health information reporting
US11431836B2 (en) * 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
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
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
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
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US10928980B2 (en) 2017-05-12 2021-02-23 Apple Inc. User interfaces for playing and managing audio items
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
AU2018223051B1 (en) * 2017-05-16 2018-11-08 Apple Inc. Methods and interfaces for home media control
US20220279063A1 (en) 2017-05-16 2022-09-01 Apple Inc. Methods and interfaces for home media control
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US20200270871A1 (en) 2019-02-27 2020-08-27 Louisiana-Pacific Corporation Fire-resistant manufactured-wood based siding
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
CN111343060B (zh) 2017-05-16 2022-02-11 苹果公司 用于家庭媒体控制的方法和界面
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10805370B2 (en) * 2017-06-02 2020-10-13 Apple Inc. Alarms for a system of smart media playback devices
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10970302B2 (en) 2017-06-22 2021-04-06 Adobe Inc. Component-based synchronization of digital assets
US11635908B2 (en) 2017-06-22 2023-04-25 Adobe Inc. Managing digital assets stored as components and packaged files
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
FR3068852A1 (fr) * 2017-09-22 2019-01-11 Orange Procede de gestion du droit d'acces a un contenu numerique
USD854043S1 (en) 2017-09-29 2019-07-16 Sonos, Inc. Display screen or portion thereof with graphical user interface
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10097879B1 (en) * 2017-12-29 2018-10-09 Rovi Guides, Inc. Systems and methods for extending storage space of a user device
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10592340B2 (en) * 2018-02-28 2020-03-17 International Business Machines Corporation Dynamic authorization batching in a dispersed storage network
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
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
CN109302376B (zh) * 2018-03-30 2021-05-28 浙江甲骨文超级码科技股份有限公司 一种账户生码方法、账户授权方法以及账户取码方法
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
KR102437288B1 (ko) * 2018-04-09 2022-08-29 콘메드 코포레이션 말단에 위치된 액추에이터와 함께 작동되는 펜슬-그립 와이어 드라이버
DK180171B1 (en) 2018-05-07 2020-07-14 Apple Inc USER INTERFACES FOR SHARING CONTEXTUALLY RELEVANT MEDIA CONTENT
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
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
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
WO2020006410A1 (en) * 2018-06-28 2020-01-02 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
US10747493B2 (en) * 2018-07-09 2020-08-18 Sonos, Inc. Distributed provisioning of properties of operational settings of a media playback system
CN109151565B (zh) * 2018-09-04 2019-12-20 北京达佳互联信息技术有限公司 播放语音的方法、装置、电子设备及存储介质
US11128629B2 (en) * 2018-09-19 2021-09-21 Google Llc Escalating user privileges in cloud computing environments
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
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
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11321012B2 (en) 2018-10-12 2022-05-03 Adobe Inc. Conflict resolution within synchronized composite-part-based digital assets
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
USD963685S1 (en) 2018-12-06 2022-09-13 Sonos, Inc. Display screen or portion thereof with graphical user interface for media playback control
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11102259B2 (en) * 2019-01-22 2021-08-24 Apple Inc. Network system for content playback on multiple devices
US11082742B2 (en) 2019-02-15 2021-08-03 Spotify Ab Methods and systems for providing personalized content based on shared listening sessions
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11184666B2 (en) * 2019-04-01 2021-11-23 Sonos, Inc. Access control techniques for media playback systems
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
DK201970535A1 (en) 2019-05-06 2020-12-21 Apple Inc Media browsing user interface with intelligently selected representative media items
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK201970533A1 (en) 2019-05-31 2021-02-15 Apple Inc Methods and user interfaces for sharing audio
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
KR20220027295A (ko) 2019-05-31 2022-03-07 애플 인크. 오디오 미디어 제어를 위한 사용자 인터페이스
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
US10904029B2 (en) 2019-05-31 2021-01-26 Apple Inc. User interfaces for managing controllable external devices
US11010121B2 (en) 2019-05-31 2021-05-18 Apple Inc. User interfaces for audio media control
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
US11074408B2 (en) 2019-06-01 2021-07-27 Apple Inc. Mail application features
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
GB2586785A (en) * 2019-08-30 2021-03-10 Mobilise Consulting Ltd Authentication
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11636855B2 (en) 2019-11-11 2023-04-25 Sonos, Inc. Media content based on operational data
US11204737B2 (en) 2019-11-11 2021-12-21 Sonos, Inc. Playback queues for shared experiences
US11356460B2 (en) * 2019-12-31 2022-06-07 Equifax Inc. Secure online access control to prevent identification information misuse
US11206485B2 (en) * 2020-03-13 2021-12-21 Bose Corporation Audio processing using distributed machine learning model
AU2021259316B2 (en) 2020-04-21 2023-11-23 Sonos, Inc. Priority media content
US11283846B2 (en) 2020-05-06 2022-03-22 Spotify Ab Systems and methods for joining a shared listening session
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11513667B2 (en) 2020-05-11 2022-11-29 Apple Inc. User interface for audio message
US11503373B2 (en) * 2020-06-16 2022-11-15 Spotify Ab Methods and systems for interactive queuing for shared listening sessions
US11197068B1 (en) 2020-06-16 2021-12-07 Spotify Ab Methods and systems for interactive queuing for shared listening sessions based on user satisfaction
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
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
EP4323992A1 (en) 2021-05-15 2024-02-21 Apple Inc. User interfaces for group workouts
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing
US11366705B1 (en) * 2021-07-29 2022-06-21 Apex.AI, Inc. Deterministic replay of events between software entities
WO2023019097A1 (en) 2021-08-10 2023-02-16 Sonos, Inc. Edge data caching in a media playback system
US11936658B2 (en) 2021-11-15 2024-03-19 Bank Of America Corporation Intelligent assignment of a network resource

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102104623A (zh) * 2010-12-20 2011-06-22 广州市动景计算机科技有限公司 通过移动终端进行媒体文件断点续播的方法和系统
CN102215115A (zh) * 2010-04-07 2011-10-12 腾讯科技(深圳)有限公司 播放列表信息同步方法及用于播放列表信息同步的服务器
US20120088477A1 (en) * 2010-06-10 2012-04-12 Cricket Communications, Inc. Mobile handset for media access and playback
US20130253679A1 (en) * 2006-09-12 2013-09-26 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
WO2014039163A1 (en) * 2012-09-10 2014-03-13 Apple Inc. Client side media station generation

Family Cites Families (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440644A (en) 1991-01-09 1995-08-08 Square D Company Audio distribution system having programmable zoning features
JP3094900B2 (ja) * 1996-02-20 2000-10-03 ヤマハ株式会社 ネットワーク機器およびデータ送受信方法
US6404811B1 (en) 1996-05-13 2002-06-11 Tektronix, Inc. Interactive multimedia system
US6469633B1 (en) 1997-01-06 2002-10-22 Openglobe Inc. Remote control of electronic devices
US6611537B1 (en) 1997-05-30 2003-08-26 Centillium Communications, Inc. Synchronous network for digital media streams
ES2397501T3 (es) 1997-11-25 2013-03-07 Motorola Mobility, Llc Métodos, sistemas y elementos fabricados de reproducción de contenido audio
US6032202A (en) 1998-01-06 2000-02-29 Sony Corporation Of Japan Home audio/video network with two level device control
US20020002039A1 (en) 1998-06-12 2002-01-03 Safi Qureshey Network-enabled audio device
US7130616B2 (en) 2000-04-25 2006-10-31 Simple Devices System and method for providing content, management, and interactivity for client devices
US6256554B1 (en) * 1999-04-14 2001-07-03 Dilorenzo Mark Multi-room entertainment system with in-room media player/dispenser
US7657910B1 (en) 1999-07-26 2010-02-02 E-Cast Inc. Distributed electronic entertainment method and apparatus
US6522886B1 (en) 1999-11-22 2003-02-18 Qwest Communications International Inc. Method and system for simultaneously sharing wireless communications among multiple wireless handsets
DE69935147T2 (de) 1999-12-03 2007-10-31 Telefonaktiebolaget Lm Ericsson (Publ) Verfahren zur gleichzeitigen Wiedergabe von Audio Signalen in zwei Telefonen
US20010042107A1 (en) 2000-01-06 2001-11-15 Palm Stephen R. Networked audio player transport protocol and architecture
US20020026442A1 (en) 2000-01-24 2002-02-28 Lipscomb Kenneth O. System and method for the distribution and sharing of media assets between media players devices
JP2004500651A (ja) 2000-01-24 2004-01-08 フリスキット インコーポレイテッド ストリーミングメディアの検索および再生システム
ATE428233T1 (de) 2000-02-18 2009-04-15 Bridgeco Ag Verteilung einer zeitreferenz uber ein netzwerk
US6631410B1 (en) 2000-03-16 2003-10-07 Sharp Laboratories Of America, Inc. Multimedia wired/wireless content synchronization system and method
US20020022453A1 (en) 2000-03-31 2002-02-21 Horia Balog Dynamic protocol selection and routing of content to mobile devices
US6934269B1 (en) * 2000-04-24 2005-08-23 Microsoft Corporation System for networked component address and logical network formation and maintenance
KR100867760B1 (ko) 2000-05-15 2008-11-10 소니 가부시끼 가이샤 재생장치, 재생방법 및 기록매체
GB2363036B (en) 2000-05-31 2004-05-12 Nokia Mobile Phones Ltd Conference call method and apparatus therefor
JP2002044765A (ja) 2000-07-28 2002-02-08 Matsushita Electric Ind Co Ltd 遠隔制御システムとゲートウェイ装置
US6778869B2 (en) 2000-12-11 2004-08-17 Sony Corporation System and method for request, delivery and use of multimedia files for audiovisual entertainment in the home environment
US7143939B2 (en) 2000-12-19 2006-12-05 Intel Corporation Wireless music device and method therefor
US20020124097A1 (en) 2000-12-29 2002-09-05 Isely Larson J. Methods, systems and computer program products for zone based distribution of audio signals
US6757517B2 (en) 2001-05-10 2004-06-29 Chin-Chi Chang Apparatus and method for coordinated music playback in wireless ad-hoc networks
US7260672B2 (en) * 2001-09-07 2007-08-21 Intel Corporation Using data stored in a destructive-read memory
US7391791B2 (en) 2001-12-17 2008-06-24 Implicit Networks, Inc. Method and system for synchronization of content rendering
US7853341B2 (en) 2002-01-25 2010-12-14 Ksc Industries, Inc. Wired, wireless, infrared, and powerline audio entertainment systems
US8103009B2 (en) 2002-01-25 2012-01-24 Ksc Industries, Inc. Wired, wireless, infrared, and powerline audio entertainment systems
JP2005518734A (ja) 2002-02-20 2005-06-23 メシュネットワークス、インコーポレイテッド チャンネル間で802.11データトラフィックをルーティングしてアドホックネットワーク容量を増大するシステムおよび方法
US7827259B2 (en) 2004-04-27 2010-11-02 Apple Inc. Method and system for configurable automatic media selection
US7797446B2 (en) 2002-07-16 2010-09-14 Apple Inc. Method and system for updating playlists
JP4555072B2 (ja) 2002-05-06 2010-09-29 シンクロネイション インコーポレイテッド ローカライズされたオーディオ・ネットワークおよび関連するディジタル・アクセサリ
KR100966415B1 (ko) 2002-05-09 2010-06-28 넷스트림스 엘엘씨 오디오 네트워크 분산 시스템
US8161411B2 (en) 2003-04-25 2012-04-17 Apple Inc. Graphical user interface for browsing, searching and presenting media items
US8060225B2 (en) 2002-07-31 2011-11-15 Hewlett-Packard Development Company, L. P. Digital audio device
DE60210177T2 (de) 2002-08-14 2006-12-28 Sony Deutschland Gmbh Bandbreitenorientierte Neukonfigurierung von drahtlosen Ad-Hoc-Netzen
US7295548B2 (en) 2002-11-27 2007-11-13 Microsoft Corporation Method and system for disaggregating audio/visual components
US7624158B2 (en) 2003-01-14 2009-11-24 Eycast Inc. Method and apparatus for transmission and storage of digital medical data
US6728729B1 (en) * 2003-04-25 2004-04-27 Apple Computer, Inc. Accessing media across networks
US8181022B2 (en) * 2003-06-24 2012-05-15 Realnetworks, Inc. Method and apparatus for controlling access restrictions for media playback
US7571014B1 (en) 2004-04-01 2009-08-04 Sonos, Inc. Method and apparatus for controlling multimedia players in a multi-zone system
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US8001612B1 (en) 2003-11-03 2011-08-16 Wieder James W Distributing digital-works and usage-rights to user-devices
US7483538B2 (en) 2004-03-02 2009-01-27 Ksc Industries, Inc. Wireless and wired speaker hub for a home theater system
US7703141B2 (en) * 2004-03-11 2010-04-20 Microsoft Corporation Methods and systems for protecting media content
US9374607B2 (en) 2012-06-26 2016-06-21 Sonos, Inc. Media playback system with guest access
US7630501B2 (en) 2004-05-14 2009-12-08 Microsoft Corporation System and method for calibration of an acoustic system
JP4975623B2 (ja) * 2004-09-14 2012-07-11 オープンティーヴィー,インク. マルチメディアキューサービス
US7958441B2 (en) 2005-01-07 2011-06-07 Apple Inc. Media management for groups of media items
US8516093B2 (en) 2005-04-22 2013-08-20 Intel Corporation Playlist compilation system and method
GB2426623B (en) 2005-05-23 2011-01-26 British Sky Broadcasting Ltd Apparatus for media recording and playback
US20070219908A1 (en) 2006-03-02 2007-09-20 Yahoo! Inc. Providing syndicated media to authorized users
JP2007264922A (ja) 2006-03-28 2007-10-11 Seiko Epson Corp UPnPの規定に基づいてデジタルコンテンツを管理するサーバへのデジタルコンテンツのアップロード
US7805682B1 (en) * 2006-08-03 2010-09-28 Sonos, Inc. Method and apparatus for editing a playlist
US8788080B1 (en) * 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
JP2010507294A (ja) 2006-10-17 2010-03-04 アベガ システムズ ピーティーワイ リミテッド マルチメディアデバイスの統合
JP4935345B2 (ja) 2006-12-25 2012-05-23 ソニー株式会社 コンテンツ再生システム、再生装置、再生制御方法及びプログラム
US20080229215A1 (en) 2007-03-14 2008-09-18 Samuel Pierce Baron Interaction In A Virtual Social Environment
FR2917095B1 (fr) 2007-06-07 2009-07-17 Biomerieux Sa Dispositif de lyse de microorganismes presents dans un echantillon environnemental ou clinique et d'extraction des acides nucleiques desdits microorganismes aux fins d'analyse.
US8041438B2 (en) 2007-06-28 2011-10-18 Apple Inc. Data-driven media management within an electronic device
US9047235B1 (en) * 2007-12-28 2015-06-02 Nokia Corporation Content management for packet-communicating devices
US8364296B2 (en) * 2008-01-02 2013-01-29 International Business Machines Corporation Method and system for synchronizing playing of an ordered list of auditory content on multiple playback devices
US20090199120A1 (en) 2008-02-01 2009-08-06 Moaec, Inc. Customizable, reconfigurable graphical user interface
CN101247409A (zh) * 2008-03-21 2008-08-20 中国科学院电工研究所 一种基于p2p网络的直播流媒体的鉴权方法
WO2009120301A2 (en) * 2008-03-25 2009-10-01 Square Products Corporation System and method for simultaneous media presentation
US8429287B2 (en) 2009-04-29 2013-04-23 Rangecast Technologies, Llc Network audio distribution system and method
US8148622B2 (en) 2009-07-01 2012-04-03 Apple Inc. Media playback queuing for playback management
US9203816B2 (en) 2009-09-04 2015-12-01 Echostar Technologies L.L.C. Controlling access to copies of media content by a client device
US8214740B2 (en) 2009-10-30 2012-07-03 Apple Inc. Song flow methodology in random playback
US9294526B2 (en) 2009-12-28 2016-03-22 Microsoft Technology Licensing, Llc Managing multiple dynamic media streams
US8422858B2 (en) 2010-01-21 2013-04-16 Robert Paul Morris Methods, systems, and computer program products for coordinating playing of media streams
US20110276155A1 (en) * 2010-05-07 2011-11-10 Apple Inc. Media playback settings for playlists
US9015588B2 (en) 2010-06-10 2015-04-21 At&T Mobility Ii Llc Advanced playback queue management
US20120117026A1 (en) 2010-06-10 2012-05-10 Cricket Communications, Inc. Play list management
US20110307927A1 (en) 2010-06-11 2011-12-15 Toshihisa Nakano Method, system and apparatus for managing network services
TWI504140B (zh) 2010-07-15 2015-10-11 Conexant Systems Inc 音訊驅動系統及方法
CN201928306U (zh) * 2010-10-21 2011-08-10 广州市浩云安防科技工程有限公司 一种视频联网管理系统
US9510061B2 (en) * 2010-12-03 2016-11-29 Arris Enterprises, Inc. Method and apparatus for distributing video
US10631246B2 (en) * 2011-02-14 2020-04-21 Microsoft Technology Licensing, Llc Task switching on mobile devices
EP2490458B1 (en) 2011-02-15 2016-09-21 Nxp B.V. Control of a loudspeaker unit
US8327005B2 (en) 2011-02-24 2012-12-04 Jibe Mobile Method to set up application to application communication over a network between applications running on endpoint devices
US9032497B2 (en) * 2011-06-15 2015-05-12 Cbs Interactive Inc. System and method for securing embedded media
US10333711B2 (en) 2011-06-17 2019-06-25 Microsoft Technology Licensing, Llc Controlling access to protected objects
WO2013013160A2 (en) * 2011-07-20 2013-01-24 Sonos, Inc. Web-based music partner systems and methods
US9286384B2 (en) 2011-09-21 2016-03-15 Sonos, Inc. Methods and systems to share media
US8204890B1 (en) 2011-09-26 2012-06-19 Google Inc. Media content voting, ranking and playing system
CN103166783A (zh) * 2011-12-14 2013-06-19 华为技术有限公司 资源的控制方法及装置
US9654821B2 (en) * 2011-12-30 2017-05-16 Sonos, Inc. Systems and methods for networked music playback
US9215065B2 (en) 2012-02-17 2015-12-15 Cbs Interactive Inc. Media player security for full length episodes
US9986273B2 (en) * 2012-03-29 2018-05-29 Sony Interactive Entertainment, LLC Extracting media content from social networking services
US8908879B2 (en) 2012-05-23 2014-12-09 Sonos, Inc. Audio content auditioning
JP2013247591A (ja) * 2012-05-29 2013-12-09 Sony Corp 上映管理装置および上映管理方法
US9235867B2 (en) 2012-06-04 2016-01-12 Microsoft Technology Licensing, Llc Concurrent media delivery
US9674587B2 (en) * 2012-06-26 2017-06-06 Sonos, Inc. Systems and methods for networked music playback including remote add to queue
US20140075308A1 (en) 2012-09-10 2014-03-13 Apple Inc. Intelligent media queue
US9038138B2 (en) 2012-09-10 2015-05-19 Adobe Systems Incorporated Device token protocol for authorization and persistent authentication shared across applications
US9078010B2 (en) 2012-09-28 2015-07-07 Sonos, Inc. Audio content playback management
WO2014064531A1 (en) * 2012-10-22 2014-05-01 Spotify Ab Systems and methods for pre-fetching media content
US20140123006A1 (en) 2012-10-25 2014-05-01 Apple Inc. User interface for streaming media stations with flexible station creation
CN103812828B (zh) * 2012-11-08 2018-03-06 华为终端(东莞)有限公司 处理媒体内容的方法、控制设备、媒体服务器和媒体播放器
WO2014071801A1 (zh) * 2012-11-12 2014-05-15 腾讯科技(深圳)有限公司 播放列表同步方法及装置
US20140189648A1 (en) 2012-12-27 2014-07-03 Nvidia Corporation Facilitated quality testing
CN103118138B (zh) * 2013-03-04 2016-02-10 中国信息安全测评中心 一种基于云服务的消息队列流处理方法
US9706237B2 (en) 2013-03-12 2017-07-11 Time Warner Cable Enterprises Llc TV playlist
US9356918B2 (en) 2013-03-13 2016-05-31 Google Inc. Identification delegation for devices
US9501533B2 (en) * 2013-04-16 2016-11-22 Sonos, Inc. Private queue for a media playback system
US9361371B2 (en) * 2013-04-16 2016-06-07 Sonos, Inc. Playlist update in a media playback system
US9703521B2 (en) * 2013-05-29 2017-07-11 Sonos, Inc. Moving a playback queue to a new zone
US9282403B1 (en) 2013-05-31 2016-03-08 Amazon Technologies, Inc User perceived gapless playback
CN103338387B (zh) * 2013-06-20 2016-05-25 上海大学 云计算下能量消耗和视频质量联合优化的数据包调度方法
US9411942B2 (en) 2013-08-30 2016-08-09 D&M Holdings, Inc. Network device, system and method for rendering an interactive multimedia playlist
US9078072B2 (en) 2013-10-07 2015-07-07 Bose Corporation Audio distribution
EP3036903A4 (en) 2013-10-25 2016-11-09 Mediatek Inc METHOD AND APPARATUS FOR CONTROLLING TRANSMISSION OF COMPRESSED IMAGE FROM TRANSMISSION SYNCHRONIZATION EVENTS
WO2015117068A1 (en) 2014-01-31 2015-08-06 Sparcq, Inc. Media content marking and tracking methods and apparatus
US9363255B2 (en) 2014-06-04 2016-06-07 Sonos, Inc. Cloud queue playhead

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130253679A1 (en) * 2006-09-12 2013-09-26 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
CN102215115A (zh) * 2010-04-07 2011-10-12 腾讯科技(深圳)有限公司 播放列表信息同步方法及用于播放列表信息同步的服务器
US20120088477A1 (en) * 2010-06-10 2012-04-12 Cricket Communications, Inc. Mobile handset for media access and playback
CN102104623A (zh) * 2010-12-20 2011-06-22 广州市动景计算机科技有限公司 通过移动终端进行媒体文件断点续播的方法和系统
WO2014039163A1 (en) * 2012-09-10 2014-03-13 Apple Inc. Client side media station generation

Also Published As

Publication number Publication date
US20190028452A1 (en) 2019-01-24
US11831627B2 (en) 2023-11-28
US20190028453A1 (en) 2019-01-24
US10116641B2 (en) 2018-10-30
US10326750B2 (en) 2019-06-18
US20160231985A1 (en) 2016-08-11
US10462119B2 (en) 2019-10-29
EP3771146A1 (en) 2021-01-27
CN106664300B (zh) 2018-08-14
US10158619B2 (en) 2018-12-18
US20200358753A1 (en) 2020-11-12
EP3829107A1 (en) 2021-06-02
CN110086845B (zh) 2022-02-22
US20190068569A1 (en) 2019-02-28
JP6193515B1 (ja) 2017-09-06
EP3111307A4 (en) 2017-10-18
EP3111307B1 (en) 2020-07-01
US20150355879A1 (en) 2015-12-10
US9648071B2 (en) 2017-05-09
US9942215B2 (en) 2018-04-10
US9967246B2 (en) 2018-05-08
US20160234277A1 (en) 2016-08-11
EP3111307A1 (en) 2017-01-04
US20170208056A1 (en) 2017-07-20
US9537852B2 (en) 2017-01-03
US20150358310A1 (en) 2015-12-10
US20150358375A1 (en) 2015-12-10
EP3111589A1 (en) 2017-01-04
US20150358380A1 (en) 2015-12-10
CN106664300A (zh) 2017-05-10
CN110086845A (zh) 2019-08-02
US9654459B2 (en) 2017-05-16
EP3111589A4 (en) 2017-08-30
JP2017528861A (ja) 2017-09-28
US9363255B2 (en) 2016-06-07
US10587602B2 (en) 2020-03-10
US20190028451A1 (en) 2019-01-24
US10666634B2 (en) 2020-05-26
US10412073B2 (en) 2019-09-10
US20170208110A1 (en) 2017-07-20
US9729599B2 (en) 2017-08-08
US9654536B2 (en) 2017-05-16
JP2017526029A (ja) 2017-09-07
US10333920B2 (en) 2019-06-25
US20150358304A1 (en) 2015-12-10
JP6253812B2 (ja) 2017-12-27
CN106537838B (zh) 2019-01-29
US20170026430A1 (en) 2017-01-26
US20150358381A1 (en) 2015-12-10
US20190230074A1 (en) 2019-07-25
US9363254B2 (en) 2016-06-07
US9648070B2 (en) 2017-05-09
US20170041368A1 (en) 2017-02-09
US20160231984A1 (en) 2016-08-11
CN109088917A (zh) 2018-12-25
US20200344223A1 (en) 2020-10-29

Similar Documents

Publication Publication Date Title
CN106537838B (zh) 媒体回放设备、方法和系统
US20190058777A1 (en) Receiving Media Content Based on User Media Preferences
CN106134209B (zh) 知晓帐户情况下的媒体偏好
CN106031132A (zh) 基于回放区域认知的媒体内容
CN106465057A (zh) 设备组标识
CN106062810A (zh) 网页媒体回放
CN106134214A (zh) 过滤准则的动态显示
CN104584061A (zh) 提供对众源播放列表的来宾访问的系统、方法、装置和制品
US11899708B2 (en) Multimedia content distribution system and method
WO2015187464A1 (en) Cloud queue management

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant