基于网络的音乐合作者系统和方法

文档序号:6496520阅读:179来源:国知局
基于网络的音乐合作者系统和方法
【专利摘要】公开了用于媒体内容开发和部署的系统和方法。示例系统包括开发平台和内容递送平台,所述平台包括处理器和存储器。示例开发平台提供接口以接受来自提供商的要被核证有资格经由所述内容递送平台进行递送的媒体内容。示例开发平台促进由所述提供商经由所述接口,根据测试工具和结合所述开发平台提供的应用编程接口,对所述媒体内容进行测试。示例开发平台处理所述媒体内容,以便经由所述内容递送平台由用户进行受监视的β测试。示例开发平台评估所述受监视的β测试,以确定媒体内容是否适合发布。示例开发平台促进经由所述内容递送平台将所述媒体内容发布以用于正式发行。
【专利说明】基于网络的音乐合作者系统和方法
[0001]相关申请的交叉引用
[0002]在此公开的技术涉及在2011年7月20日提交的美国临时专利申请61 / 509,939,并且要求其优先权,在此通过弓I用将其全部内容并入本文。
【技术领域】
[0003]本发明公开的技术涉及在消费电子领域中使用的技术。特别地,某些实施例涉及对各种内容提供商的多媒体内容的配置和访问。
【背景技术】
[0004]音乐是我们日常生活的非常重要的部分。由于科技的进步,现在比以往任何时候都更容易获得音乐内容。同样的情形也适用于其他类型的媒体,如电视、电影和其他音频和视频内容。事实上,现在的用户除了通过访问音频和视频内容的较传统的方式之外,还可以甚至通过在线商店、互联网电台、在线音乐服务、在线电影服务等等来访问互联网上的内容。
[0005]针对这样的音频和视频内容的需求不断激增。由于多年来的高需求,用于访问和播放这种内容的技术也同样得到提高。甚至,以市场或最终用户可能没有预料到的方式显著地改进或开发在访问这种内容和回放这种内容时使用的技术。
【专利附图】

【附图说明】
[0006]参考下面的描述、所附权利要求书和附图,本领域技术人员将更好地理解在此公开的技术的特征、方面和优点,其中:
[0007]图1示出在其中可以实施某些实施例的示例结构;
[0008]图2A示出了具有内置放大器和扬声器的示例区域播放器的示图;
[0009]图2B示出了具有内置放大器并且连接到外部扬声器的示例区域播放器的示图;
[0010]图2C示出了连接到A / V接收器和扬声器的示例区域播放器的示图;
[0011]图3示出了示例控制器的示图;
[0012]图4示出了示例区域播放器的内部功能框图;
[0013]图5示出了示例控制器的内部功能框图;
[0014]图6描述了根据分散的通信、组织和控制结构进行操作的示意性网络音频系统;
[0015]图7示出了内容合作者(partner)可以访问、验证、测试和向用户投放内容的示例处理的流程图;
[0016]图8描述了在多媒体内容开发者与多媒体内容平台/服务之间的示例集成处理的流程图;
[0017]图9A-9B描述了促进对新内容的β测试和正式发行的示例控制器接口 ;
[0018]图10说明了用于新内容服务的开发、集成、β测试和投放的示例交叉功能工作流;[0019]图11说明了示例集成测试系统和关联的处理流程;
[0020]图12提供了用于对内容服务进行β公测的示例基础设施;
[0021]图13说明了示例音乐服务性能反馈控制面板;
[0022]图14说明了示例认证服务;
[0023]图15说明了音乐系统与音乐服务的示例集成;
[0024]图16说明了用于内容回放的示例系统和序列图;
[0025]图17和图18描述了在音乐服务与回放设备之间的示例交互;
[0026]图19是可用于实现本文描述的系统、装置、制品和方法的示例处理器系统的框图。
[0027]此外,附图是用于说明一些实施方案的目的,但是应该理解,本发明并不限于在附图中示出的布置和手段。
【具体实施方式】
[0028]I 概述
[0029]本文描述的示例实施例涉及在新合作者的内容服务与内容访问及回放系统之间的集成。作为通过云从多个远程媒体源向高保真回放系统提供数字媒体的较简单的机制和处理,所述实施例对于合作者的内容服务(如媒体提供商)特别有用。在一些实施例中,特定的实施例使得内容服务能够以比以前约快60%的速度经由云使它们自身可被所连接的回放系统获得。在一些实例中,某些实施例在开发和测试阶段给予回放系统的用户对内容服务的较早访问。另外,这些实施例在结合回放设备一起使用时特别有用,因为本文描述的特定实施例被配置为提供对云上的音频的更多的访问,其中所述云可以以各种方式布置。这些实施例还可以例如结合希望在开发、测试、验证和部署各种媒体内容方面具有灵活性的任何环境和系统找到用途。
[0030]尽管下文中公开了示例方法、装置、系统和制品(其包括在硬件上执行的固件和/或软件以及其他组件),但是应该注意,这样方法、装置、系统和/或制品仅仅是说明性的,并且不应该被视为限制。例如,可以设想,这些固件、硬件和/或软件组件中的任何一个或全部可以完全以硬件来具体实现,完全以软件来具体实现,或者以硬件、软件和/或固件的任何组合来具体实现。因此,虽然下文描述了示例方法、装置、系统和/或制品,所提供的这些示例不是实现这种方法、装置、系统和/或制品的仅有方法。
[0031]当所附权利要求中任意一个写明为涵盖纯软件和/或固件实现时,至少一个示例中的至少一个元件因此被明确限定为包括存储软件和/或固件的有形介质,如存储器、DVD、⑶、蓝光等等。
[0032]这些实施例和许多附加实施例被详细描述如下。此外,详细描述在很大程度上是根据说明性环境、系统、过程、步骤、逻辑块、处理以及直接或间接地类似于耦合到网络的数据处理设备的操作的其它符号表示来介绍的。这些过程描述和表示通常被本领域技术人员用于最有效地向本领域其他技术人员传达他们的工作的内容。阐述了大量的具体细节,以提供对本公开的全面理解。然而,本领域技术人员应该理解,本发明的特定实施例可以在没有特定的具体细节的情况下实践。在其他情况下,没有详细描述众所周知的方法、过程、组件和电路,以避免不必要地模糊实施例的方面。[0033]本文中提及“实施例”意味着:结合实施例描述的特定的特征、结构或特性可以被包括在本发明的至少一个示例实施例中。在说明书中不同地方出现该短语既不一定全部指向同一实施例,也不是与其他实施例互斥的不同实施例或替代实施例。因此,本文描述的、被本领域技术人员显式地和隐式地理解的实施例,可以与其他实施例相结合。
[0034]I1.示例环境
[0035]现在参考附图,其中在所有附图中类似的标号可以指代类似的部分。图1示出了在其中可以实施本文描述和公开的一个或多个实施例的示例系统配置100。
[0036]作为示例说明,系统配置100代表具有多个区域的家,尽管家可能已经配置为仅具有一个区域。例如,每个区域代表不同的房间或空间,如办公室、浴室、卧室、厨房、饭厅、家庭娱乐室、家庭影院室、工具或洗衣房以及院子。单个区域也可以包括多个房间或空间,如果如此配置的话。区域播放器102-124中的一个或多个被示出为处于各自的区域中。区域播放器102-124(也被称作回放设备、多媒体单元、扬声器、播放器等等)提供音频、视频和/或视听输出。控制器130(例如,出于示意说明的目的,被示出为处于厨房中)提供对系统配置100的控制。控制器130可以固定在一个区域,或者备选地可以是移动的,使得其可以在各个区域中四下移动。系统100还可以包括不只一个控制器130。系统配置100示出了示例的整个房屋音频系统,但是应该理解,此处所描述的技术并不限于其特定的应用地方或者与图1的整个房屋音频系统100类似的扩展系统。
[0037]a.示例区域播放器
[0038]图2A、2B和2C示出了区域播放器的示例类型。例如,图2A、2B和2C的区域播放器200、202和204可以分别对应于图1的区域播放器102-124。在一些实施例中,仅使用一个区域播放器(诸如全音域播放器)来再现音频。在一些实施例中,仅使用两个或更多个区域播放器(诸如通过使用全音域播放器的组合或者通过使用全音域播放器和特殊播放器的组合)来再现音频。在一些实施例中,区域播放器200-204也可被称为“智能扬声器”,因为它们包含超出音频再现之外的处理能力,其更多内容将在下文描述。
[0039]图2A说明了区域播放器200,其包括能够再现全音域声音的声音再现设备208。声音可以来自由区域播放器200通过有线或无线数据网络接收并处理的音频信号。声音再现设备208包括一个或多个内置放大器和一个或多个扬声器。内置放大器将在下文参考图4进行详细描述。扬声器或声学换能器例如可以包括高音喇叭、中音驱动器、低音驱动器和低音炮中的任意一个。在一些实施例中,区域播放器200可被静态地或动态地配置为播放立体声音频、单声道音频或两者兼而有之。在一些实施例中,例如,当区域播放器200与其他区域播放器被归类到一起以播放立体声音频、单声道音频和/或环绕声音频时,或者当区域播放器200接收的音频内容小于全音域时,区域播放器200被配置为再现全音域声音的子集。
[0040]图2B示出了区域播放器202,其包括内置放大器以驱动一组分离的扬声器210。分离的扬声器例如可以包括任何类型的扩音器。区域播放器202可被配置驱动一个、两个或更多个分开的扩音器。区域播放器202可被配置为经由有线路径将音频信号(例如,取决于其配置,将右声道音频和左声道音频或者更多声道)传送给分离的扬声器210。
[0041]图2C示出了区域播放器204,其不包括内置放大器,而是配置为将通过数据网络接收的音频信号传送给具有内置放大的音频(或“音频/视频”)接收器214。[0042]再次参照图1,在一些实施方案中,区域播放器102-124中的一个、一些或全部可以直接从源检索音频。例如,区域播放器可以包含要播放的音频项目的播放列表或队列(此处也称为“回放队列”)。队列中的每个项目可以包括统一资源标识符(URI)或某个其他标识符。URI或标识符可将区域播放器指向音频源。源可被发现是在互联网(例如,云)上,来自数据网络128 (下面将进一步描述)上的本地另一设备,来自控制器130,存储在该区域播放器自身上,或者来自与该区域播放器直接通信的音频源。在一些实施例中,区域播放器可以再现音频本身,将其发送给另一区域播放器用于再现,或者执行前述两者,在这种情况下由区域播放器和一个或多个另外的区域播放器同步地播放。在一些实施例中,区域播放器可以播放第一音频内容(或者根本不进行播放),同时将不同的第二音频内容发送给另一区域播放器进行再现。
[0043]作为示例,加利福尼亚州圣巴巴拉市的Sonos公司目前销售提供被称为“PLAY:5,,、“PLAY:3”、“C0NNECT:AMP”,“CONNECT:AMP”、“CONECT” 和 “SUB” 的区域播放器。作为替代或补充,可以使用任意其他的过去、现在和/或未来的区域播放器,以实现本文公开的示例实施例的区域播放器。此外,应当理解,区域播放器不限于在2A、2B和2C中示出的特定示例或SONOS提供的产品。例如,区域播放器可以包括有线耳机或无线耳机。在又一示例中,区域播放器可以包括用于电视的声条。在又一示例中,区域播放器可以包括用于苹果iPOD?或类似设备的扩充基座或者与这样的扩充基座交互。
[0044]b.示例控制器
[0045]图3说明了在扩充基座302中的示例无线控制器300。作为示例,控制器300可以对应于图1的控制设备130。如果提供扩充基座302,则扩充基座302可被用于对控制器300的电池进行充电。在一些实施例中,控制器300配置有触摸屏304,其允许用户通过触摸与控制器300进行交互,例如,检索和浏览音频项的播放列表,控制一个或多个区域播放器的操作,以及提供对系统配置100的整体控制。在某些实施例中,可以使用任何数目的控制器来控制系统配置100。在一些实施例中,可能对能够控制系统配置100的控制器的数目设置限制。该控制器可以是无线的(如无线控制器300)或者是有线连接到数据网络128。
[0046]在一些实施方案中,如果在系统100中使用不只一个控制器,那么各个控制器可以进行协作以显示共同内容,并且全部可以动态更新以指示单个控制器做出的改变。协作可以通过下述方式来发生:例如由控制器周期性地,直接或间接地向一个或多个区域播放器请求状态变量;所述状态变量可以提供关于系统100的信息,诸如当前区域群配置、正在一个或多个区域中播放的内容、音量级别、以及其他感兴趣的项目。状态变量可以根据需要或根据编程,通过数据网络128在区域播放器之间(以及与控制器之间,如果需要的话)四下传递。
[0047]另外,在具有联网功能的任意便携式设备(如iPHONE?、IPAD?、ANDROID?驱动的电话、或者任何其它智能电话)或者具有联网功能的设备上`运行的应用可被用作控制器130。在膝上型计算机、或台式个人计算机(PO、或MAC?上运行的应用也可被用作控制器130。这种控制器可以通过与数据网络128的接口、区域播放器、无线路由器,或者通过使用某个其他配置的连接路径,连接到系统100。加利福尼亚州圣巴巴拉市的Sonos公司提供的示例控制器包括:“Controller200”、“SONOS? CONTROL”、“So!10S? Controller forIPHONETM^.^SONOS*Controller for IPAD?,\<<S0NC3S?ControlIer for ANDR0IDTM”、itSONOSlf Controller for MAC? or PC”。
[0048]c.示例数据连接
[0049]图1的区域播放器102-124直接地或间接地耦合到数据网络,如数据网络128。控制器130也可以直接地或间接地耦合到数据网络128或单个区域播放器。数据网络128由图中的八边形表示,以与其它代表组件相比显得突出。尽管数据网络128被示出在单个位置,但是应该理解,这样的网络可被分布在系统100内部和周围。特别地,数据网络128可以是有线网络、无线网络或者有线和无线网络这两者的组合。在一些实施例中,区域播放器102-124中的一个或多个基于专有网状网络无线地耦合到数据网络128。在一些实施例中,区域播放器102-124中的一个或多个使用非网状拓扑无线地耦合到数据网络128。在一些实施例中,区域播放器102-124中的一个或多个使用以太网或类似技术有线耦合到数据网络128。除了所述一个或多个区域播放器102-124连接到数据网络128之外,数据网络128还可以允许接入到广域网(如因特网)。
[0050]在一些实施例中,可以通过将任意区域播放器102-124或者某个其它连接设备连接到宽带路由器来创建数据网络128。然后,可以将其他区域播放器102-124有线或无线地加入数据网络128。例如,可以通过简单地按压区域播放器自身上的按钮(或者执行某个其他动作)(其启用到数据网络128的连接)来将区域播放器(如,区域播放器102-124中的任意一个)添加到系统配置100。宽带路由器可以例如连接到互联网服务提供商(ISP)。宽带路由器可被用于形成系统配置100内的另一个数据网络,其可在其他应用(例如,网络浏览)中使用。数据网络128也可被用在其它应用中,如果是这样编排的话。例如,第二网络可以实现加利福尼亚州圣巴巴拉市的SONOS公司开发的S0N0SNET?协议。S0N0SNET?代表安全的、AES加密的、对等无线网状网络。备选地,在某些实施例中,数据网络128例如是用于家庭中的其他应用的同一网络,如传统的有线或无线网络。
[0051]d.示例区域配置
[0052]特定的区域可以包含一个或多个区域播放器。例如,图1中的家庭活动室包含两个区域播放器106和108,而厨房被示为具有一个区域播放器102。在另一示例中,家庭影院室包含附加的区域播放器以播放来自5.1声道或以上的音频源(如,以5.1或更高音频声道编码的电影)的音频。在一些实施例中,可以定位房间或空间中的区域播放器,以及经由控制器130将该区域播放器分派到新的或现有的区域。因此,区域可以被创建、与其他区域结合、被移除、以及被给予具体名称(例如,“厨房”),如果希望这样并且利用控制器130编排为如此的话。此外,在一些实施例中,即使在使用控制器130或某种其他机制配置了区域配置之后,区域配置也可被动态改变。
[0053]在一些实施例中,如果区域包含两个或更多个区域播放器,如家庭娱乐室中的两个区域播放器106和108,则这两个区域播放器106和108可被配置为同步播放相同的音频源,或者这两个区域播放器106和108可被配对以例如播放左声道和右声道的两个不同声音。换言之,通过两个区域播放器106和108 (其中一个用于左声道,另一个用于右声道),可以再现或增强声音的立体声效果。在某些实施例中,配对的区域播放器(也称为“绑定的区域播放器”)可以与同一区域或不同区域中的其他区域播放器同步地播放音频。
[0054]在某些实施例中,两个或更多个区域播放器可以在声音上合并,以形成单个综合区域播放器。综合区域播放器(尽管是由多个分离的设备形成)可被配置为以不同于非综合区域播放器或配对的区域播放器的方式处理和再现声音,因为综合区域播放器将具有可以通过声音的附加的扬声器驱动器。综合区域播放器还可以与单个区域播放器或另一综合区域播放器进行配对。综合回放设备中的每个回放设备例如可以以综合模式进行设置。
[0055]根据一些实施例中,可以继续进行下述操作中的任意操作,直到完成所需的配置:例如,归类、合并、以及将区域播放器配对。归类、合并、以及配对的动作优选地通过控制接口(如使用控制器130)来执行,而不是通过将扬声器导线物理地连接到和重新连接到各个分立的扬声器来创建不同的配置。因此,此处所描述的特定实施例提供了更加灵活和动态的平台,通过该平台可以向最终用户提供声音再现。
[0056]e.示例音频源
[0057]在一些实施例中,每个区域可以与其他区域播放相同音频源,或者每个区域可以播放不同的音频源。例如,某人可以在院子中烧烤并且聆听经由区域播放器124播放的爵士音乐,同时某人正在厨房准备食物并且聆听经由区域播放器102播放的古典音乐。此外,某人可以在办公室聆听经由区域播放器110播放的、与经由区域播放器124在院子中正在播放的相同的爵士音乐。在一些实施例中,经由区域播放器110和124播放的爵士音乐是同步播放的。在多个区域上的同步播放允许某人穿越多个区域,同时无缝地(或基本上是无缝地)聆听音频。此外,区域可被设置成“派对模式”,使得所有的关联区域将同步播放音频
[0058]要由区域播放器102-124播放的音频内容源是众多的。在一些实施例中,可以访问和播放在区域播放器自身上的音乐。在一些实施例中,可以经由数据网络128访问存储在计算机或网络附加存储(NAS)上的个人库的音乐,并且播放该音乐。在一些实施例中,可以经由数据网络128访问互联网电台、节目和播客。可以经由数据网络128访问音乐或云服务,所述服务让用户流传输和/或下载音乐和音频内容。此外,可以例如经由到区域播放器的线路输入(line-1n)连接,从诸如电唱盘或CD播放器之类的传统源获得音乐。也可以使用不同的协议(如Apple公司的无线技术AirPlay?)访问音频内容。从一个或多个源接收的音频内容可以经由数据网络128和/或控制器130在区域播放器102-124之间进行共享。上文公开的音频内容源在本文中被称为基于网络的音频信息源。然而,基于网络的音频信息源不限于此。
[0059]在一些实施例中,例如家庭影院区域播放器116、118、120耦合到诸如电视132之类的音频信息源。在一些示例中,电视132被用作用于家庭影院区域播放器116、118、120的音频源,而在其他示例中,来自电视132的音频信息可以与音频系统100中的任何区域播放器102-124进行共享。
[0060]II1.示例回放设备
[0061]现在参考图4,示出了根据实施例的区域播放器400的示例框图。区域播放器400包含网络接口 402、处理器408、存储器410、音频处理组件412、一个或多个模块414、音频放大器416以及耦合到音频放大器416的扬声器单元418。图2A示出了这种区域播放器的示例说明。其它类型的区域播放器可以不包括扬声器单元418(例如,如在图2B中示出的那样)或音频放大器416(例如,如在图2C中示出的那样)。此外,可以设想,区域播放器400可被集成到另一组件中。例如,区域播放器400可被构造为用于室内或室外使用的电视、灯或其他设备的一部分。[0062]在一些实施例中,网络接口 402促进区域播放器400与数据网络128上的其他设备之间的数据流。在一些实施例中,除了从数据网络128上的其他区域播放器或设备获取音频之外,区域播放器400可以诸如通过广域网或本地网络直接从音频源访问音频。在一些实施例中,网络接口 402还可以处理每个数据包的地址部分,以使得它们到达正确的目的地或者拦截以区域播放器400为目的地的数据包。因此,在某些实施例中,每个数据包包括基于网际协议(IP)的源地址以及基于IP的目的地地址。
[0063]在一些实施例中,网络接口 402可以包括无线接口 404和有线接口 406中的一个或二者。无线接口 404,也被称为射频(RF)接口,提供网络接口功能,以便区域播放器400按照通信协议(例如,任意无线标准,包括IEEE802.lla、802.lib,802.llg、802.1ln或者802.15)与其他设备(例如,其他区域播放器、扬声器、接收器、与数据网络128关联的组件等等)无线通信。无线接口 404可以包括一个或多个无线电设备。为了接收无线信号并且将该无线信号提供给无线接口 404,以及为了发送无线信号,区域播放器400包括一个或多个天线420。有线接口 406提供网络接口功能,以便区域播放器400根据通信协议(例如,IEEE802.3)与其他设备进行有线通信。在一些实施例中,区域播放器包括多个无线接口 404。在一些实施例中,区域播放器包括多个有线接口 406。在一些实施例中,区域播放器包括接口 404和406 二者。在一些实施例中,区域播放器400仅包括无线接口 404或者仅包括有线接口 406。
[0064]在一些实施例中,处理器408是时钟驱动的电子设备,其被配置为根据存储器410中存储的指令来处理输入数据。存储器410是可被加载有一个或多个软件模块414的数据存储设备,所述软件模块414可由处理器408执行以实现特定任务。在所示实施例中,存储器410是存储可由处理器408执行的指令的有形机器可读介质。在一些实施例中,任务可以是:该区域播放器400 (例如,提供使用统一资源定位符(URL)或者某个其他标识符)检索来自网络上的另一区域播放机或设备的音频数据。在一些实施例中,任务可以是:区域播放器400向网络上的另一区域播放器或设备发送音频数据。在一些实施例中,任务可以是:区域播放器400与一个或多个另外的区域播放器同步对音频的回放。在一些实施例中,任务可以是:将区域播放器400与一个或多个区域播放器进行配对以创建多声道音频环境。作为补充或替代,可以经由一个或多个软件模块414和处理器408来实现任务。
[0065]音频处理组件412可以包括一个或多个数模转换器(DAC)、音频预处理组件、音频增强组件、或者数字信号处理器,等等。在一些实施例中,音频处理组件412可以是处理器408的一部分。在一些实施例中,由音频处理组件412处理和/或有意地改变经由网络接口 402获取到的音频。此外,音频处理部件412可以产生模拟音频信号。经处理的模拟音频信号然后被提供给音频放大器416,以便通过扬声器418进行回放。另外,音频处理组件412可包括电路以处理作为输入的模拟或数字信号,以便从区域播放器400播放,发送给网络上的另一区域播放器,或者既播放也发送给网络上的另一区域播放器。示例输入包括线路输入连接(例如,自动检测3.5mm音频线路输入连接)。
[0066]音频放大器416是将音频信号放大到用于驱动一个或多个扬声器418的电平的设备。该一个或多个扬声器418可以包括单独换能器(例如,“驱动器”)或完整的扬声器系统,该系统包括外壳,该外壳包含一个或多个驱动器。例如,特定的驱动器可以是低音炮(用于低频)、中程驱动器(例如,用于中频)以及高音喇叭(例如,用于高频)。外壳例如可以是密封的或有接口的。每个换能器可以是由其各自拥有的放大器驱动。
[0067]一个商用示例(当前称为PLAY:5)是具有内置放大器和扬声器的区域播放器,其例如能够直接从诸如互联网或者本地网络上的源检索音频。特别地,PLAY:5是五放大器五驱动扬声器系统,其包括两个高音喇叭、两个中程驱动器和一个低音炮。当经由PLAY:5播放音频内容时,音轨的左声道音频数据从左高音喇叭和左中程驱动器发出,音轨的右声道音频数据从右高频喇叭和右中程驱动器发出,以及单声道低音从低音炮发出。此外,两个中程驱动器和两个高音喇叭都具有相同的均衡(或基本相同的均衡)。也即,它们都发送相同的频率,但是来自不同音频声道。可以从PLAY:5播放来自互联网电台、在线音乐和视频服务、下载的首乐、1?拟首频输入、电视、DVD等等的首频。
[0068]IV.示例控制器
[0069]现在参考图5,图5示出了示例控制器500的示例框图,该示例控制器500可对应于图1中的控制设备130。控制器500可被用于促进对系统中的多媒体应用、自动化和其他方面的控制。特别地,控制器500可被配置成便于选择在网络上可用的多个音频源,并且使得能够通过无线或有线网络接口 508控制一个或多个区域播放器(如,图1中的区域播放器102-124)。根据一个实施例,无线通信基于一种工业标准(例如,红外线、无线电、无线标准,包括 IEEE802.1la,802.1lb,802.Hg,802.1ln 或 802.15,等等)。此外,当正在经由控制器500访问特定的音频或者经由区域播放器播放特定的音频时,可以从区域播放器或其他电子设备向控制器500发送与所述音频和/或音频源有关的图像(例如,专辑封面)或任何其他数据,以供显示。
[0070]控制器500设置有屏幕502和输入接口 514,其允许用户与控制器500进行交互,例如,用以浏览由多个多媒体项目构成的播放列表,以及用以控制一个或多个区域播放器的操作。例如,控制器500上的屏幕502可以是IXD屏幕。屏幕500与屏幕驱动器504通信,并且接受屏幕驱动器504的命令,该屏幕驱动器504由微控制器(例如,处理器)506进行控制。存储器510可以加载有一个或多个应用模块512,该一个或多个应用模块512可以由微控制器506在有或没有经由用户接口 514的用户输入的情况下执行,以实现特定的任务。在一些实施例中,应用模块51`2被配置为:便于将众多选定的区域播放器归类到区域群,并且同步区域播放器的音频重放。在一些实施例中,应用模块512被配置为:控制区域群中的区域播放器的音频声音(例如,音量)。在操作中,当微控制器506执行一个或多个应用模块512时,屏幕驱动器504生成控制信号来驱动屏幕502相应地显示应用特定的用户界面。
[0071]控制器500包括网络接口 508,网络接口 508有利于与区域播放器的有线或无线通信。在一些实施例中,经由网络接口 508发送诸如音量控制和音频回放同步之类的命令。在一些实施例中,经由网络接口 508在区域播放器与控制器之间传输所保存的区域群配置。控制器500可以控制一个或多个区域播放器,如图1中的102-124。对于特定系统,可以存在不只一个控制器,并且每个控制器可以与另一控制器共享公共信息,或者在区域播放器存储配置数据(例如,状态变量)的情况下,从这种区域播放器检索公共信息。此外,控制器可被集成到区域播放器中。
[0072]应该注意,其他具有联网功能的设备,如IPHONE?、IPAD?或任何其它智能电话或具有联网功能的设备(例如,联网的计算机,如PC或MAC?)也可被用作控制器,以在特定环境下与区域播放器交互或控制区域播放器。在一些实施例中,软件应用或升级可被下载到具有联网功能的设备以执行本文所述的功能。
[0073]在某些实施例中,用户可以从控制器500创建包括至少两个区域播放器的区域群(也称为绑定区域)。区域群中的区域播放器可以以同步方式播放音频,使得该区域群中的所有区域播放器以同步方式回放相同的音频源或相同的音频源的列表,使得不会(或基本上不会)听到可觉察的延时或暂停。类似地,在一些实施例中,当用户从控制器500增大该群的音频音量时,增加该群的音频音量的信号或数据被发送给区域播放器之一,并且使得该群中的其他区域播放器一起增大音量。
[0074]用户经由控制器500可以通过激活“链接区域”或“添加区域”软按钮将区域播放器归类到区域群,或者可以通过激活“取消链接区域”或“放弃区域”按钮来取消区域群。例如,用于使区域播放器“加入”到一起进行音频回放的一种机制是将众多区域播放器链接在一起以形成群。为了将众多区域播放器链接在一起,用户可以手动地一个接一个地链接每个区域播放器或房间。例如,假设存在包括下述区域的多区域系统:浴室、卧室、书房、饭厅、家庭娱乐室和休息室。
[0075]在某些实施例中,用户可以例如通过从单个区域开始以及然后手动将每个区域链接到该区域来链接六个区域播放器中的任意数目的区域播放器。
[0076]在某些实施例中,使用用以创建区域场景或(在首先创建区域场景之后)创建主题的命令,可以将区域的集合动态链接在一起。例如,“早晨”区域场景命令可以在一个动作中将卧室、办公室和厨房链接到一起。如果没有这种单个命令,则用户必须手动地分别链接每个区域。单个命令可以包括鼠标点击、鼠标双击、按压按钮、手势或者编排的某个其他动作。可以编排其它种类的区域场景。
[0077]在某些实施例中,可以基于时间(例如,闹钟功能)触发区域场景。例如,一个区域场景可被设置为在上午8:00应用。系统可以自动链接合适的区域,设置特定的要播放的音乐,然后在所定义的持续时间之后停止音乐。例如,尽管可以基于时间将任何特定区域触发为“开”或“关”状态,但是区域场景使得链接到该场景的任何区域能够在特定的时间和/或针对特定的持续时间播放预定的音频(例如,喜欢的歌曲、预定义的播放喇叭)。如果因为任何原因(例如,空的播放列表、没有连接到共享、无通用的即插即用(UPnP)、无针对互联网电台的互联网连接等等)所调度的音乐没有播放,则备用蜂鸣器可被编程为发出声音。例如,蜂鸣器可以包括存储在区域播放器中的声音文件。
[0078]V.示例的分散的同步群
[0079]在某些实施例中,一个或多个回放设备操作在分散网络中,以有利于一个或多个同步组具有一个或多个可互换的主从关系。使用分散的网络、通信和控制模型,回放设备可以向另一回放设备提供内容,即使第一回放设备并不正在向听众输出该内容。另外,回放设备可以在一个时间点用作主设备或控制,并且可以在另一时间点接收来自用作主设备的另一设备的指令(例如,内容和/或同步)。
[0080]图6描绘了根据分散的通信、组织和控制结构操作的示例性网络音频系统610。参考图6的示例,网络音频系统610包括通过本地网络612进行互联的多个区域播放器611(1)到611 (N)(其一般性地由参考标号611 (η)标识),所有的区域播放器操作在一般性地由参考标号613所标识的一个或多个用户接口模块的控制下。区域播放器611 (η)可以与上文描述的回放设备相同或类似。区域播放器611 (η)中的一个或多个还可以连接到一个或多个音频信息源(此处,其一般性地由参考标号614 (n) (s)来标识)和/或一个或多个音频再现设备(其一般性地由参考标号614(n) (r)来标识)。在参考标号614(n) (s)中,索引“η”指的是音频信息源连接到的区域播放器611 (η)的索引“η”,而索引的“s” (s
=1,......,Sn)指的是连接到“第η个”区域播放器611 (η)的“第s个”音频信息源。因
此,例如,如果区域播放器611(n)连接到四个音频信息源614(n) (I)到614(n) (4),则可以一般性地通过参考标号614 (n) (s)来标识这些音频源,其中Sn = 4。应该理解,对于不同的区域播放器611 (η),音频信息源的数目Sn可以变化,并且一些区域播放器可能不具有连接到其的任何音频信息源。
[0081]类似地,在参考标号615 (n) (r)中,索引“η”指的是音频再现设备连接到的区域播放器611(η)的索弓丨,并且索引“r”(r= I,..., Rn)指的是连接到“第η个”区域播放器611 (η)的“第r个”音频信息源。除了音频信息源614 (n) (s)之外,网络音频系统610还可以包括通过适当的网络接口设备(未单独示出)连接到本地网络612的一个或多个音频信息源616(1)到616 (m)。此外,本地网络12可以包括被配置为将本地网络612连接到其它网络的一个或多个网络接口设备(也未单独示出),所述其他网络包括广域网(如互联网)、公共交换电话网络(PSTN)等等,通过所述其他网络可以建立到音频信息源的连接。
[0082]与系统610关联的区域播放器611 (η)可以分布在整个机构中,所述机构诸如是住宅、办公楼、酒店、会议厅、竞技场或礼堂、或者其他类型的机构。例如,如果区域播放器611 (η)及其关联的音频信息源(s)和/或音频再现设备(s)分布在整个住宅中,则一个可以设于客厅,另一个可以设于厨房,另一个可以设于餐厅,还有一些可以设于各个卧室,以便选择性地提供那些房间中的娱乐。
[0083]在另一方面,如果区域播放器611 (η)及其关联的音频信息源和/或音频再现设备是分布在整个办公楼中,则例如可以在每个办公室中配备一个,以选择性地向相应的办公室中的雇员提供娱乐。类似地,如果区域播放器611 (η)及其关联的音频信息源和/或音频再现设备被用在酒店中,则它们可以分布在所有房间中以向客人提供娱乐。对于竞技场和礼堂中使用的区域播放器611 (η)及其关联的音频信息源和/或音频再现设备,可以使用类似的不止。对于本领域技术人员而言,其它类型的环境下的其它布置将是显然的。在每种情况下,例如,区域播放器611 (η)可被用于选择性地在相应的地点提供娱乐。
[0084]音频信息源614(n) (s)和616(m)可以是众多类型的传统的音频信息源中的任意一种,例如包括压缩盘(CD)播放器、AM和/或FM无线电接收器、模拟或数字盒式磁带播放器、模拟唱片唱盘等等。另外,音频信息源614(n) (s)和616(m)可以包括本地存储在如个人计算机(PC)、个人数字助理(PDA)、或能够以易失性或非易失性形式存储数字信息的类似设备上的数字音频文件。如上文提到的,本地网络612还可以具有到广域网的接口,网络音频系统610可以通过其获取音频信息。而且,音频信息源614(n) (s)中的一个或多个还可以包括到广域网的接口,该广域网例如是互联网、公共交换电话网络(PSTN)或任何其他音频信息源。另外,音频信息源614(n) (s)和616(m)中的一个或多个可以包括到通过例如卫星进行递送的无线电服务的接口。通过广域网获得的音频信息例如可以包括流式数字音频信息,如互联网广播、服务器上存储的数字音频文件、以及其他类型的音频信息和源。
[0085]通常,音频信息源614 (n) (s)和616(m)向区域播放器提供与音频节目关联的音频信息,以便回放。从其连接到的音频信息源614(n) (S)接收音频信息的区域播放器可以提供回放和/或通过本地网络612向其它区域播放器转发音频信息以及回放定时信息,以便回放。类似地,不直接连接到区域播放器的每个音频信息源616 (m)可以通过网络612向任何区域播放器611 (η)传输音频信息以用于回放。
[0086]此外,各个区域播放器611 (η)可以将从其连接到的音频信息源614(n) (s)或从音频信息源616 (m)接收到的音频信息发送给其他区域播放器611 (n' )、611(n" )、...(n不等于n'、n"、...)中的选定区域播放器,以便由那些其他区域播放器进行回放。区域播放器611 (η)向其发送用于回放的音频信息的其他区域播放器611 (n' )、611(n" )、...,可以由用户使用用户接口 613来选择。在该操作中,区域播放器611 (η)通过网络612向选定的区域播放器611(n' )、611(n")、...发送音频信息。区域播放器611 (n)、611 (n')、611(n" )、...操作为使得区域播放器611(n)、611(n' )、611(n" )、...将其音频节目的回放与区域播放器611 (η)的回放同步,从而区域播放器611 (η)、611(n' )、611(n")同时提供相同的音频节目。
[0087]用户通过使用用户接口模块613还可以使得能够实现区域播放器的不同归类或集合,以提供不同音频节目的同步音频回放。例如,用户通过使用用户接口模块613,可以使得区域播放器611 (I)和611 (2)能够播放一个音频节目,该音频节目的音频信息可以是例如由一个音频信息源614(1) (I)提供的。相同或不同的用户可以通过使用相同或不同的用户接口模块613,使得区域播放器611(4)和611(5)能够同时地播放另一音频节目,该另一音频节目的音频信息可以是由第二音频信息源(如音频信息源614(5) (2))提供的。此夕卜,用户可以使得区域播放器611 (3)同时地播放又一音频节目,该又一音频节目的音频信息可以是由又一音频信息源(如音频信息源616(1))提供的。作为另一可能,用户可以同时使得区域播放器611(1)能够将来自其连接到的音频信息源(如音频信息源614(1) (2))的音频信息提供给另一区域播放器(如区域播放器611 (6))以便回放。
[0088]在下文中,术语“同步群”用于指由同步播放同一音频节目的一个或多个区域播放器构成的集合。因此,在上述示例中,区域播放器611 (I)和611 (2)构成一个同步群,区域播放器611 (3)构成第二同步群,区域播放器611 (4)和611 (5)构成第三同步群,以及区域播放器611(6)也构成第四同步群。因此,当区域播放器611 (I)和611(2)正在播放相同的音频节目时,区域播放器611 (I)和611(2)同步地播放音频节目。类似地,当区域播放器611(4)和611 (5)正在播放相同的音频节目时,区域播放器611 (4)和611 (5)同步地播放音频节目。另一方面,正在播放不同的音频节目的区域播放器可以以不相关的定时来这样做。也即,例如,区域播放器611(1)和611(2)播放其音频节目所用的定时可以与区域播放器611 (3)、区域播放器611 (4)和611 (5)、区域播放器611 (6)播放其音频节目所用的定时没有关系。应该理解,因为“同步群”用于指代正在同步地播放相同音频节目的区域播放器的集合,所以区域播放器611(1)不是区域播放器611(6)的同步群的一部分,尽管区域播放器611 (I)正在向区域播放器611 (6)提供该音频节目的音频信息。
[0089]在网络音频系统610中,同步群不是固定的。用户可以使得同步群能够被动态地建立和修改。继续上文的示例,用户可以使得区域播放器611(1)能够开始提供对由音频信息源614(1) (I)提供给它的音频节目的回放,并且随后使得区域播放器611(2)能够加入该同步群。[0090]类似地,用户可以使得区域播放器611 (5)能够开始提供对由音频信息源614(5)
(2)提供给它的音频节目的回放,并且随后使得区域播放器611 (4)能够加入该同步群。另夕卜,用户可以使得区域播放器离开同步群,并且有可能加入另一同步群。例如,用户可以使得区域播放器611 (2)离开区域播放器611 (I)所在的同步群,并加入区域播放器611 (6)所在的同步群。作为另一示例,用户可以使得区域播放器611 (I)能够离开区域播放器611 (2)所在的同步群,并加入区域播放器611 (6)所在的同步群。结合该示例,区域播放器611 (I)可以向区域播放器611(2)继续提供来自音频信息源614(I) (I)的音频信息,以由区域播放器611⑵回放。
[0091]用户通过使用用户界面模块613可以使得当前不是同步群的成员的区域播放机611 (η)加入同步群,在此之后使得区域播放器611 (η)能够播放当前正由该同步群播放的音频节目。类似地,用户通过使用用户界面模块613也可以使得当前是一个同步群的成员的区域播放机611 (η)脱离该同步群并且加入另一同步群,在此之后该区域播放器播放与该另一同步群相关联的音频节目。
[0092]例如,如果区域播放器611 (6)当前不是任何同步群的成员,则它在用户接口模块613的控制下可以变成同步群的成员,在此之后该区域播放器与该同步群的其他成员同步地播放该同步群的其他成员正在播放的音频节目。在变成同步群的成员的过程中,区域播放器611 (6)可以向作为该同步群的主控设备的区域播放器通知该区域播放器希望变成该同步群的成员,在此之后所述区域播放器还向区域播放器611 (6)发送与该音频节目关联的音频信息以及定时信息。当区域播放器611 (6)从主控设备接收到音频信息和定时信息时,区域播放器611 (6)以该定时信息所指示的定时来播放音频信息,这使得区域播放器611 (6)能够与该同步群中的其他区域播放器同步地播放音频节目。
[0093]类似地,如果用户通过使用用户接口模块613使得与同步群关联的区域播放器611 (η)脱离该同步群,并且如果区域播放器611 (η)不是该同步群的主控设备,则区域播放机611 (η)可以通知主控设备,在此之后主控设备可终止向该区域播放器611 (η)发送音频信息和定时信息。如果用户还使得区域播放器611 (η)能够开始使用来自其连接到的音频信息源614(n) (s)的音频信息播放另一音频节目,则它从音频信息源614(n) (s)获取音频信息,并开始回放它们。如果用户使得另一区域播放器ll(n')能够加入与区域播放器611 (η)关联的同步群,则可以如上文刚刚描述地那样继续进行与之相关的操作。
[0094]在另一示例中,如果用户通过使用用户接口模块613使得与同步群关联的区域播放器611 (η)脱离该同步群并且加入另一同步群,并且如果该区域播放器不是其正在脱离的同步群的主控设备,则区域播放器611 (η)可以通知其正在脱离的同步群的主控设备,在此之后该区域播放器终止向正在脱离的区域播放器611 (η)发送音频信息和定时信息。
[0095]同时,区域播放器611 (η)可以通知它(即,区域播放器611 (η))正在加入的同步群的主控设备,在此之后该主控设备可以开始向区域播放器611 (η)发送音频信息和定时信息。此后,区域播放器611 (η)可以开始按照该定时信息回放由该音频信息所定义的音频节目,使得区域播放器611 (η)与该主控设备同步地播放音频节目。
[0096]作为另一示例,用户通过使用用户接口模块613可以使得不与同步群关联的区域播放器611(η)能够开始使用由其连接到的音频信息源614 (n) (s)提供给它的音频信息来播放音频节目。在这种情况下,用户也通过使用用户界面模块613或音频信息源614(n) (s)专用的用户接口设备可以使得音频信息源614(n) (s)能够向区域播放器611 (η)提供音频信息。在区域播放器611(η)已经开始回放之后或者与之同时,用户通过使用用户接口模块613可以使得其他区域播放器611 (n' )、611(n" )、...能够加入区域播放器611 (η)的同步群,并且如上所述使得区域播放器(η)能够向其发送音频信息和定时信息,以便于其他区域播放器611(n' )、611(n"),...回放该音频节目。用户可以使用用户接口模块613来控制网络音频系统610的其他方面,包括但不限于:选择特定的区域播放器611 (η)要使用的音频信息源614(η),音频回放的音量,等等。另外,用户可以使用用户接口模块613来打开和关闭音频信息源614 (n) (s),并且使得它们能够向各自的区域播放器611 (η)提供音频信息。
[0097]V1.示例的基于网络的音乐合作者系统和方法
[0098]某些实施例提供用于将内容服务与内容访问和回放网络进行集成的系统和方法。例如,某些实施例使得音乐内容提供商能够将音乐服务与回放设备或回放设备群或回放设备网(例如,如上所述按区域、群等等组织的回放设备群或网)进行集成,而无需对回放设备或播放设备群或回放设备网的更新或配置改变。在另一示例中,某些实施例使得回放设备的硬件/软件制造商能够提供简单接口,用于音乐内容提供商使得它们的内容可供回放设备的最终用户获取(例如,免费访问或者通过付费订阅)。因此,使用播放设备的某人例如可以容易地访问新内容提供商,以用最小的努力探索和发现新的媒体内容。该技术和商业应用在(如本文所描述的以及根据本文的描述应该理解的)许多其他方面是有用的。另外,下面的描述大体上涉及音乐,但是应该理解,该技术可被用于视频和其它音频类型。
[0099]在某些实施例中,可以组织一个或多个区域播放器来播放针对有线或无线网络的高保真(HiFi)音频(例如,SONOS?无线HiFi系统)。使用该网络系统,用户可访问一个或多个存储的音乐库、以及互联网电台、在线音乐服务,等等。某些实施例帮助内容提供商配置、开发、测试、核证(certify)音乐服务,以及使得音乐服务可供回放设备和/或有线或无线的网络回放系统使用。
[0100]某些实施例提供用于支持从中心位置对网络服务的内容服务访问的系统。经由网站输入供集成的合作者的内容服务的技术细节,并且一个或多个服务器的设置使得该服务显现在客户的固件中而不需要客户进行任何交互。
[0101]在某些实施例中,内容服务访问基于网络的自助服务平台,以签署协议、下载工具和文档、以及核证和注册它们的服务,从而有利于将内容服务集成到回放设备和回放网络。在某些示例中,工具包括用于将内容服务与回放设备相连接的用户界面(UI)和应用编程接口(API)。API (例如,SONOS?.音乐API)可以是开放的Web服务API,其提供了用于由
基于网络的音乐服务向SONOS?和/或其他媒体回放系统递送内容的一致方式。
[0102]某些实施例使得内容提供商能够利用网络服务(例如,AMAZON?网络服务或“云”中的其他服务)的优势。某些实施例向开发者、平台/系统提供商和最终用户提供了可扩展性和低成本。某些实施例支持进行中的“带外”(例如,无固件更新)新合作者投放。
[0103]在某些实施例中,例如,自动化的核证处理向内容服务通知它们正处于合作者核证过程中的哪处。内容合作者可以看见它的处理状态,并且通过该处理得到引导(即该处理对于合作者是透明的)。内容合作者达到该处理中的开始或重要阶段,并被指示下一步做什么。以灵活的可扩展的程序使用该处理、工具和里程碑,可以减少投放新音乐或其他多媒体内容的时间(例如,由于内容提供商与硬件/软件制造商直接一起工作,节省一半时间)。
[0104]在某些实施例中,内容发布(release)周期涉及多个阶段,包括开发或预α测试(pre-alpha)、α测试(alpha release)(例如,最初的测试和验证)、β测试(betarelease)(例如,对功能完整的内容的适用性和功能测试)、以及正式发行(generalavailability)(基于β测试阶段的审查和验证完成,面向一般市场的发布或投放)。正式发行版被认为是内容和/或内容递送服务(例如,互联网电台或流传输服务,等等)的“最终的”稳定且无缺陷版本。
[0105]在某些实施例中,内容合作者可以由音乐听众运行自己的β测试,并且通过工具等接收反馈。例如,提供β测试自助工具,使得合作者可以查看实时的客户反馈并且快速重复,以创建更好的客户体验。通过β测试和最终的完整内容发布,合作者将从网站布置、客户通信、以及产品内布置音乐菜单(例如,通过作为音乐内容菜单的一部分的β测试或测试区域,如SONOS LABS?,等等)受益。例如,某些实施例提供性能或使用情况监视,或者提供性能和使用情况监视两者的组合。
[0106]利用β公测,音乐递送系统可以通过面向真实客户(例如,音乐听众和系统用户)提供用于在现场环境下展示和重复音乐服务的测试场地,可以有利于测试工作的众包(crowd-sourcing)。例如,可以使得产品中的β公测功能(例如,“Sonos Labs”)可供听众使用。听众可以访问最新的音乐并且参与β测试。使用利用众包测试工作的β公测,可以比利用主要由内容提供商驱动且不会提前暴露给平台或听众的传统技术更快地发现内容中的问题。例如,测试可以同时显露多个服务器的问题。β公测也可以用作质量控制的位置。在某些实施例中,在使得β测试内容可以向系统用户正式发行之前,合作者必须满足某些程序特定的性能和质量标准。因此,例如,质量责任被转移到合作者,并且程序驱动并强制执行合作者已经知道的某些质量标准。
[0107]从音乐听众的角度看,促进将新内容容易地集成到客户可用的音乐库有助于递送不断扩展的音乐世界供他们享受。例如,通过β公测可以更快和更好地促进对音乐服务的访问。使用该平台和处理,内容集成对于音乐合作者变得更容易,并且对于客户变得更可靠。另外,利用数字内容的概念、基于云的音乐服务、以及在对内容/音乐的“付费”访问方面的总体思路和价值,消费者变得更加舒适。使用新内容的β公测版和最终的正式发行版,客户可以经由控制器和上述回放设备发现、浏览并播放实际上无限制的音乐选择。
[0108]某些实施例提供用于内容合作者管理客户反馈的自助模型。例如,基于网络的表格可被用于提供客户反馈。可以针对每个合作者的音乐服务设置讨论论坛。经由论坛,客户和合作者都可以查看和张贴反馈。例如,问题跟踪工具(如Bugzilla?)可被用于报告服务中的错误、瑕疵、故障等(通常被称为“缺陷”)。
[0109]例如,可以利用社交媒体的优势来促进并监视反馈和广告。在某些实施例中,定制的用户体验小工具或功能可被用作推荐引擎的交互模型。
[0110]在某些实施例中,经由自动化的全天候(24x7)监视和快照控制面板的可视性来促进对进行中的性能的监视和测量。例如,进行中的质量和性能控制面板可以基于各种实时警报和数据,提供音乐合作者的整体健康状况和可用性的实时快照。例如,一种这样的测量是针对特定服务归档的缺陷的数量。另一个示例测量是所报告的音频信号丢失次数。又一示例测量是使用音乐服务的用户总数。这些测量例如可以表示事件的总数或者每二十四
(24)小时时间段内的事件总数。
[0111]a.示例配置
[0112]在实施例中,向清晰内容服务提供一个或多个配置参数,以简化与回放网络的集成。例如,提供音频采样率(例如,48kHz、44.1kHz、32kHz、24kHz、22.05kHz、16kHz、11.0251^取、81^取,等等)、编解码器(例如,使用HTTP的WMA、使用具有类HTTP的流传输的丽S的WMA、使用RTSP的WMA、HE-AAC, PS和使用HTTP的SBR等)、用于定位的语言(如英语、法语、意大利语、德语、西班牙语、荷兰语、日语、中文、瑞典语、丹麦语、挪威语,等等),以及所支持的安全性(例如,SSL TLS vl)。与许多传统的软件开发程序不同,在一个实施例中,不需要特殊的开发者密钥来开始该处理。相反,根据实施例,内容服务开始该处理所需要的是:令代表人下载网络服务描述语言(WSDL),阅读文档,以及实现该网络服务。本实施例消除了或基本消除了在该处理开始之前核证新服务或开发者的经常是漫长的过程。
[0113]除了能够提供给内容服务的基本配置参数之外,还可以提供对回放系统结构的描述。例如,可以描述音乐存储、控制器高速缓存、播放列表配置、设备限制等等。在一个实施例中,回放设备并不本地存储音乐,而是播放从内容服务直接流传输的音乐。例如,有可能在播放器上的RAM中内部缓存一些量,但是该缓存是用以降低或避免不可靠的网络上的音乐中断。在另一实施例中,控制器高速缓存音乐元数据、专辑封面(如具有jpg或png格式)以及搜索结果。例如,高速缓存的数据量在不同的控制器应用平台之间变化,并且受每个设备中存在的RAM的量的限制。在另一实施例中,音乐队列的内容可被保存到回放系统上存储的播放列表中。在一个不例实施例中,播放列表可以包含表不提供音轨的服务的编码识别符、音轨的 MME类型以及该服务内的音轨ID。在另一示例实施例中,播放列表可以包含播放列表中的每个音轨的实际音频内容和/或每个音轨的实际的流传输标识符(例如,统一资源标识符(URI)。在又一实施例中,提供回放系统中的回放设备的最大数量。例如,在Sonos系统中,支持三十二(32)个区域,每个区域均播放其自己的数据流。
[0114]b.示例开发指南
[0115]在实施例中,音乐服务API基于简单对象访问协议(SOAP);然而,如果内容提供商的后端服务基于不同的协议,则该服务可以充当将后端协议映射到SOAP命令的中介层。例如,如果后端服务基于表述性状态转移(REST)协议,则该API服务可以用作将SOAP API方法映射到REST后端协议的中介层。在示例系统中,所有OAP响应应该使用共同的编码。例如,单一码(Unicode)转换格式-8(UTF-8)可扩展标记语言(XML)编码可被用于大多数响应,而GNU Zip(GZip)编码可被用于压缩较长的响应。
[0116]在实施例中,搜索结果可以包括成千上万的项目,优选地,内容服务并不需要一次性提供所有项目。在一个示例实施例中,返回项目集合的API包括指定起始索引和计数的参数。如果该计数小于项目总数,则回放系统可以请求项目的连续范围以获得全部结果。
[0117]在实施例中,设备ID是回放系统中的回放设备的唯一 ID(例如,家庭中的区域播放器的唯一标识符)。该ID是一旦当回放系统首次设立时就确立的,并且不太可能改变。在示例系统中,内容服务可以使用该ID来指定回放设备的单个“实例”。例如,这对于计算用户从多个位置同时访问内容服务的并发“实例”的数目是有用的。在一些情况下,音乐许可规则包括对从同一个账号可以同时播放音轨的数目的限制。在一个示例实施例中,API提供特殊的SOAP故障代码,DeviceLimit,以标识达到了从单个用户帐户同时访问内容的位置数目的限制。例如,如果回放设备试图开始播放新的音轨,并且该服务返回DeviceLimit,则播放器将使得该服务进入“黑名单”,并且跳过来自该服务的队列中的所有音轨。在一个示例实施例中,“黑名单”将在用户下一次试图播放音轨时解除。
[0118]在实施例中,服务提供商可以选择其自己的编程语言用于音乐服务中介层。已经提议,该语言是可以摄取WSDL语言并且生成代码的语言。例如,可以使用C#、PHP、Ruby和Java0
[0119]在实施例中,存在实现认证的三种方法。在一个示例实施例中,认证是匿名的。在这种模式下,用户不需要提供任何凭证,并且回放系统将在不进行登录或获取任何种类的令牌(例如,会话令牌)的任何尝试的情况下与内容服务通信。在另一示例中,认证基于会话ID。在这种模式下,回放系统会将用户名和密码传递给内容服务,并期待向回放系统返回会话令牌。例如,回放系统可以基于安全协议(如HTTPS)在getSesssionld调用中传递用户名和密码,并且返回会话令牌。从回放系统向内容服务的所有后续调用将在定制的SOAP报头中包括该会话令牌。在该示例中,使用内容服务所确定的商业规则,会话可能期满。当回放系统得到期满会话的报告时,回放系统将需要在播放来自该内容提供商的内容之前重新登录。在又一示例中,认证基于在对内容服务的每个调用中交换用户名和密码。
[0120]在实施例中,最低功能可以仅使用一些方法来实现。例如,getSessionld、getMetaData、getMediaMetadata、getStreamingURL 和 getLastUpdate 可被用于提供基本服务。在该示例中,getSessionID将内容服务添加到回放系统,根据需要将包括认证信息。getMetaData用于允许用户按容器层级浏览音乐。例如,如果用户希望按照艺术家、音轨、流派等来浏览音乐,则他们将使用该方法来这样做。回放系统使用getMediaMetadata来获取关于特定音轨或流的元数据。例如,回放系统可以调用此方法传入(line in)音轨或流ID,而内容服务可以用描述音轨或流的信息进行回复。回放系统使用getStreamingURL来播放来自内容服务的内容。例如,可以使用这种方法来传递音轨或流ID,以发起流媒体内容。回放设备使用getLastUpdate来即时地刷新内容目录。
[0121]在实施例中,搜索功能可以使用上述getMetaData方法和搜索方法来实现,该搜索方法接受类别标识符(例如,音轨、专辑、艺术家、播放列表等)、检索项以及分页参数,并且以适当的结果进行响应。在示例系统中,可以使用getScrollIndices方法来实现字母滚动(例如,“动力滚动”)。
[0122]在实施例中,可以支持针对编程电台的跳跃限制,以寻址内容提供商的商业规则。在一个示例实施例中,播放设备通过下述方式来播放编程的电台:获取音轨的小片段,在当前小片段接近完成时获取下一小片段。为了防止用户跳过音轨,内容提供可以在返回给回放系统的trackMetadata中返回canSkip =假。
[0123]在实施例中,可以使得控制器(如控制器500)能够显示针对音轨、专辑和艺术家信息的两行。在一个示例实施例中,控制器检查音乐容器的itemType,以确定是否应使用针对该项目的两行显示。
[0124]在实施例中,用户可以通过实现下述三种方法来管理对内容服务的个性化内容收集:createltem、deleteltem和getLastUpdate。例如,通过检查收藏夹或添加/删除音轨、专辑和艺术家(视情况而定),这些方法可被用来设立定制的服务描述符。轮询间隔(如,300秒)可被用于确保个性化的内容是最新的。
[0125]在实施例中,通过使用一组预定义的SOAP错误代码来指示错误情况,可以从内容服务向回放设备报告错误,以及根据需要后续向用户报告错误。例如,除了一组标准错误代码之外,API还允许服务针对常见故障代码不适用的情形提供定制的错误情况。
[0126]c.示例的β测试程序
[0127]在示例系统中,β测试程序被用于在向普通大众发布新服务之前协助对新服务的质量控制。在一个示例实施例中,β测试处理历时2到4周,其中由回放系统的制造商确定β测试的成功退出。(例如,由Sonos公司确定针对Sonos回放设备的成功的β测试的判定)。在β测试的成功退出中发挥作用的一些因素包括:来自β测试池的用户的数目和有效约定、该服务在β测试期间的性能、来自β测试参与者的反馈、以及对开放问题的解决。在该示例实施例中,在β公测反馈网站上可以查看所有反馈。例如,可以在http: / /publicbeta.sonos.com找到针对Sonos设备的β公测反馈。
[0128]d.示例处理流程
[0129]图7示出了内容合作者可以访问、验证、测试和向用户投放内容的示例处理的流程图700。在块702,内容提供商(如音乐内容开发者)访问程序网站,以便进行内容验证并且集成到回放平台。在块704,提供商注册为音乐开发者。在块706,在注册之后,开发者可以访问一个或多个平台API和技术文档。这些API和文档可被用于允许内容提供商将其内容(例如,点播音乐、智能电台、流传输广播,等等)与递送平台(例如,多房间的音乐系统等)进行集成。
[0130]在块708,在使用这些API和文档之后,针对开发者的内容的技术配置被提交给程序。在块710,可以由开发者执行自测,以评估和测试针对开发者的内容的技术配置。例如,可以关于开发者的内容布置执行调试、性能和其它工具或仿真。
[0131]在块712,在成功的自测之后,开发者提交其内容要接受β测试的申请。在块714,该申请被审核和批准(或发回进行进一步修改)。在块716,经由程序(例如,经由自动化工具)对所批准的内容执行集成和验证测试。在块718,可以向开发者提供反馈,如测试结果是否令人?两意。
[0132]在块720,在该技术配置中的开发者内容被提供给递送平台用户进行β公测。例如,可以经由S0N0S?Labsi3测试菜单将新的音乐流传输广播提供给S0N0S?用户,其中该S0N0S?Labs^测试菜单是经由通过S0N0S?控制器可查看的用户音乐库可访问的。在块722,监视和评估β测试访问。例如,可以自动监视用户访问以及与β测试内容的交互,并且可以量化和储存参数或指标以供程序和开发者审阅。
[0133]在块724,对照正式发行标准,评估β公测的结果。标准可以由程序、工业标准等等来进行设置。可以向开发者提供反馈,以便在考虑正式发行标准的情况下且在官方发布之前进行进一步的修改。在块726,在程序和开发者满意之后,投放内容以便经由递送平台(例如,经由区域播放器 设备网的S0N0S?控制器上的音乐库)进行正式发行。
[0134]图8描述了用于在多媒体内容开发者和多媒体内容平台/服务之间的示例集成处理的流程图800。在块801,集成处理开始(例如,经由程序网站访问)。在块802,确定该开发者是否是现有的合作者。如果不是,则在块803,收集注册信息。在块804,评估注册信息,以确定是否已经提供所有需要的信息。如果没有,则再次请求注册信息(块803)。如果已经提供,则在块805中检查开发者的编解码器,以确定是否支持该编解码器。例如,编解码器是能够编码和/或解码数字流或信号(诸如数字音频流)的设备或计算机程序。如果支持,则在块806,与开发者约定合同(例如,开发者同意程序条款)。如果合同没有达成一致意见或者编解码器不被支持,则在块807中联系程序代表人。在块808,如果合同被接受,则欢迎该合作者。例如,向该合作者发送具有该合作者的登录和密码的电子邮件。
[0135]在块809,输入合作者的登录和密码信息(例如,经由程序网站、门户、应用接口,等等)。使用这些凭证,合作者可以登录,并且可以返回网站以继续集成处理。在块810,对登录和密码信息进行认证。在块811,访问合作者工具和开发区(例如,自助外联网)。
[0136]在块812,向开发者提供下载区。注册的合作者可以具有对门户(其是用于合作者和开发者的专用网站)的安全访问。该网站提供对各种文档、技术信息和支持资源的访问,以帮助开发者在他们的集成工作上获得成功。该门户的一些功能包括:高层次的白皮书和入门信息、API参考文档和集成指南、用以帮助解决特定的集成任务的技术说明和示例代码库、包括提示和技巧在内的支持资源、常见问题指南、难题解决指南、问题跟踪,等等。例如,可以提供诸如开发者指南、API概述、API参考、流传输标准和要求、品牌指南、示例服务实现、用户界面指南、测试计划、自动化套件、测试脚本等等材料以供开发者访问。在块813,开发者使用这些工具和资源来提供对其内容的实现。例如,在下载技术文件之后,合作者可以开始将其音乐服务功能与平台进行集成。
[0137]在块814,关于该实现,执行测试计划。例如,自动化套件可用于仿真和测试开发者的内容实现。在某些示例中,在完成集成之后,合作者可以利用实际的音乐系统来测试他们的服务。在某些实施例中,门户向合作者提供“自助服务和设置”页面,以将音乐播放器组件(例如,区域播放器和控制器)指向支持API网络服务的端点。当在“自助服务和设置”页面上配置了他们的系统之后,合作者将能够在控制器的音乐菜单中看到他们的音乐服务。此时,音乐服务仅是对于该合作者是可见的,以便进行测试,而对于其他用户是不可用的。
[0138]在配置音乐服务之后,该合作者要下载程序提供的测试计划,以执行一个或多个测试用例。合作者需要执行完整的测试计划,以确保在指定的质量和性能指标内完成所有功能。在成功测试了他们的音乐服务之后,该合作者可以提交要求进入β公测程序的请求。
[0139]在块815,提交针对开发者的实现的申请(或重新提交下述更改)。在块816,对照程序提交标准,自动评估该申请。
[0140]在块817,再次审查经评估的且被自动批准的申请,以及在块818,或者批准,或者拒绝。合作者申请通过审查和批准处理的检查点。在某些实施例中,审查和批准包括质保(QA)验证、对屏幕快照的审查、以及对β公测标准的审查。如果该申请被批准,则该合作者进入β公测。在块819,向开发者反馈拒绝报告,以便进行实现方面的更改(块813)。例如,如果该合作者不满足性能和质量标准,则该申请被拒绝,并会发送具有拒绝原因的电子邮件。在修复这些问题之后,合作者可以重新提交审批申请。在块820,启用已批准的申请作为β公测(例如,经由音乐回放控制器)的服务(如音乐服务)。
[0141]在块821,开始β公测。在β公测期间,用户可以访问该服务及其内容(如,在实验或β测试区中,在带β测试标签的常规音乐区,等等)。例如,可以收集和报告错误统计、性能测试、用户评级、用户讨论、其他反馈,等等。这被设计为:用于允许合作者在β测试的同时执行负载测试并且细调他们的服务。可以提供产品内带的β公测测试工具。
[0142]在某些实施例中,β测试区(例如,SONOS SOUND LAB?)使得合作者能够众包他们的测试工作。通过提供用于在具有实际客户的现场环境下展示和流传输其内容的音乐服务测试场地,合作者可以更快地确定他们的服务的可用性和性能问题,并降低总的推向市场的时间。客户可以通过参与β测试而访问最新的音乐服务。
[0143]如图9Α中所示,例如,控制器可提供“更多音乐”菜单920,其中示出了可供客户使用的β测试服务的列表。一旦客户通过使用简单的设置向导选择了该服务,则该服务将出现在“音乐菜单”930下。为了使得β测试服务区别于那些已经普遍可用的服务,音乐服务标志例如被标上“beta” (β测试)标记920。如图9Β的示例中所示,在β测试结束时可以移除“beta”标记。
[0144]在块822,发生β公测评估。例如,执行关于该β公测版是否已经准备好用于正式发行的评估。在β测试期间,客户测试该服务,提供反馈,并且提交他们可能找到的任何缺陷。合作者和开发者门户使得合作者有权访问论坛和问题跟踪软件,以监视反馈和解决用户遇到的任何问题。在块823,识别突出的缺陷或问题。如果存在,则β测试继续进行。如果没有,则在块824,评估性能标准(例如,级别从一到十)。在该阶段,合作者服务通过另一个检查点,该检查点用以跟踪任何突出的问题,监视性能,并确保所有的合作者可交付产品已经准备好用于正式发行。经过一段时间的β测试之后,如果服务表现的性能在指定的性能指标内,并且没有突出问题,则β测试结束并且启用该服务的正式发行(GA)。如果还不满足性能标准,则β测试继续进行。如果已经满足该标准,则在块825中针对可接受性对用户评级进行评估(例如,级别从一到五)。如果不可接受,则β测试继续进行。如果可接受,则在块826中,检查合作者可交付产品的可用性。如果不可用,则β测试继续进行。如果可用,则在块827中,利用经由内容递送平台828进行的正式发行,将内容/服务提供给用户。如图9Β中所示,在投放GA时移除beta标记,并且该服务出现在控制器上的音乐菜单下。
[0145]图10说明了用于新内容服务的开发、集成、β测试和投放的示例交叉功能工作流的流程图1000。在块1001中,提供程序信息。例如,经由网站或者其他门户,提供与集成程序有关的新合作者和开发者的信息。在块1002,从新合作者获取注册信息,并且由新注册的和以前注册的合作者提供登录信息。
[0146]在块1003,经由合作者网站或其他门户提供合作者控制面板或“主屏幕”。在块1004,经由提供商门户,可以访问技术资源下载区。例如,注册的合作者可以访问技术信息、API资源或其他工具。
[0147]在块1005,合作者实现预期的内容(例如,数字音频)服务。在块1006,可以使得合作者服务能够在所提供的测试系统上进行测试,以便进行合作者自测。在块1007,在已经完成自测之后,向程序提交针对该服务的申请。作为该申请的一部分,合作者提交所实现的服务的所有的最终可交付产品。
[0148]在块1008中,审查该服务申请的质量、合规性等等。假设满足标准,则批准该申请。否则,将申请发回以便进一步开发和测试。
[0149]在块1009,对已批准的服务启用β测试。例如,该服务被提供用于β公测,并被使得可供客户使用和审查。例如,在β测试期间,对服务进行监视,并且自动地且通过用户反馈来对服务进行评估。例如,将反馈提供给开发者进行考虑并有可能进行修改。
[0150]在块1010,审查正式发行检查列表,并且发布满足条件的服务候选。在块1011,经由内容平台更新文档、常见问题解答(FAQ)、培训等等,以便进行正式发行。在块1012,在β测试之外,正式发行该服务。例如,可以在控制器或其他接口上,基于新近可用的服务来更新内容和音乐服务。
[0151]图11说明了示例的集成测试系统和相关联的处理流程1100。如图11中所示,可以访问合作者门户1101,以在1102处经由互联网1103或其它网络下载测试工具1104。测试工具1104可包括测试计划、API功能测试套件,等等。使用测试工具1104,可以在1105处执行测试。可以在合伙测试服务器1107上经由合作者防火墙1106执行测试,以及/或者可以使用区域播放器/控制器配置1109,在1108处执行测试,其中结果被提供给合作者测试服务器1107。在块1110处,收集测试结果,以及在1111处,经由互联网或其他网络1103将测试结果提交给合作者门户1101。
[0152]作为备选或补充,可以在块1112)在合作者公共测试服务器1113处执行测试(例如,β公测)。测试服务器1115也可被用于执行测试1114,如API功能测、API负载测试,
坐坐寸寸ο
[0153]在块1116处,对测试结果进行比较,以及,在1117处,将测试结果提交给合作者门户1101进行审查(并采取进一步行动)。
[0154]图12提供了用于对内容服务进行β公测的示例基础设施1200。一个或多个音乐服务1201 (如图12中所示的音乐服务合作者1、2和3)经由互联网1202或其他网络可以访问一个或多个家庭1203,如β测试客户1、2、3、4,...Ν,。每个β测试客户1203向数据收集处(例如,数据仓库)1204发送数据用于验证。
[0155]在1205处,对所收集的数据进行评估,以确定是否满足一个或多个性能标准。如果不满足该一个或多个性能标准,则β测试面对客户1203继续进行。如果满足该一个或多个性能标准,则在1206处对数据进行评估,以确定该β测试是否收到可接受的用户评级。如果该β测试未收到可接受的用户评级,则β测试继续进行。如果获得可接受的用户评级,则将该候选发送到检查点1209。另外,可以经由合作者外联网1207(包括一个或多个音乐合作者论坛、错误报告、用户评价等等)提供β测试反馈。在1208处,基于合作者外联网1207反馈识别突出的缺陷或问题。如果已经识别出突出的缺陷或问题,则β测试继续进行。如果没有识别出突出的缺陷或问题,则将该候选发送到检查点1209。
[0156]在检查点1209处,对在针对候选服务的β测试期间收集的数据进行评估,以确定是应该继续进行β测试,还是应该发布该候选以进行正式发行。
[0157]图13说明了示例音乐服务性能反馈控制面板1300。合作者可以获取一个或多个服务1301的与性能等级1302、用户评级1303、以及识别出的问题1304有关的信息。例如,该反馈可被用于对该服务的进一步修改、测试或审批,并且可以随着β测试的继续而更新。
[0158]使用上述的系统和方法,内容服务可被开发、验证、由真实客户进行β测试、以及与内容递送平台进行集成。某些实施例提供了开放的网络服务API,其提供了由基于网络的流传输音乐服务递送内容和由内容递送系统(如S0N0S?多房间音乐系统)消费内容的容易方式。该API被设计为支持各种内容提供商,包括点播音乐服务以及互联网广播流。在某些实施例中,API不是设计为下载音乐并保存到本地硬盘驱动器或其他存储设备;相反,API被设计为例如专注于在不包含大的内部存储量的回放设备上的流传输媒体。
[0159]在某些实施例中,API网络服务规范是使用S0AP1.2规范建立的,并且定义了用于浏览和播放来自音乐服务的音乐的方法。SOAP消息包括包封,该包封包含可选的报头和所需的正文。报头包含与应该如何处理消息有关的信息块。这包括路由和递送设置、认证或授权主张、以及事务上下文。正文包含要递送和处理的实际消息。在该示例API中,SOAP报头被用于传入用户凭证。
[0160]网络服务描述语言(WSDL)是用于将网络服务描述为能够交换消息的通信端点的集合的XML语法。在某些实施例中,用于API的物理规范是作为WSDL文档和XML架构定义(XSD)文档给出的。WSDL+XSD文档提供针对API中的所有方法和数据类型的明确定义,并且具有可由若干流行的代码生成工具机器读取的额外好处。
[0161]在某些实施例中,API中的错误处理是经由标准S0AP1.1故障(具体地,经由S0AP〈faultcode>元素)来完成。例如,API可以定义一组预定的错误代码。
[0162]在某些实施例中,API提供针对媒体消费的下述四个区的核心服务:1)认证,2)浏览和搜索,3)音频回放,以及4)用户定制。还可以提供某些可选服务。
[0163]e.示例认证服务
[0164]图14说明了示例认证服务。大多数服务提供商要求用户名和密码才能访问它们的内容层级或流。在某些实施例中,服务API提供经由用户名/密码来认证设备的方式。此夕卜,在服务希望强制执行任何针对设备(per-device)的商务规则的情况下,在设备与服务之间传递唯一的设备特定的标识符(如它的媒体访问控制(MAC)地址)。
[0165]为了避免与维护服务器状态相关联的开销,需要用户授权的每个API / SOAP请求携带凭证信息。每个API / SOAP请求包括具有最终用户凭证的SOAP报头元素。因为有些服务提供商不能有效地解析用户名和密码凭证,所以API还支持凭证信息的令牌化形式。单独的API / SOAP请求用于将用户名/密码对翻译成称为“sessionld”的不透明令牌。
[0166]例如,认证是由getSessionld方法实现的,或者备选地,可以通过利用HTTP报头传入凭证来实现。
[0167]因此,可以在包括至少一个控制器1412和至少一个区域播放器1414的音乐系统1410与音乐服务1430之间,经由SOAP请求1420,SOAP响应1422、getSessionId(用户名,密码)1424 以及 getSessionldResponse (sessionld) 1426,经由 WSDL1432 和与音乐服务器1436有关的API端点(如,API / SOAP网络服务器)1434,来促进认证。
[0168]f.示例浏览和搜索服务
[0169]消费者喜欢按艺术家、流派等来探索内容。因此,在某些实施例中,API允许音乐服务基于像艺术家、专辑、作曲者、播放列表、流派、编程的电台、以及音轨这类的元数据来提供浏览。服务提供商可以添加它们自己的浏览层级,以允许消费者探索所编辑的内容,如IU 100个等等。
[0170]网络服务API允许服务提供商订制和动态改变所呈现的内容层级。该功能例如允许服务提供商(即合作者)基于商业规则、地理或用户体验在受影响的设备上呈现不同的内容。[0171]在某些实施例中,在API中,服务提供商负责对层级中的元素进行排序,例如按字母顺序或某种计算的相关性。然而,服务选择对元素排序,该排序顺序应该是一致的并且对于进行流传输设备的用户是可以理解的。
[0172]在某些实施例中,浏览和搜索调用可被构造为允许增量浏览。这是为了更好地支持具有低内存封装的设备。例如,当设备搜索所有包含字符串“Hits”的专辑时,该调用也指定了期望的搜索结果的起始索引和计数(例如,搜索含‘hits’的所有音轨,并返回从第100结果开始的20个结果)。
[0173]在某些实施例中,浏览是通过getMetaData、getMediaMetadata 和 getLastUpdate方法来实现的。API还支持可选搜索和按字母顺序滚动的功能。搜索是通过搜索的方法实现的,并且使用字母接字母的搜索。按字母顺序滚动是通过getScrollIndices方法来实现的。
[0174]在某些实施例中,使用API的客户端设备将调用getMediaURI方法来获得给定音轨标识符(ID)的音轨的回放URL。这种方法在使用安全套接字层(SSL)的安全端点上被调用,并且返回音轨的安全超文本传输协议(HTTPS)的URL。
[0175]在某些实施例中,API不限制实施者使用任何特定的协议。在某些实施例中,例如,唯一的要求是:getMediaURI提供能够按设备识别的形式流传输的内容。例如,已经利用经由HTTP和多媒体信息服务(MMS)的流传输构建了 API实现。
[0176]在某些实施例中,API不知道用于递送内容的传输系统以及内容是如何编码的。内容可以作为使用HTTP流的MP3、使用MMS的Microsoft Windows?媒体音频来递送。
[0177]内容提供商可能希望允许用户定制他们的内容,比如允许创建定制的播放列表。在某些实施例中,API利用一般“项目”管理功能来支持这一点。例如,定制是通过createltem和deleteltem方法来实现的。
[0178]在一些实施例中,可选服务例如可以包括:1)收藏夹,2)按字母滚动,3)状态报告,4)扩展的元数据,以及5)跟踪评级。
[0179]在一些实施例中,服务提供商可能具有供用户将艺术家、专辑或音轨添加到特定的“收藏夹”集合的某种机制。如果收藏夹集合被暴露给设备,则服务提供商必须实现这些方法。例如,收藏夹是通过createltem和deleteltem方法来实现的。
[0180]在一些实施例中,按字母顺序滚动是一种用于大的元数据集合的优化内容枚举的技术。它允许用户滚动全部字母来选择字母,于是它例如可以以特定索引来发起针对集合的getMetaData请求。如果服务提供商希望针对大的项目列表提供此功能,则它可以实现这些方法。按字母顺序滚动例如是通过getScrollIndices方法来实现的。
[0181]在一些实施例中,服务提供商可能希望通过在出现流传输故障时得到通知来收集统计数据或提高服务质量。如果服务提供商想要来自设备的这种反馈,则他们可以实现这些方法。例如,状态报告是通过reportStatus和setPlayedSeconds方法来实现的。
[0182]在某些实施例中,服务提供商可能会公开与音轨、艺术家、专辑或电台有关的元数据,其可被客户端用来创建更丰富的用户浏览体验。扩展元数据是通过getExtendedMetadata 和 getExtendedMetadataText 方法来实现的。
[0183]在某些实施例中,音乐服务可以决定它们希望呈现哪些额外信息视图项目,如果存在任何这样的额外信息视图项目的话。一般而言,信息视图项目分为三类:1)与艺术家、专辑或音轨有关的文本信息。示例包括专辑评论、艺术家传记和巡回演出的日期。2)音乐服务内的,以所选的内容作为起点的附加音乐浏览。例如,可以提供该信息以找到与所选艺术家类似或者受所选艺术家影响的艺术家。3)根据选定的音轨、专辑或艺术家的库行动。例如,可以提供该信息以“将音轨添加到库”或“从库中删除专辑”。
[0184]在某些实施例中,服务提供商可以允许客户端对音轨进行评级。经由API将评级值简单地表示为整数,其没有固有的语义含义。它是由服务端和客户端定义并商定每个具体的“评级值”的含义以及相应的行为。例如,音轨评级是通过rateltem方法来实现的。
[0185]图15说明了 S0N0S?多房间音乐系统1510与ACME音乐服务(AMS) 1530的示例集成1500,如图15所示,AMS1530提供到运行SonosAPI服务1537的SOAP网络服务器1533的端点1531。图15的序列图示出了针对各种音乐操作在音乐系统1510与AMS1530之间的S0APAPI请求1522和SOAP响应消息1524。
[0186]音乐系统1510可以在音乐服务1530的网络服务器1533处调用1520网络服务1537。音乐系统1510的组件(区域播放器1514和控制器1512)使用基于HTTP和HTTPS的S0AP1522来调用AMS1530。在适用情况下,API1535利用SOAP报头块来呈现呈现用户凭证。当API要求用户凭证时,使用HTTPS传输,否则使用HTTP传输。例如,浏览AMS的全部内容层级不要求任何用户登录或认证,而用户“收藏夹”目录的枚举将要求有效的凭证。
[0187]图16说明了用于内容回放的示例系统和序列图。如图16中所示,区域播放器1610接收要求播放音轨的请求。播放器1610使用消息(例如,HTTPS SOAP消息)1620以经由WSDL1630和音乐服务API端点1640得到媒体文件的统一资源指示符(WR)。WSDL1630格式化该请求以用于API端点1640,该API端点1640与一个或多个服务内容服务器1650通信以定位媒体。服务器1650经由返回消息1660提供音轨的位置。
[0188]如图所示,例如,在图17中,通过网络(如互联网1720)在音乐服务1710和回放设备1730之间的现有的交互遭受设备1730不相容性,导致使用一个API1740-1748来从每个服务1710向每个设备1730提供内容。
[0189]如图所示,例如,在图18中,某些实施例通过提供的资源、指南、API和测试促进了互操作性,从而促进了通过网络(如互联网1820)在音乐服务1810与回放设备1830之间的更好的交互。在图18的示例中,一个常见的音乐API1840被用于促进在所有连接的服务1810和设备1830之间的通信和互操作性,以提供和分享内容。
[0190]上面描述的图(至少如图7、8、10_12和14_16)描述了代表可以例如通过使用计算机可读指令来实现的处理的示例流程图,所述处理可被用于开发、评估、β测试、批准和发布用于通过区域播放器和/或其他回放设备来访问和回放的新多媒体内容。示例处理可以通过使用处理器、控制器和/或任何其他适当的处理设备来执行。例如,示例处理可以使用存储在有形计算机可读介质上的编码指令(例如,计算机可读指令)来实现,所述有形计算机可读介质诸如是闪存、只读存储器(ROM)和/或随机存取存储器(RAM)。如本文所使用的,术语“有形计算机可读介质”被明确定义为包括任何类型的计算机可读存储设备,并且排除传播信号。作为补充或替代,示例处理可以使用存储在非临时性计算机可读介质上的编码指令(如计算机可读指令)来实现,所述非临时性计算机可读介质诸如是闪存、只读存储器(ROM)、随机存取存储器(RAM)、高速缓存器、或将信息存储任何时间(如,较长的时间段、永久、短时间、临时缓存、和/或对信息的高速缓存)的任何其他存储介质。如本文所使用的,术语“非临时性计算机可读介质”被明确地定义为包括任何类型的计算机可读介质,并排除传播信号。
[0191]备选地,示例处理中的一些或全部可以使用专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、离散逻辑、硬件、固件等等的任意组合来实现。而且,示例处理中的一些或全部可以手动实现,或者被实现为任意前述技术的组合,如固件、软件、离散逻辑和/或硬件的任意组合。此外,尽管示例处理是参考图7、8、10-12和14-16的流程图来描述的,但是也可以采用实现所述处理的其他方法。例如,块的执行顺序可以改变,和/或所描述的块中的一些块可以改变、消除、细分或组合。另外,示例处理中的任何处理或全部处理可以通过分离的处理线程、处理器、设备、离散逻辑、电路等等顺序地和/或并行地执行。
[0192]VI1.示例处理系统
[0193]图19是可被用于实现本文描述的系统、装置、制品和方法的示例处理器系统1900的框图。处理器系统1900可以被包括在上文描述的一个或多个处理、系统和配置中,可以用来实现上文描述的一个或多个处理、系统和配置,可以用来控制上文描述的一个或多个处理、系统和配置,和/或可以用于向上文描述的一个或多个处理、系统和配置提供信息。如图19所示,处理器系统1900包括处理器1902,其耦合到互连总线1904。处理器1902可以是任何合适的处理器、处理单元或微处理器。虽然在图19中未示出,但系统1900可以是多处理器系统,并且因此可以包括一个或多个附加的处理器,所述一个或多个附加的处理器与处理器1902相同或相似,并且通信地耦合到互连总线1904。
[0194]图19的处理器1902耦合到芯片组1906,该芯片组1906包括存储器控制器1908和输入/输出(I / O)控制器1910。如众所周知的,芯片组典型地提供:输入/输出(I /O)和存储器管理功能,以及可被耦合到芯片组1906的一个或多个处理器访问或使用的多个通用和/或专用寄存器、定时器等等。存储器控制器1908执行使得处理器1902(或使得多个处理器,如果存在多个处理器的话)能够访问系统存储器1912和大容量存储器1914的功能。
[0195]系统存储器1912可包括任何期望类型的易失性和/或非易失性存储器,诸如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、闪存、只读存储器(ROM)等等。大容量存储器1914可以包括任何期望类型的大容量存储设备,包括硬盘驱动器、光盘驱动器、磁带存储设备等。
[0196]I / O控制器1910执行使得处理器1902能够经由通过I / O总线1922与外围I / O设备1916和1918以及网络接口 1920进行通信的功能。该I / O设备1916和1918可以是任何期望类型的I / O设备,诸如键盘、视频显示器或监视器、鼠标等。网络接口 1920例如可以是以太网设备、异步传输模式(ATM)设备、802.11设备、DSL调制解调器、缆线调制解调器、蜂窝调制解调器等等,其使得处理器系统1900能够与另一个处理器系统通信。
[0197]尽管存储器控制器1908和I / O控制器1910在图19中被示为芯片组1906内的分离的块,但是这些块执行的功能可被集成在单个半导体电路内,或者可以使用两个或更多个分离的集成电路来实现。
[0198]VII1.结论
[0199]本文描述的示例实施例提供了用于将音乐提供商服务与平台进行集成的系统和方法以及用于内容分发和回放的系统。来自示例性实施例的技术可被用在需要准确再现声音的任何应用中,例如用在建筑物、机动车辆、船只、飞机和室外地点。
[0200]某些实施例提供一种包括基于网络的媒体内容开发平台和内容递送平台的系统,所述平台包括处理器和存储器。所述示例开发平台被布置为提供接口以接受来自提供商的用于核证的媒体内容。所述示例开发平台被布置为:促进由提供商经由所述接口,根据测试工具和结合所述开发平台提供的应用编程接口,对媒体内容进行自测。所述示例开发平台被布置为处理所述媒体内容,以便经由所述内容递送平台由一组用户进行受监视的β测试。所述示例开发平台被布置为:评估受监视的β测试,以确定媒体内容是否适合发布。所述示例开发平台被布置为:促进经由所述内容递送平台将所述媒体内容发布以用于正式发行。
[0201]某些实施例提供计算机实现的方法,其包括:经由基于网络的媒体内容开发平台提供接口,以接受来自提供商的用于核证的媒体内容。所述示例方法包括:促进由所述提供商经由所述接口,根据测试工具和结合所述开发平台提供的应用编程接口,对媒体内容进行自测。所述示例方法包括:处理所述媒体内容,以便经由所述内容递送平台由一组用户进行受监视的β测试。所述示例方法包括:评估受监视的β测试,以确定媒体内容是否适合发布。所述示例方法包括:促进经由所述内容递送平台将所述媒体内容发布以用于正式发行。
[0202]某些实施例提供一种计算机可读存储介质,其包括由处理器执行的指令,所述指令当由处理器执行时,实现用于基于网络的内容开发和部署的系统。所述示例系统包括:基于网络的媒体内容开发平台和内容递送平台,所述平台包括处理器和存储器。所述示例开发平台被布置成:提供接口以接受来自提供商的用于核证的媒体内容。所述示例开发平台被布置为:促进由所述提供商经由所述接口,根据测试工具和结合所述开发平台提供的应用编程接口,对媒体内容进行自测。所述示例开发平台被布置为:处理所述媒体内容,以便经由所述内容递送平台由一组用户进行受监视的β测试。所述示例开发平台被布置为:评估受监视的β测试,以确定媒体内容是否适合发布。所述示例开发平台被布置为:促进经由所述内容递送平台将所述媒体内容发布以用于正式发行。
[0203]上文描述的组件、元件和/或功能可以以各种形式(如硬件、固件和/或软件指令集)单独地或组合地实现。某些实施例可被提供为驻留在计算机可读介质(如存储器、硬盘、⑶-ROM、DVD和/或EPR0M)上的、用于在处理设备(如控制器和/或回放设备)上执打的指令集。
[0204]已经足够详细并且以特定的精确程度描述了各种发明。本领域技术人员应该理解,已经做出的对本发明实施例的公开仅是作为示例,并且在不偏离所要求保护的本发明的精神和范围的情况下,可以在各部分的布置和组合方面采取众多改变。尽管本文所讨论的实施例可能关于信息单元的介绍在形式和布置方面似乎包含某些限制,但是本领域技术人员应该理解这些实施例具有远远超出这种实施例的适用性。因此,本发明的范围由权利要求书而不是前述实施例的描述来限定。
【权利要求】
1.一种系统,包括: 基于网络的媒体内容开发平台和内容递送平台,所述平台包括处理器和存储器,所述开发平台被布置为: 提供接口以接受来自提供商的要被核证有资格经由所述内容递送平台进行递送的媒体内容; 促进由所述提供商经由所述接口,根据测试工具和结合所述开发平台提供的应用编程接口,对所述媒体内容进行测试; 处理所述媒体内容,以便经由所述内容递送平台由一组用户进行受监视的β测试; 评估所述受监视的β测试,以确定媒体内容是否适合发布;以及 促进经由所述内容递送平台将所述媒体内容发布以用于正式发行。
2.根据权利要求1所述的系统,其中所述开发平台被布置为:基于对所述媒体内容的自测和所述β测试中的至少一个,向所述提供商提供反馈。
3.根据权利要求1所述的系统,其中所述开发平台除了提供应用编程接口之外,还提供技术文档,以促进由所述提供商对所述媒体内容进行配置。
4.根据权利要求1所述的系统,其中进行β测试的媒体内容将被放置在供所述一组用户访问的库中,且被标记为β测试内容。
5.根据权利要求4所述的系统,其中,在成功完成β测试时,所述媒体内容将被放置在供正式发行的音乐库中,并且移除所述标记。
6.根据权利要求1所述的系统,其中,所述开发平台提供测试计划供所述提供商下载。
7.根据权利要求1所述的系统,其中,在完成了自测之后,所述开发平台对照一个或多个程序提交标准自动评估所述媒体内容。
8.一种计算机实现的方法,包括: 经由基于网络的媒体内容开发平台,提供接口以接受来自提供商的要被核证有资格经由内容递送平台进行递送的媒体内容; 促进由所述提供商经由所述接口,根据测试工具和结合所述开发平台提供的应用编程接口,对所述媒体内容进行测试; 处理所述媒体内容,以便经由所述内容递送平台由一组用户进行受监视的β测试; 评估所述受监视的β测试,以确定媒体内容是否适合发布;以及 促进经由所述内容递送平台将所述媒体内容发布以用于正式发行。
9.根据权利要求8所述的方法,还包括:基于对所述媒体内容的自测和所述β测试中的至少一个,向所述提供商提供反馈。
10.根据权利要求8所述的方法,还包括:除了提供应用编程接口之外,还提供技术文档,以促进由所述提供商对所述媒体内容进行配置。
11.根据权利要求8所述的方法,还包括:将进行β测试的媒体内容放置在供所述一组用户访问的库中且标记为β测试内容。
12.根据权利要求11所述的方法,还包括:在成功完成β测试时,将所述媒体内容放置在供正式发行的音乐库中,并且移除所述标记。
13.根据权利要求8所述的方法,还包括:提供测试计划供所述提供商下载。
14.根据权利要求8所述的方法,还包括:在完成了自测之后,对照一个或多个程序提交标准自动评估所述媒体内容。
15.一种计算机可读存储介质,包括由处理器执行的指令,所述指令当由所述处理器执行时,实现用于基于网络的内容开发和部署的系统,所述系统包括: 基于网络的媒体内容开发平台和内容递送平台,所述平台包括处理器和存储器,所述开发平台被布置为: 提供接口以接受来自提供商的要被核证有资格经由所述内容递送平台进行递送的媒体内容; 促进由所述提供商经由所述接口,根据测试工具和结合所述开发平台提供的应用编程接口,对所述媒体内容进行测试; 处理所述媒体内容,以便经由所述内容递送平台由一组用户进行受监视的β测试; 评估所述受监视的β测试,以确定媒体内容是否适合发布;以及 促进经由所述内容递送平台将所述媒体内容发布以用于正式发行。
16.根据权利要求15所述的计算机可读存储介质,其中所述开发平台被布置为:基于对所述媒体内容的自测和所述β测试中的至少一个,向所述提供商提供反馈。
17.根据权利要求15所述的计算机可读存储介质,其中所述开发平台除了编程应用编程接口之外,还编写技术文档, 以促进由所述提供商对所述媒体内容进行配置。
18.根据权利要求15所述的计算机可读存储介质,其中进行β测试的媒体内容将被放置在供所述一组用户访问的库中,且标记为β测试内容。
19.根据权利要求18所述的计算机可读存储介质,其中,在成功完成β测试时,所述媒体内容将被放置在供正式发行的音乐库中,并且移除所述标记。
20.根据权利要求15所述的计算机可读存储介质,其中,所述开发平台提供测试计划供所述提供商下载。
21.根据权利要求15所述的计算机可读存储介质,其中,在完成了自测之后,所述开发平台对照一个或多个程序提交标准自动评估所述媒体内容。
【文档编号】G06Q50/10GK103827912SQ201280045583
【公开日】2014年5月28日 申请日期:2012年7月20日 优先权日:2011年7月20日
【发明者】凯特·莫洛尼-伊格纳提斯, 朗·库珀, 杰瑞·安德森 申请人:搜诺思公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1