一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

管理回放组的制作方法

2021-11-06 03:47:00 来源:中国专利 TAG:

管理回放组
1.本技术是申请日为2019年3月29日的、名称为“管理回放组”的发明专利申请no.201910246258.2的分案申请。
技术领域
2.本公开整体涉及跨联网回放设备管理媒体回放。


背景技术:

3.无线音频/视频(a/v)设备变得无处不在。例如,在许多家庭中使用无线扬声器系统来播放音乐。无线流式设备用于向电视机播放视频和/或通过连接的扬声器系统播放音频。有时,无线扬声器系统和/或流式设备是智能计算设备,其可被配置为流式传输和/或接收流式音频和视频数据。在一些情况下,可将若干智能a/v设备放置在家庭周围并采用不同配置,以在家庭和/或家庭的不同房间中提供各种a/v功能。需要系统来配置、监视和控制这些不同的a/v设备。


技术实现要素:

4.在一些具体实施中,系统可被配置为允许遥控设备静噪式地获取与各种音频/视频回放设备相关的状态信息。例如,流式设备(例如,用户设备、电话等)可建立与回放设备的流式连接。回放设备可被配置为仅接受单个流式连接(即,主连接)。遥控设备(例如,用户设备、电话等)可在不中断主连接的情况下静噪式地连接(即,控制连接)至回放设备,以获得与回放设备和/或被流式传输到回放设备的媒体相关的状态信息。遥控设备可通过控制连接提供命令以调节流媒体在回放设备处的回放。
5.在一些具体实施中,系统可被配置为管理回放设备组。例如,回放设备可以多种方式动态地分组。每个回放设备可存储定义回放设备所属的组的属性。每个回放设备可将其组属性发送到遥控设备,并且遥控设备可基于组属性来确定回放设备的组。然后,遥控设备可配置并呈现代表各组回放设备的图形用户界面。在一些具体实施中,一组回放设备可被配置为持久组。例如,一对回放设备(例如,无线扬声器)可被配置为立体对。该对回放设备可存储和发送指示该对回放设备是永久组的属性数据,使得遥控设备可将持久组作为单个设备进行呈现和控制。
6.在一些具体实施中,系统可被配置为减轻将用户设备与回放设备配对的负担。例如,通常在特定环境(例如,家庭)内操作的所有用户(或用户设备)可被配置为回放设备在特定环境内的授权用户。当授权用户之一将用户设备与回放设备配对时,作为单一配对的结果,所有授权用户的所有用户设备都可自动与回放设备配对。因此,只有单个授权用户负担配对过程,以便将所有授权用户与回放设备配对。
7.在一些具体实施中,系统可被配置为基于与媒体数据相关联的上下文将媒体数据路由至回放设备。例如,媒体数据可包括与媒体项诸如音乐、电影、电视节目等相关联的音频和/或视频数据。媒体数据可包括由软件生成的音频和/或视频数据,诸如来自游戏应用
程序和/或操作系统的音频/视频输出。可基于媒体数据的来源确定上下文,并且可基于所确定的上下文将媒体数据路由至回放设备。例如,当上下文是与媒体项来源相关联的媒体上下文时,媒体数据可被路由至远程回放设备进行呈现。当上下文是与软件来源相关联的系统上下文时,媒体数据可由本地设备呈现。
8.在下面的附图和具体实施方式中阐述了一种或多种具体实施的细节。其他特征、方面和潜在优点将在具体实施方式和附图以及权利要求书中显而易见。
附图说明
9.图1是用于控制回放设备的示例性图形用户界面(gui)。
10.图2示出了用于呈现回放组的控件的示例图形用户界面。
11.图3是用于从遥控设备远程控制回放设备的示例系统的框图。
12.图4是用于从遥控设备远程控制回放组的示例系统的框图。
13.图5是用于从遥控设备远程控制不可发现的回放设备的示例系统的框图。
14.图6是用于管理动态回放设备组的示例系统的框图。
15.图7是用于管理持久回放组的示例系统的框图。
16.图8是用于将媒体项流式传输到持久组的系统的框图。
17.图9是用于将媒体项流式传输到持久组的系统的框图。
18.图10是用于呈现从持久组内的主要回放设备流式传输的媒体项的系统的框图。
19.图11是用于在回放组中的回放设备之间同步回放恢复的示例系统的框图。
20.图12是用于自动将用户设备与回放设备配对的示例系统的框图。
21.图13是用于管理联网回放设备之间的音量变化的示例系统的框图。
22.图14是被配置为在回放设备之间自动建立流媒体连接的示例媒体系统的框图。
23.图15是被配置为将媒体数据动态地路由至回放设备的示例媒体系统的框图。
24.图16是用于基于回放设备能力的动态路由的示例媒体系统的框图。
25.图17是用于以第二语言提供对媒体数据的访问的示例媒体系统的框图。
26.图18是用于远程控制回放设备的示例过程1800的流程图。
27.图19是用于管理回放组的示例过程的流程图。
28.图20是用于有效地将授权用户设备与回放设备配对的示例过程的流程图。
29.图21是用于为多个用户设备生成配对令牌的示例过程的流程图。
30.图22是用于媒体数据的上下文路由的示例过程的流程图。
31.图23是可实现图1至图22的特征和过程的示例计算设备的框图。
32.各个附图中的类似参考符号指示类似的元素。
具体实施方式
33.图1是用于控制回放设备的示例性图形用户界面(gui)100。例如,gui 100可由计算设备呈现,诸如智能电话、平板电脑、膝上型计算机、可穿戴计算设备或具有连接的显示器的任何其他类型的计算设备。为了生成gui 100,计算设备(例如,遥控设备、流式设备等)可无线地连接到各种回放设备(例如,无线扬声器、机顶盒、电视等)并从回放设备收集状态和属性信息。基于接收到的属性数据,计算设备可生成包括各个回放设备(例如,以图形元
素102表示)和/或回放设备组(例如,由图形元素130和140表示)的表示的gui 100。使用由回放设备提供的状态信息,计算设备可呈现描述回放设备当前正在播放的媒体的信息、可用于调节所播放的媒体的回放的回放控件和/或其他信息,如可在下文进一步描述的。
34.在一些具体实施中,gui 100可包括用于选择和/或控制各个回放设备的图形元素102。例如,各个回放设备可通告回放设备接收从计算设备流式传输的媒体的能力。当计算设备接收到标识各个回放设备的信息时,计算设备可生成标识回放设备的图形元素102。在一些具体实施中,计算设备自身可在图形元素102内标识。例如,图形元素102可包括用于标识正在播放的媒体项(例如,歌曲、电影、电视节目等)和播放媒体的设备的显示区域104。在图1的实施例中,显示区域104指示用户的电话正在播放歌曲。
35.在一些具体实施中,图形元素102可包括标识回放设备的图形元素108、112和/或116。在图1的实施例中,呈现gui 100的计算设备是用户的电话,因此以图形元素108标识用户的电话。另外,图形元素108可包括指示用户的电话是当前选择的回放设备的指示符(例如,复选标记)。图形元素102还可包括指示电视或机顶盒可用于播放所选媒体项的图形元素112。图形元素102可包括指示无线扬声器可用于播放所选媒体项的图形元素116。当计算设备(例如,用户的电话)接收对图形元素112和/或116中的一者或两者的选择时,计算设备可将所选媒体项(例如,歌曲)流式传输到所选回放设备,并且停止通过计算设备的输出部件(例如,扬声器、显示器等)播放所选媒体项。当从计算设备流式传输媒体时,计算设备相对于媒体项被流式传输到的一个或多个回放设备成为主设备。在一些具体实施中,每个回放设备被配置为仅具有一个主设备。因此,如果第二计算设备开始流式传输到所选回放设备之一,则第二计算设备接管(例如,劫持)该连接并且成为回放设备的主设备。
36.在一些具体实施中,图形元素102可包括媒体回放控制区域120。例如,区域120可包括媒体回放控件(例如,播放按钮、倒回按钮、快进按钮、音量控制等),用于由计算设备播放或从计算设备流式传输的媒体。在图1的实施例中,区域120呈现用于指定和/或调节所选回放设备播放媒体项的音量的音量控件122。例如,用户可沿着音量滑块122滑动音量手柄124以向上或向下调节音量。
37.在一些具体实施中,gui 100可包括表示动态回放设备组的图形元素130。例如,用户可向计算设备提供输入,以将回放设备配置为回放设备组(即,回放组)。在一些具体实施中,用户可将输入提供至计算设备上的软件应用程序(例如,家庭应用程序332,如下所述),以指示哪些回放设备应包括在特定动态回放组中。例如,用户可将回放设备拖放到特定动态回放组中。用户可指定在用户房屋的同一房间内的回放设备(例如,如由家庭应用程序332所确定)应为特定动态回放组的一部分。例如,用户可指定用户起居室中的两个回放设备(例如,无线扬声器)应将媒体作为一个组回放。可根据用户的需求配置和重新配置动态回放组。例如,用户可能想要在起居室中收听音乐并在起居室中创建一组扬声器。稍后,用户可能希望在起居室和厨房中对扬声器进行分组,并且可将起居室和厨房中的回放设备重新配置为新的组。在一些具体实施中,单个回放设备可为多个不同动态回放组的一部分。例如,用户可配置包括起居室回放设备的动态回放组。用户可配置包括厨房回放设备的不同动态回放组。用户可配置包括起居室和厨房回放设备的另一动态回放组。因此,起居室中的回放设备可属于起居室回放组和组合的厨房/起居室回放组。
38.响应于接收到组指定,指定的回放设备可被动态地配置为具有向其他设备(包括
计算设备)标识指定的回放设备属于同一组的组属性,如下文更详细描述的。例如,计算设备上的软件应用程序(例如,家庭应用程序332)可将对应于每个回放设备的指定组的组属性发送至每个回放设备。
39.当计算设备从组中的回放设备接收到组属性时,计算设备可确定回放设备属于同一组并且呈现代表回放组的图形元素130。例如,图形元素130可包括由回放组报告的状态信息(例如,组的名称、组正在播放的媒体项、表示组的图像132、组中的回放设备的标识符等)。用户可选择图形元素134以使得计算设备呈现图2的gui 200,使得用户可查看回放组的状态并控制回放组。
40.在一些具体实施中,gui 100可包括表示持久回放设备组的图形元素140。例如,用户可能想要将两个或更多个回放设备配置成持久回放设备组(例如,类似于立体声配置或环绕声配置)。当用户创建持久的回放设备组时,回放设备可由计算设备处理,就像回放设备的持久组是单个设备(例如,单个回放设备)一样。因此,持久的回放设备组不经历与上文关于动态的回放设备组所述相同的动态重排。然而,持久组可以是动态组的成员,使得该持久组被视为动态组设备内的单个回放设备。因为持久回放设备组被认为是单个回放设备,所以在一些具体实施中,持久回放组可呈现以图形元素102表示的单个回放设备(例如,类似于电视和/或扬声器回放设备)。与动态回放设备组类似,用户可选择图形元素144以使得计算设备呈现图2的gui 200,使得用户可查看持久回放组的状态并控制回放组。
41.在一些具体实施中,计算设备可建立到回放设备的遥控连接(即,控制连接)以收集状态信息并控制回放设备处的回放。例如,与在其他流式设备希望将媒体流式传输到回放设备时被其他流式设备劫持的主连接相反,控制连接是不中断主连接的静噪式连接。控制连接不将媒体流式传输到回放设备。相反,控制连接用于获取状态信息并控制回放设备正在播放的媒体的回放。因此,计算设备可将媒体流式传输到第一组回放设备,并且接收和呈现与另一组回放设备相关的状态信息。
42.图2示出了用于呈现回放组的控件的示例图形用户界面200。例如,gui 200可由计算设备响应于用户选择图1的图形元素134或图形元素144而呈现,如上所述。例如,当计算设备接收图形元素134或图形元素144的选择时,计算设备可将图形元素102最小化为对应于图1的显示区域104的图形元素202。因此,图形元素102表示由计算设备播放或流式传输的媒体项。
43.当计算设备接收到对图形元素134或图形元素144的选择时,计算设备可将表示动态回放组或持久回放组的对应图形元素130或140展开到图形元素210中,以呈现所选回放组的附加信息和/或控件。例如,图形元素210可包括标识回放组的名称和/或回放组正在播放(或最近播放)的媒体项的信息区域212。
44.图形元素210可包括用于呈现回放组的控件的控制区域220。例如,可基于回放组中回放设备的能力和/或特征、回放组正在播放的媒体项和/或提供回放组正在播放的媒体项的软件应用程序来动态地确定控制区域220中呈现的控件。例如,如果回放组包括具有视频能力的设备,则可在区域220中呈现视频控件。然而,如果回放组不包括具有视频能力的设备,则可仅呈现音频控件。例如,控制区域220可包括媒体回放时间线222和指示符224(例如,播放头)以指示媒体项在回放时间线中的当前回放位置。控制区域220可包括回放控件226(例如,播放、暂停、倒回、快进等),用于控制回放组中的播放媒体项的回放。控制区域
220可包括音量控件228。例如,用户可通过选择音量手柄230并沿音量控件228滑动该手柄来使用触摸输入(例如,触摸、拖动、释放等),从而调节回放组内的回放设备处的回放音量。
45.当用户与回放控件交互以指定回放组的各种回放控件的设置时,计算设备可将指定的设置发送到回放组。在一些具体实施中,可将回放设置发送到回放组中的主要回放设备,并且主要回放设备可将回放设置传播到回放组内的其他回放设备。在一些具体实施中,计算设备可将回放设置直接发送到回放组中的每个回放设备。在任一种情况下,可使用上述非劫持(例如,静噪式)控制连接将回放设置发送到回放设备。
46.图3是用于从遥控设备远程控制回放设备的示例系统300的框图。例如,遥控设备310可对应于呈现图形用户界面100和200的计算设备,如上所述。图3在此用于描述如何在遥控设备310和回放设备320之间管理回放设备状态数据和控制命令。
47.如本说明书通篇所用,遥控设备(例如,遥控设备310)表示与图中所示的回放设备(例如,回放设备320)建立静噪式、非劫持的控制连接(例如,控制信道、控制管道等)的计算设备(例如,智能电话、平板电脑、膝上型计算机等)。然而,遥控设备可与回放设备320建立控制连接以获得回放设备320的状态信息,并向回放设备320提供控制输入,同时还保持与另一回放设备(未示出)的流式连接。因此,遥控设备310也可以是关于另一个回放设备的流式设备(即,主设备),如下文进一步描述的。
48.如本说明书通篇所用,回放设备(例如,回放设备320)表示被配置为向一个或多个用户呈现音频和/或视频的计算设备(例如,无线扬声器、电视、机顶盒等)。回放设备可通过安装在回放设备上的软件应用程序来发起媒体流。回放设备可从其他计算设备接收媒体流。例如,回放设备可(例如,使用无线信号)通告它们能够接收并呈现媒体流。其他计算设备(例如,其他回放设备、流式设备等)可检测该通告并连接到回放设备以将媒体流式传输到回放设备,如上文参考图1所述。因此,回放设备可由与回放设备非常接近和/或与回放设备在同一局域网上和/或以其他方式可到达的其他设备发现。这与可能无法发现的其他计算设备(例如,单个用户设备诸如智能电话或平板电脑)形成对比,如下文进一步描述的。各种设备(例如,遥控设备、回放设备、流式设备等)可使用各种类型的网络进行通信,包括广域网、局域网、wi

fi、蓝牙和/或各种对等连接(例如,通过蓝牙、wi

fi等)。
49.在一些具体实施中,系统300包括遥控设备310和回放设备320。在图3的实施例中,回放设备320发起由回放设备320播放的媒体流。例如,回放设备320可包括媒体应用程序322。媒体应用程序322可以是音乐应用程序、视频应用程序或任何其他类型的媒体软件应用程序。媒体应用程序322可从回放设备320上的本地媒体库获得供回放设备320回放的媒体。媒体应用程序322可从远程源诸如互联网媒体服务获得供回放设备320回放的媒体。媒体应用程序322可通过将媒体流发送至媒体服务器324而使得回放设备320呈现媒体。例如,媒体服务器324可以是管理回放设备320上媒体项的回放的软件服务。因此,媒体服务器324可向回放设备320的媒体呈现部件(例如,扬声器、显示器等)提供界面。
50.在一些具体实施中,回放设备320可包括媒体遥控器326。例如,媒体遥控器326可以是允许远程控制媒体服务器324的软件服务器或服务。遥控设备(例如,遥控设备310)可从媒体遥控器326请求回放状态信息并将媒体回放控制设置发送至媒体遥控器326。媒体遥控器326可与媒体服务器324通信,以获得回放状态信息并且/或者向媒体服务器324提供回放控制设置。
51.在一些具体实施中,回放设备320可包括媒体接收器328。例如,媒体接收器320提供网络接口和/或逻辑接口,用于从其他计算设备接收媒体流和遥控请求。媒体接收器328与会话管理器330一起工作以将消息路由至/自连接的外部设备,诸如遥控设备310。例如,会话管理器330管理用于流式传输回放设备320的媒体连接和控制连接的网络和/或逻辑通信信道。会话管理器330可维护信道或连接的数据库。例如,当计算设备连接到媒体接收器320时,会话管理器330可存储标识连接类型(例如,流式/主连接或遥控连接)和进行连接的计算设备的标识符(例如,令牌)的信息。由于回放设备320可仅具有一个主连接(例如,传入的流式连接),因此会话管理器330可存储描述单个主连接以及可能的多个控制连接的信息。媒体接收器328和/或会话管理器330可使用此连接数据将控制消息和/或流媒体路由至与回放设备320连接的各种设备。
52.在一些具体实施中,系统300可包括遥控设备310。例如,遥控设备310上的媒体遥控器312(例如,软件服务)可被配置为在遥控设备310的显示器上呈现上述图形用户界面100和/或200。为了获得生成gui 100和gui 200所需的回放状态信息,遥控设备310必须连接到包括回放设备320的邻近回放设备。例如,遥控设备310可检测由回放设备320广播的通告消息,该通告消息指示回放设备320可用于接收流式回放。基于接收到的通告,媒体遥控器312可从回放设备320请求状态信息。例如,媒体遥控器312可向遥控设备310上的媒体服务器314发送消息,指示媒体服务器314应从回放设备320请求状态信息。媒体服务器314可向回放设备320上的媒体接收器328发送消息,该消息请求回放状态。该消息可指示该请求是控制请求(例如,与流请求相反),使得该请求不会劫持流媒体通信信道并使得回放设备320停止播放当前播放的媒体。该消息可包括标识请求遥控设备310的令牌或标识符。
53.在一些具体实施中,媒体接收器328可使得会话管理器330存储通信信道信息,使得后续消息可路由至遥控设备310。例如,该通信信道信息可包括信道类型(例如,控制、流式传输)和信道标识符(例如,与请求设备相关联的标识符)。在媒体接收器328接收到回放状态请求之后,媒体接收器328可将请求发送至媒体遥控器326。媒体遥控器326可从媒体服务器324获得回放状态信息并将回放状态信息发送至媒体接收器328。例如,回放状态信息可包括关于正在播放的媒体项的描述性信息(例如,标题、艺术作品、艺术家、长度等)。回放状态信息可指示回放设备320正在播放的媒体项内的当前定位或位置。回放状态信息可包括描述媒体应用程序322和/或回放设备320的能力和/或特征的信息,使得媒体遥控器312可生成并呈现适当的用户界面控件。然后,媒体接收器328可通过先前建立的控制通信信道将回放状态信息发送至遥控设备314上的媒体服务器314。媒体服务器314可将回放状态信息发送至媒体遥控器312。媒体遥控器312可使用从回放设备320接收的回放状态信息来生成gui 100和/或gui 200。
54.在一些具体实施中,在生成gui 100和/或gui 200之后,遥控设备310上的媒体遥控器312可向回放设备310发送回放命令。例如,遥控设备的用户可从由媒体遥控器312生成的图形用户界面之一中选择回放控件(例如,音量、快进、倒回、跳过、暂停等)。媒体遥控器312可检测该控件的选择,并向媒体服务器314发送对应的控制命令。媒体服务器314可将控制命令发送至媒体接收器328,并且媒体接收器可将控制命令发送至媒体遥控器326。然后,媒体遥控器326可使得媒体服务器324执行所指示的媒体控制命令(例如,调整音量、播放、暂停、快进等)。在执行命令之后,媒体遥控器326可将回放状态信息发送回遥控设备310上
的媒体遥控器312,如上所述,使得媒体遥控器312可更新其图形用户界面。
55.图4是用于从遥控设备远程控制回放组的示例系统400的框图。例如,系统400可类似于系统300。然而,在系统400中,回放设备320不仅播放媒体项(例如,通过本地扬声器),而且还将媒体项流式传输到回放设备410和回放设备420以进行同步回放。因此,回放设备320、回放设备410和回放设备420形成回放设备的组(例如,动态或持久)。根据配置,该组可以是动态的或持久的,如下文进一步描述的。回放设备410和/或420可类似于回放设备320进行配置。回放设备410和/或420可具有相同的特征(例如,所有无线扬声器)或可具有不同的特征(例如,机顶盒和无线扬声器)。
56.在一些具体实施中,遥控设备310可以与回放设备320类似的方式连接到回放设备410和/或回放设备420并从该回放设备接收回放状态信息。例如,尽管回放设备320的所有部件均未在回放设备410和回放设备420中表示,但这些部件存在于这些回放设备内。因此,遥控设备310可建立到回放设备410上的媒体接收器412和回放设备420上的媒体接收器422的静噪控制信道,并使用如上针对回放设备320所述的类似机制来接收回放状态信息。因为回放设备320是向回放设备410和回放设备420流式传输媒体的设备,所以回放设备320将与回放设备410上的媒体接收器412和回放设备420上的媒体接收器422建立流式通信信道(例如,主信道)。
57.在一些具体实施中,遥控设备310将仅发送控制命令至回放设备320(例如,主要设备、主设备等)。例如,尽管遥控设备310与所有三个回放设备建立网络连接,但是遥控设备仅将信息请求和命令发送到控制媒体项的回放的主要或主回放设备(例如,可发现的流式设备)。遥控设备310可基于由每个回放设备提供给遥控设备310的组成员属性来确定主要回放设备。例如,当遥控设备310与每个回放设备建立网络连接时,可从每个回放设备向遥控设备310发送组成员属性。
58.组成员属性可包括组标识符。组标识符可由主要回放设备分配给回放设备。例如,每个回放设备410、420和320最初可被认为是一组中的一个,其中每个回放设备是该组中的主要设备,并且每个设备具有不同的组标识符。当用户命令回放设备320将媒体流传输到回放设备410和回放设备420时,回放设备320可将其组标识符推送到回放设备410和420,使得它们也具有相同的组标识符。
59.组成员属性可包括组领导者标记。例如,如果回放设备(例如,回放设备320)是组领导者(例如,主要回放设备),则组领导者标记将被设置为真。如果回放设备(例如,回放设备410)不是组领导者,则组领导者标记将被设置为假。因此,遥控设备310上的媒体遥控器312可基于从回放设备接收到的组领导者标记来快速识别主要回放设备。
60.组成员属性可包括指示组领导者是否可被发现的标记。例如,一些流式设备是可发现的(例如,无线扬声器、机顶盒、电视等),并且一些流式设备是不可发现的(例如,单个用户设备、智能电话、平板电脑等)。组领导者可发现标记指示是否可由遥控设备310直接到达组领导者(例如,主要回放设备、流式设备等)。如果流式设备不可发现,则下文所述的转发机制之一将用于将消息、请求或命令传递到不可发现的流式设备。
61.在一些具体实施中,组成员属性可包括指示回放设备是否支持将消息中继到不可发现的流式设备(例如,主要设备或主设备)的标记。如果该标记被设置为真,则回放设备可用于将消息从遥控设备310转发至不可发现的流式设备,如下所述。在描述持久组时,可在
下文描述附加的组成员属性。
62.在一些具体实施中,媒体遥控器312可将一组回放设备呈现为gui100和/或gui 200上的单个实体,如上所述。例如,当遥控设备310从回放设备320、回放设备410和回放设备420接收到组成员属性时,媒体遥控器312可确定所有三个回放设备具有相同的组标识符并且因此属于同一回放组。因此,代替在gui 100和/或gui 200上呈现三个不同的回放设备,媒体遥控器312将呈现单个回放组图形元素(例如,图形元素130、图形元素140)以表示所有三个设备。
63.当用户向gui 200上的回放控件提供输入以调节回放组的媒体回放(例如,音量、播放、暂停、跳过等)时,媒体遥控器312将向主要回放设备(例如,回放设备320)发送调节媒体回放的命令,如回放组成员属性所指示的。在接收到命令时,主要回放设备320将针对回放组的所有成员调节媒体回放。例如,主要回放设备320将使得辅助回放设备410和420根据从媒体遥控器312接收的命令来调节回放。
64.上面的图3和图4描述了回放和遥控架构,其中主要回放设备(例如,流式设备、主设备等)可通过遥控设备310直接到达。例如,回放设备320是可达的,因为它通告其存在和接受控制和/或流式连接的能力。下面的图5描述了回放和遥控架构,其中主要回放设备(例如,流式设备、主设备等)不可通过遥控设备310直接到达。在这种情况下,遥控设备310依赖于回放设备(例如,回放设备320),使用由主要回放设备建立的流式连接将请求和命令中继或转发到主要回放设备。
65.图5是用于从遥控设备远程控制不可发现的回放设备的示例系统500的框图。如上所述,不可发现的回放设备可以是不通告其存在并且其中不能由另一设备发起与不可发现设备的连接的计算设备。
66.在一些具体实施中,系统500可包括遥控设备310、回放设备320和/或流式设备510。例如,流式设备510可以是不可发现的设备。流式设备510可以是具有类似于遥控设备310的特征的计算设备。例如,流式设备510可以是将媒体流传输到回放设备320的流式设备和连接到其他回放设备(未示出)的遥控设备。
67.在一些具体实施中,流式设备510可包括媒体应用程序512。例如,媒体应用程序512可以是被配置为从流式设备510上的本地媒体库或从网络资源(如网络媒体服务)播放媒体的应用程序。流式设备510的用户可向媒体应用程序512提供输入以使得媒体应用程序512将媒体流传输到回放设备320。媒体应用程序512可向媒体服务器514发送请求以与回放设备320建立流式连接(例如,主连接)。媒体服务器514可通过向回放设备320上的媒体接收器328发送建立流式连接的请求来建立流式连接。如果另一个流式设备已经将媒体流传输到回放设备320,则媒体接收器328可终止现有的流式连接并与流式设备510建立流式连接。因此,流式设备510有效地劫持到回放设备320的流式连接。在建立流式连接(用带箭头的粗线表示)之后,会话管理器330可存储指示连接类型(例如,流式连接或主连接)的连接信息和用于连接的标识符(例如,用于流式设备510的设备标识符)。
68.在建立到媒体接收器328的流式连接之后,媒体应用程序512可将媒体数据发送到媒体服务器514,并且媒体服务器514可将媒体数据(例如,歌曲、电影、电视节目、播客等)流传输到媒体接收器328。媒体接收器328可将流媒体数据发送到媒体服务器324,并且媒体服务器324可使得媒体数据由回放设备320呈现(例如,通过扬声器、显示器等)。在一些具体实
施中,如果回放设备320是回放组的一部分,则回放设备320可将流媒体发送到该组中的其他回放设备以进行回放。在一些具体实施中,如果回放设备320是回放组的一部分,则流式设备510可将流媒体直接发送到该组中的其他回放设备以进行回放。流式设备510可基于上述组属性信息来确定作为同一组的成员的回放设备。
69.在一些具体实施中,回放设备320将消息从遥控设备310中继到流式设备510。如上所述,由于流式设备510是不可发现的,因此遥控设备310不能将控制消息直接发送到流式设备510。为了获得回放状态信息并将回放命令发送到流式设备510,遥控设备310可将用于主设备(例如,流式设备510)的请求和命令发送到回放设备320,并且回放设备320可将所述请求和命令转发到流式设备510。
70.如上所述,媒体遥控器312可从回放设备320接收组属性信息。如果组属性指示组领导者是不可发现的并且回放设备320支持将请求中继到组领导者(例如,流式设备510),则媒体遥控器312可确定遥控请求和命令应通过回放设备320被路由到流式设备510。
71.在一些具体实施中,遥控设备310上的媒体遥控器312可向媒体服务器314发送请求以获得对应于回放设备320的回放组的回放状态信息。媒体接收器328可确定由于回放设备320不是组领导者(例如,主设备),因此该请求应被转发到流式设备510。媒体接收器328可将对回放状态信息的请求连同用于为遥控设备310建立的控制信道的标识符一起发送到流式设备510上的媒体服务器514。媒体服务器514可将回放状态请求发送到流式设备510上的媒体遥控器516。媒体遥控器516可确定回放状态信息并将回放状态信息连同用于与遥控设备310相关联的控制信道的标识符一起发送到回放设备320上的媒体接收器328。媒体接收器328可使用标识符来确定由会话管理器330管理的哪个控制信道用于将回放状态信息发送到遥控设备310。在确定正确的控制信道之后,媒体接收器328可将回放状态信息发送到遥控设备310上的媒体服务器314。媒体服务器314可将回放状态信息发送到遥控设备310上的媒体遥控器312,使得媒体遥控器312可生成并呈现具有由流式设备510提供的状态信息的gui 100和/或gui 200。
72.在一些具体实施中,媒体回放控制命令可以与回放状态信息请求类似的方式通过回放设备320从遥控设备310被路由到流式设备510。当流式设备510上的媒体遥控器516接收到回放控制命令时,媒体遥控器516可在本地(例如,在流式设备510上)执行命令并且使得所有回放设备被流传输到(例如,回放设备320)以执行相同的命令。然而,在一些情况下,由回放设备320转发的媒体回放控制命令可在回放设备320处被拦截和执行。例如,代替等待从通过回放设备320路由的流式设备510接收“暂停”命令,回放设备320可在该暂停命令通过回放设备320从遥控设备310被路由到流式设备510时拦截该暂停命令并执行该暂停命令。因此,与回放设备320等待从流式设备510接收暂停命令相比,回放设备320可更快地停止播放当前播放的媒体。
73.图6是用于管理动态回放设备组的示例系统600的框图。在一些具体实施中,系统600可类似于上述系统300、400和500进行配置。例如,系统600可包括遥控设备310和回放设备610、620和/或630。回放设备610、620和/或630可类似于上述回放设备320进行配置。例如,回放设备610、620和/或630可使用有线或无线网络广播来通告其可用性。回放设备610、620和/或630可通告它们提供的服务,诸如上述的流式媒体接收器和消息中继服务。
74.在接收到通告消息之后,遥控设备310可与回放设备610、620和/或630中的每一个
建立网络连接(例如,有线、无线、对等、wi

fi等)。这些网络连接可被维持(例如,是持久的),即使逻辑连接的类型(例如,主连接、控制连接、流式连接等)和/或到这些回放设备或通过这些回放设备的数据路由可能改变。维持与这些回放设备中的每一个的持久网络连接允许遥控设备310适应动态变化的网络拓扑(例如,变化的回放组)而不必承担拆卸和重新建立网络连接的费用(例如,时间费用和处理费用),如果遥控设备310仅与组中的主要回放设备建立网络连接,则可能需要拆卸和重新建立网络连接。
75.在一些具体实施中,遥控设备310可存储和维护回放设备池602。例如,设备池310可以是存储描述或标识到每个回放设备(例如,回放设备610、620、630)的每个网络连接的信息的数据库。设备池310可存储由每个回放设备报告的所有回放组属性(例如,动态和/或持久组属性)。例如并且如上面简要描述的,每个回放设备可在与遥控设备310建立网络连接时和/或这些回放组属性改变的任何时候向遥控设备310报告(例如,广播、通告等)其回放组属性。
76.在一些具体实施中,回放组属性可包括标识回放设备所属的动态回放组或多个动态回放组的组标识符。回放组属性可包括组领导者标记,其在被设置为真时指示报告回放设备是动态回放组的领导者或主要设备。回放组属性可包括指示动态回放组领导者是否可发现的标记(例如,真、假),如上所述。回放组属性可包括以下标记:其在被设置为真时指示报告回放设备支持将消息中继到不可发现的组领导者(例如,主设备、流式设备、单个用户设备等)/从该不可发现的组领导者中继消息。
77.在一些具体实施中,回放组属性可包括持久组属性。例如,持久组属性可包括持久组标识符,其可用于标识属于同一持久组的回放设备(例如,立体声回放设备对、环绕声回放设备组)。在一些具体实施中,具有相同持久组标识符的回放设备可被视为就像它们是单个设备一样,如上所述。持久组属性可包括持久组领导者标记,其指示报告回放设备是持久组内的领导者还是主要设备。持久组属性可包括组成员是可达标记,其指示是否所有其他持久组成员都是可达的。在为立体声回放设备对(例如,两个设备的持久组)的情况下,当组成员是可达标记被设置为假时,这指示持久组中的另一个回放设备是不可达的。在为环绕声扬声器组(例如,两个以上回放设备的持久组)的情况下,当组成员是可达标记被设置为假时,这指示持久组中的至少一个其他回放设备是不可达的。该可达标记可对流式媒体和/或控制消息路由产生影响,如下面进一步描述。
78.在从每个连接的回放设备(例如,回放设备610、620、630等)收集组属性之后,遥控设备310上的媒体遥控器312可基于存储在设备池602中的回放组属性来确定如何对报告回放设备进行分组。例如,回放设备610可报告回放组标识符值为一(1)、组领导者标记值为真并且组领导者是可发现标记值为真以及其他组属性。回放设备620可报告回放组标识符值为一(1)、组领导者标记值为假并且组领导者是可发现标记值为真以及其他组属性。回放设备630可报告回放组标识符值为二(2)、组领导者标记值为真并且组领导者是可发现标记值为真以及其他组属性。
79.基于这些报告的组属性,媒体遥控器312可确定回放设备610和回放设备620是同一回放组640的成员,因为它们报告了相同的回放组标识符(例如,回放组标识符=1)。媒体遥控器312还可基于回放设备610报告回放组领导者标记值为真的事实来确定回放设备610是组领导者。因此,可在回放设备610和遥控设备310之间建立逻辑控制信道,使得回放组
640的回放状态和回放控制请求可被引导到回放设备610,因为回放设备610是组640中的领导者或主要设备。媒体遥控器312还可确定回放状态和控制请求可被直接路由到回放设备610,例如而不是通过另一个设备转发或中继,因为由回放设备610报告的回放组领导者是可发现标记的值为真。
80.类似地,媒体遥控器312可自己确定回放设备630在组650中,因为回放设备630是唯一报告值为二(2)的回放组标识符的回放设备。媒体遥控器312可基于回放设备610报告回放组领导者标记值为真的事实来确定回放设备630是回放组650的组领导者。因此,可在回放设备630和遥控设备310之间建立逻辑控制信道,使得回放组650的回放状态和回放控制请求可被引导到回放设备630,因为回放设备630是组650中的领导者或主要设备。媒体遥控器312还可确定回放状态和控制请求可被直接路由到回放设备630,例如并非通过另一个设备转发或中继,因为由回放设备610报告的回放组领导者是可发现标记的值为真。
81.如上所述,单个回放设备可属于多个动态回放组。例如,回放设备610和回放设备620可报告指示它们属于同一动态回放组640的组属性。回放设备620和回放设备630可报告指示它们属于与组640不同的同一动态回放组的组属性。因此,回放设备620可属于两个不同回放动态组并报告所述两个不同回放动态组的组属性。
82.在媒体遥控器312基于所报告的回放组属性确定回放组之后,媒体遥控器312可基于所确定的回放组生成gui 100和/或gui 200。然后,遥控设备310的用户可使用上文关于图1和图2描述的用户界面特征来查看与回放组相关的回放状态信息并且/或者控制回放组正在播放的媒体的回放。
83.在一些具体实施中,可动态地重新组织回放组。例如,用户可向遥控设备310、回放设备(例如,回放设备610、620或630)和/或流式设备510提供输入以将回放设备组合或分割成新组或不同组。例如,用户可向回放设备630提供输入,指示回放设备630应将媒体流传输到回放组640(或各个回放设备610和620)。响应于该输入,回放设备630可将其回放组标识符和组领导者可发现标记推送到回放设备610和620。回放设备610和620可改变其回放组标识符以匹配回放设备630的组标识符。回放设备610和620可改变其回放组领导者可发现标记以匹配由回放设备630提供的标记。回放设备610先前是回放组640的组领导者,可将其回放组领导者标记更改为假以指示其不再是组领导者。
84.在改变这些回放组属性之后,回放设备610、620和/或630可向遥控设备312报告回放属性,并且遥控设备310可将回放组属性存储在设备池602中,如上所述。在遥控设备310处从回放设备610、620和/或630接收到更新的回放组属性之后,媒体遥控器312可基于所报告的回放组属性确定回放设备610、620和/或630现在属于同一回放组(例如,回放组650)并且回放设备630是该回放组中的主要回放设备。然后,媒体遥控器312可重新配置gui 100和/或gui 200以表示新的回放组拓扑,并且将回放组650的回放状态信息请求和/或回放命令发送到主回放设备即回放设备630。因此,可动态配置和重新配置回放组,并且媒体遥控器可动态配置和重新配置远程控制回放组所需的gui。
85.在一些具体实施中,遥控设备310可以是类似于上述流式设备510的流式设备。遥控设备310的用户可向遥控设备310提供输入以将媒体流传输到回放组650(现在包括回放设备610、620和630)。在一些具体实施中,遥控设备310可将媒体仅流传输到回放组650中的主要回放设备(例如,回放设备630),并且该主要回放设备可将接收的媒体流传输到该组中
的其他回放设备。在一些具体实施中,遥控设备310可将媒体直接流传输到回放组650中的每个回放设备,并且避免将媒体流从主要回放设备转发到回放组中的其他回放设备所涉及的延迟和连接问题。
86.图7是用于管理持久回放组的示例系统700的框图。例如,系统700可对应于上述系统600。系统700可包括遥控设备310和回放设备710、720和/或730。如上所述,遥控设备310可与每个回放设备710、720和730建立网络连接。每个回放设备可向遥控设备310报告其回放组属性,包括持续组属性。遥控设备310可将回放组属性、网络连接标识符、控制信道标识符和/或流式标识符存储在设备池602中。
87.在一些具体实施中,由回放设备710、720和/或730报告的回放组属性可包括持久组属性。例如,用户可将两个或更多个设备配置为持久组。例如,用户可将持久组配置为作为立体声智能扬声器对操作。用户可将持久组配置为作为环绕声系统(例如,5.1环绕声)操作。
88.在一些具体实施中,持久组属性可包括持久组标识符。与动态回放组类似,可为作为持久回放组的成员的回放设备分配相同的持久组标识符。例如,最初,各个回放设备可各自具有唯一的持久组标识符。当回放设备被组合成持久回放组时,回放设备中的一个(例如,用户正在与之交互以创建持久回放组的回放设备)的回放组标识符可被推送到持久回放组中的其他回放设备,使得持久回放组中的所有回放设备具有相同的持久组标识符。如果用户向持久组标识符为10的回放设备710提供输入以创建具有回放设备720的持久回放组,则回放设备710可将持久组标识符10发送到回放设备720并且回放设备720可将其持久组标识符更改为10。因此,回放设备710和回放设备720可被配置为立体声对(例如,扬声器对),并且都可被分配持久组标识符10。当媒体遥控器312分析设备池602中的数据时,媒体遥控器312可确定回放设备710和回放设备720具有相同的持久组标识符,并且可确定回放设备710和回放设备720形成持久组740。然后,媒体遥控器312可在gui 100和/或gui 200上呈现持久组740,就像持久组740是单个设备一样。
89.在一些具体实施中,持久组属性可包括指示报告回放设备是否为持久组领导者的标记。媒体遥控器312可使用领导者标记来确定持久组中的哪个回放设备发送控制请求(例如,信息请求、控制命令等)。例如,即使遥控设备310保持到每个回放设备的网络连接,媒体远程信息请求和/或命令也会被引导到每个持久组中的领导者(例如,主要设备、主设备等)。
90.在一些具体实施中,持久组属性可包括组成员是可达标记,其指示报告回放设备是否可达持久组中的其他回放设备。例如,持久组的成员可监视持久组的其他成员的可用性。例如,回放设备710可与回放设备720建立控制连接。如果回放设备720被拔出、移动或以其他方式不可用,则回放设备710将确定回放设备720不可达并且将其组成员是可达标记设置为假。在改变该持久组属性(或任何组属性)之后,回放设备710将向遥控设备310报告更新的组属性。然后,媒体遥控器312可更新其gui以反映持久回放组的状态变化。
91.在一些具体实施中,持久组可以是动态回放组内的回放设备。例如,可将持久组740添加到动态回放组750,其中回放设备730是动态回放组内的主要设备。在将持久组740添加到动态组750时,回放设备730的动态组标识符可被推送到回放设备710和720,如上文参考图6所述。然而,回放设备710和720将具有与回放设备730不同的持久组标识符(例如,
标识符10)。因此,回放设备710和回放设备720将被视为动态组750内的持久组740。
92.持久组和动态组之间的这种差异可能导致每个回放设备呈现媒体项的方式有所不同。例如,媒体项(例如,音乐曲目、电影等)可由不同的音频/视频信道(例如,左、右、左前、前中、右前、右后、左后、低音炮等)组成。当被组合成持久组时,回放设备可仅呈现一个信道。例如,在立体声对持久组740中,回放设备710可被配置为播放音乐媒体项的右音频信道,而回放设备720可被配置为播放相同音乐媒体项的左音频信道,从而创建立体回放。类似地,在具有六个回放设备的5.1环绕声持久组配置中,每个回放设备可被配置为呈现与电影媒体项原声带相关联的六个音频信道(例如,左前、前中、右前、右后、左后、低音炮等)中的一个。这与回放设备730将如何表现不同,因为回放设备730不是持久组的一部分。当相同的音乐媒体项被流传输到回放设备730时,回放设备730将呈现音乐媒体项的所有音频信道。
93.在一些具体实施中,当持久组的成员不可达时,其余成员恢复到非持久组行为。例如,在立体声对持久组740中,回放设备710可被配置为播放音乐媒体项的右音频信道,而回放设备720可被配置为播放相同音乐媒体项的左音频信道,从而创建立体回放。如果回放设备720变得不可达,则回放设备710可恢复到非持久组行为并播放音乐媒体项的所有音频信道(例如,右音频信道和左音频信道)。当回放设备720再次变得可达时,回放设备710和回放设备720可动态地返回到播放右频信道和左音频信道作为立体声对持久组。对应于5.1环绕声配置的持久回放组中的回放设备可类似于立体声对持久组表现。
94.在一些具体实施中,持久组可包括流式设备(例如,流式设备510)。例如,持久组可包括流式设备510(例如,机顶盒、流式媒体播放器等)和一个或多个回放设备。流式设备510可被配置为持久组中的主要回放设备。在一些具体实施中,回放设备可对应于持久回放组(例如,立体声对、5.1环绕声等)。因此,持久组可被配置为模拟包括视频(例如,机顶盒、电视等)和立体声或环绕声音频输出的有线家庭娱乐系统的功能。此外,通过将流式设备510和回放设备配置到持久组中,每当由流式设备510呈现的任何媒体项提供音频输出时,来自流式设备510的音频输出将被路由到回放设备。因此,持久组中的回放设备可回放媒体项,就像它们是单个设备一样。
95.在一些具体实施中,持久组内的回放设备是不可分离的。例如,如果回放设备710和回放设备720都是可达的并且正常工作,则回放设备710和回放设备720都将一起回放媒体项或根本不回放媒体项。例如,如果回放设备710正在播放音乐媒体项,则回放设备720将播放相同的音乐媒体项。如果回放设备710接收到暂停回放的命令,则回放设备720上的回放也将暂停。如果到回放设备720的连接被劫持(例如,流式设备开始将媒体流传输到回放设备720),则到回放设备710的连接也将被劫持。持久组的这种行为确保了持久组中的回放设备充当单个回放设备。
96.在一些具体实施中,较旧版本的遥控设备310可能无法基于从回放设备接收的组属性来确定动态和/或持久组。因此,代替在gui 100和/或gui200上为每个回放组(例如,动态或持久)呈现一个图形元素,较旧的遥控设备可在gui 100和/或gui 200上单独地表示每个回放设备,如上所述。为了避免单独呈现组的成员,回放设备可被配置为使得回放组中的仅主要回放设备(例如,组领导者、主要设备、主设备等)通告其可用性并连接到遥控设备。在该方法的另一变型中,主要回放设备可被配置为使用较旧的设备被配置为接收的通告消
息来向较旧的遥控设备通告,而回放组中的辅助回放设备使用仅较新的遥控设备被配置为接收的通告消息来向新的遥控设备(例如,遥控设备310)通告。因此,较新的遥控设备可被配置为接收旧的和新的通告消息,并基于它们接收的回放属性生成和呈现回放组,而较旧的遥控设备将仅呈现每个回放组中可在呈现gui 100和gui 200时用作回放组的代理的主要回放设备,如上所述。
97.图8是用于将媒体项流传输到持久组的系统800的框图。在一些具体实施中,流式设备可以各种方式与持久组进行交互。例如,系统800可对应于上述任何系统。系统800可包括流式设备802(例如,对应于流式设备510)和/或回放设备810和820(例如,对应于回放设备320)。流式设备802可具有如上所述的遥控设备310的所有相同能力,并且因此能够确定或检测动态和持久回放组。
98.在图8的示例中,回放设备810和820可被配置为持久组830(例如,立体声对)。基于其软件和/或硬件配置,流式设备802可能够流传输到仅一个回放设备,或者流式设备802可能够同时流传输到多个回放设备。在图8的示例中,流式设备802能够同时将媒体项流传输到多个回放设备。因此,当流式设备802的用户提供指示流式设备802应将媒体项流传输到持久组830的输入时,流式设备802的集群管理器804可建立和管理到回放设备810和回放设备820两者的流式连接。当建立流式连接时,集群管理器812和/或集群管理器822可确定(例如,基于由流式设备802提供的软件或硬件版本信息)流式设备802能够同时流传输到多个回放设备并且不会尝试将媒体流转发到持久组830中的其他回放设备。
99.如上所述,当回放设备810和820被配置为立体声对时,一个回放设备(例如,回放设备810)可被配置为呈现流媒体项的左音频信道,并且另一个回放设备(例如,回放设备820)可被配置为呈现流媒体项的右音频信道。如果永久组830中的回放设备810变得不可达(例如,被拔出、移出范围等),则回放设备820可检测回放设备810的不存在并自动播放左音频信道和右音频信道。当回放设备810再次变得可达时,回放设备820可检测到回放设备810是可达的并向流式设备802发送消息以使得流式设备802重新连接到回放设备810。然后,回放设备820可自动恢复仅呈现右音频信道,并且回放设备810可恢复播放从流式设备802流传输的媒体项的左音频信道。
100.图9是用于将媒体项流传输到持久组的系统900的框图。在一些具体实施中,流式设备可以各种方式与持久组进行交互。例如,系统900可对应于上述任何系统。系统900可包括流式设备902(例如,类似于流式设备510配置)和/或回放设备810和820(例如,类似于回放设备320配置)。流式设备802可具有如上所述的遥控设备310的所有相同能力,并且因此能够确定或检测动态和持久回放组。
101.在图9的示例中,回放设备810和820可被配置为持久组830(例如,立体声对)。基于其软件和/或硬件配置,流式设备902可能够流传输到仅一个回放设备,或者流式设备902可能够同时流传输到多个回放设备。在图9的示例中,流式设备902能够一次将媒体项流传输到仅一个回放设备。因此,当流式设备902的用户提供指示流式设备902应将媒体项流传输到持久组830的输入时,流式设备902将建立到持久组830中的领导者或主要回放设备即回放设备820的流式连接。当建立流式连接时,集群管理器822可确定(例如,基于由流式设备902提供的软件或硬件版本信息)流式设备902不能同时流传输到多个回放设备并且会将媒体流转发到持久组830中的其他回放设备(例如,回放设备810)。
102.如上所述,当回放设备810和820被配置为立体声对时,一个回放设备(例如,回放设备810)可被配置为呈现流媒体项的左音频信道,并且另一个回放设备(例如,回放设备820)可被配置为呈现流媒体项的右音频信道。如果永久组830中的回放设备810变得不可达(例如,被拔出、移出范围等),则回放设备820可检测回放设备810的不存在,将停止将媒体流转发到回放设备810,并将自动开始播放左音频信道和右音频信道。当回放设备810再次变得可达时,回放设备820可检测到回放设备810是可达的并恢复将媒体流转发到回放设备810。然后,回放设备820可自动恢复仅呈现右音频信道,并且回放设备810可恢复播放从流式设备902流传输的媒体项的左音频信道。
103.图10是用于呈现从持久组内的主要回放设备流传输的媒体项的系统1000的框图。例如,系统1000可对应于上述任何系统。系统1000可包括回放设备810和820(例如,类似于回放设备320配置)。回放设备810和/或820可具有如上所述的遥控设备310的所有或一些相同能力,并且因此能够确定和/或检测动态和持久回放组。
104.在图10的示例中,回放设备810和820可被配置为持久组830(例如,立体声对、5.1环绕声配置等)。当用户向回放设备810提供输入(例如,语音输入、触摸输入等)以使得回放设备810开始播放媒体项(例如,来自内部媒体应用程序、媒体应用程序322等)时,回放设备810可变成持久组830中的主要回放设备。然后,回放设备810上的集群管理器812可控制或管理到持久组内的回放设备(例如,回放设备820)的流式连接和/或管理将媒体项流传输到回放设备820。
105.在一些具体实施中,在持久组内,接收用户输入的回放设备变成持久组内的主要回放设备。由于集群管理器负责管理持久组内的设备,因此集群管理器仅在主要设备上运行。因此,集群管理器可根据持久组中用户选择与之交互的回放设备在不同的回放设备上运行。集群管理器被配置为使得当主要回放设备正在播放媒体项时,集群管理器使得持久组中的其他回放设备也播放该媒体项,只要其他回放设备可用或可达。
106.如上所述,当回放设备810和820被配置为立体声对时,一个回放设备(例如,回放设备810)可被配置为呈现流媒体项的左音频信道,并且另一个回放设备(例如,回放设备820)可被配置为呈现流媒体项的右音频信道。如果永久组830中的回放设备810变得不可达(例如,被拔出、移出范围等),则回放设备820上的集群管理器822可检测回放设备810不存在,将使回放设备820停止将媒体流流传输到回放设备810,并将使回放设备810自动开始播放左音频信道和右音频信道。当回放设备810再次变得可达时,回放设备822上的集群管理器820可检测到回放设备810是可达的并恢复将媒体流流传输到回放设备810。然后,回放设备820可自动恢复仅呈现右音频信道,并且回放设备810可恢复播放从回放设备820流传输的媒体项的左音频信道。
107.图11是用于同步回放组中的回放设备之间的回放恢复的示例系统1100的框图。例如,系统1100可对应于上述任何系统。系统1100可包括回放设备810和820(例如,类似于回放设备320配置)。回放设备810和/或820可具有如上所述的遥控设备310的所有或一些相同能力,并且因此能够确定和/或检测动态和持久回放组。系统1100可包括流式设备1102。流式设备1102可对应于上述流式设备510。流式设备1102可对应于回放设备,诸如上述回放设备320、810或820。可使用上述任何机制将媒体项从流式设备510流传输到回放组830。
108.在一些具体实施中,流式设备1102可同步回放设备之间的回放恢复。例如,当将媒
体流传输到回放设备810和820时,流式设备1102可比回放设备可播放媒体数据更快地将媒体数据发送到回放设备。因此,每个回放设备810和820可在媒体数据被接收时将媒体数据存储在相应的缓冲器1110和1120中,并根据定义的时间线或速度呈现媒体数据,以便同步来自回放设备810和820的音频和/或视频输出。
109.当用户向流式设备1102提供输入(例如,触摸、语音等)以暂停流媒体项的回放时,流式设备1102可向每个回放设备810和820发送命令以停止媒体数据的回放。然而,由于网络延迟问题或接收停止命令的延迟的其他原因,回放设备810可停止媒体项在对应于缓冲器1110中的位置1112的媒体样本处的回放,并且回放设备820可停止媒体项在对应于缓冲器1120中的位置1122的媒体样本处的回放。例如,位置1112可对应于进入媒体项中的时间1:00(例如,一分钟)处的媒体样本,而位置1122可对应于进入媒体项中的1:05处的媒体样本。由于播放的媒体样本从缓冲器中移除,因此回放设备820不具有从位置1112(例如,时间指标1:00)恢复回放所需的媒体样本。因此,如果从位置1112恢复回放,则回放设备820将为静音,直到回放设备810到达位置1122(例如,时间指标1:05)。
110.为了避免回放组830中的回放设备810在回放组830中的回放设备820静默时播放的情况,可以从缓冲器1110和1120中的位置恢复回放,其中回放设备810和820均具有可用的媒体样本。为了实现这一点,响应于从流式设备1102接收到暂停命令,每个回放设备810和820可以报告在其各自的缓冲器1110和1120内它们各自实际停止回放的位置。换句话讲,每个回放设备810和820可以报告它们在其各自的缓冲器1110和1120中的第一可用媒体样本。例如,回放设备810可以向流式设备1102发送在缓冲器1110中的位置1112处的媒体样本的标识符(例如,时间索引)。回放设备820可以向流式设备1102发送在缓冲器1120中的位置1122处的媒体样本的标识符(例如,时间索引)。
111.在一些具体实施中,流式设备可以生成恢复回放命令,该恢复回放命令包括用于锚定回放时间线的时间索引和网络时间,以及用于播放可听声音的时间索引,使得媒体项在每个回放设备810和830处的回放同步。例如,锚定时间索引可以用于识别媒体缓冲器1110和1120中的媒体项样本。可以选择锚定时间索引,使得它发生在由回放组830中的每个回放设备报告的最新(例如,最大)时间索引处或之后。继续上文的示例,由于回放设备820报告了上一次播放的样本的时间索引1:05(例如,对应于位置1122),并且回放设备810报告了上一次播放的样本的时间索引1:00(例如,对应于位置1112),流式设备1102可以选择1:05或更晚的锚定样本时间索引。
112.流式设备1102还可以选择用于回放时间线的锚定网络时间。例如,当流式设备1102接收到指示用户希望恢复回放的用户输入时,流式设备1102可以选择靠近当前时间的网络时间。
113.流式设备1102还可以选择用于开始媒体项的可听(和/或视觉)回放的呈现样本时间索引。例如,如果流式设备1102已经确定在网络时间“t”处,锚定样本时间索引为1:10,则媒体项的回放时间线可以从网络时间t处的样本时间索引1:10开始。然而,不必进行媒体项的可听和/或视觉回放,直到由确定的呈现样本时间索引指定的较晚时间(例如,在时间索引1:10)处。当流式设备1102向回放设备810和820发送命令以恢复回放并且指定1:10的锚定样本时间索引和具有1:15的呈现样本时间索引的锚定网络时间“t”时,每个回放设备810和820则可以在网络时间“t”处的样本索引1:10(例如,缓冲器位置1114/1124)处开始其各
自的回放时间线,并且延迟呈现任何音频或视频输出直到样本时间索引1:15(例如,缓冲器位置1116/1126)。这允许设备同步它们的回放时间线,并且还同时开始(恢复)人类可感知的回放。通过指定锚定样本时间索引、锚定网络时间和呈现样本时间索引,流式设备1102可以确保两个回放设备810和820同时恢复回放。
114.图12是用于自动将用户设备与回放设备配对的示例系统1200的框图。例如,系统1200可对应于上述系统中的任一者。由于用户设备(例如,流式设备、遥控设备等)可以通过对等连接(例如,蓝牙、对等wi

fi等)连接到回放设备,因此用户设备通常需要经历配对过程以便连接回放设备。配对过程通常要求,每个用户设备连接到回放设备,并且用户输入代码或密码以与回放设备配对并与之交互(例如,对媒体进行流式传输、获得状态信息等)。通常必须为每个回放设备和每个用户设备重复该配对过程。系统1200可以通过自动配对授权用户设备来减轻将用户设备与回放设备配对的负担。
115.在一些具体实施中,用户设备1210的用户可以生成授权用户数据库1212。例如,用户设备1210可以包括家庭应用程序332,该家庭应用程序允许用户设备1210的用户(例如,房主、家庭管理员等)指定被授权给在用户住宅或其他环境内的用户回放设备(例如,回放设备320)的用户和/或用户设备(例如,用户设备1220)。授权用户数据库1212可以包括用于每个授权用户和/或用户设备的用户标识符和/或设备标识符。如果所识别的用户和/或用户设备已经与一些回放设备配对,则授权用户数据库1212可以包括由配对的回放设备生成和提供的配对令牌。例如,授权用户数据库1212可以包括授权用户设备标识符到对应于为每个授权用户设备标识符生成的配对令牌的映射。然而,当首先在用户设备1210上创建授权用户数据库1212时,授权用户数据库可以不包括任何配对令牌。
116.在一些具体实施中,用户设备1210可以与回放设备320配对。例如,用户设备1210可以从回放设备320接收指示回放设备320可用并且提供一些服务(例如,媒体流式传输、遥控访问等)的通告。用户设备1210可以向用户设备1210的用户呈现指示已经检测到回放设备320的通知。用户设备1210的用户可以向用户设备1210提供输入以发起回放设备320和用户设备1210之间的配对过程。例如,回放设备320可以向用户呈现代码,并且用户可以将代码输入到用户设备1210的用户界面中。用户设备1210可以将代码发送到回放设备320,以验证用户设备1210靠近回放设备320并且应该配对。
117.在一些具体实施中,在与回放设备320配对之后,用户设备1210可以自动地将在授权用户数据库1212中识别到的用户设备与回放设备320配对。为了发起在授权用户数据库1212中识别到的用户设备与回放设备320的配对,用户设备1210可以将授权用户数据库1212发送到回放设备320。例如,用户设备1210可以向回放设备320发送授权用户数据库1212或数据库1212的一部分,该部分包括用于授权用户数据库1212中的授权用户的用户标识符和/或设备标识符。回放设备320可以将所接收到的授权用户数据库1212的部分存储为授权用户数据库1202。然后,回放设备320可以为授权用户数据库1202中的每个识别的用户和/或识别的用户设备生成独特的配对令牌。回放设备320可以将授权用户数据库1202中的配对令牌与每个令牌的相应用户标识符和/或设备标识符相关联地存储。然后,回放设备320可以将包括配对令牌的授权用户数据库1202的副本发送到用户设备1210,以完成配对过程。然后,用户设备1210可以利用从回放设备320接收到的配对令牌来更新授权用户数据库1212,使得授权用户数据库1212中的每个用户标识符和/或用户设备标识符与由回放设
备320为用户标识符和/或用户设备标识符生成的适当配对令牌相关联。
118.在一些具体实施中,用户设备1210可使授权用户数据库1212与其他授权用户设备同步。例如,用户设备1220可为在授权用户数据库1212中识别到的授权用户的授权用户设备。用户设备1210可以将与用户设备1220的用户相关的授权用户数据库1212的一部分(包括由回放设备320生成的配对令牌)发送到用户设备1220。例如,用户设备1220可以接收与用户设备1220的用户相关联的用户标识符、设备标识符和/或配对令牌并将其存储在授权用户数据库1222中。由于用户设备1220的用户不是家庭或环境管理员或所有者,因此用户设备1220将不接收和存储与其他设备的其他用户相关联的用户标识符、设备标识符和/或配对令牌。
119.用户设备1220可以将接收到的授权用户数据库1212存储为授权用户数据库1222,或者利用授权用户数据库1212中的数据和/或令牌更新授权用户数据库1222。在保存或更新授权用户数据库1222之后,数据库1222现在具有由回放设备320为用户设备1220的设备标识符和/或用户设备1220的用户的用户标识符生成的配对令牌。当用户设备1220第一次尝试与回放设备320配对时,用户设备1220可以将配对令牌及其设备标识符和/或用户标识符发送给回放设备320,而不是要求用户通过输入代码或其他输入来参与到配对过程中。当回放设备320从用户设备1220接收到用户标识符或设备标识符以及配对令牌时,回放设备320可以将配对令牌与存储在授权用户数据库1202中的配对令牌进行比较,以验证所接收到的配对令牌与由回放设备320为所识别的用户或设备生成的配对令牌相同。在验证(或确认)配对令牌之后,回放设备320可以允许用户设备1220使用由回放设备320提供的服务。因此,用户设备1220可以与回放设备320配对,而不需要用户参与到配对过程中,因为配对过程是由用户设备1210代表用户设备1220执行的。因此,用户设备1210在代表用户设备1220执行配对过程时,充当用户设备1220的代理。如果配对令牌无法被验证,则回放设备320可以阻止用户设备1220访问回放设备320并且/或者可以发起与用户设备1220的用户交互配对过程,如上所述。例如,当配对令牌与授权用户数据库1202中的令牌不匹配时或者当在授权用户数据库1202中无法找到由用户设备1220提供的用户标识符或设备标识符时,则回放设备320可以发起与用户设备1220的用户交互配对过程,如上所述。
120.图13是用于管理联网回放设备之间的音量变化的示例系统1300的框图。例如,系统1300可对应于上述系统中的任一者。遥控设备1310和/或1320可类似于上述遥控设备310来进行配置。媒体遥控器1312和媒体遥控器1322可以被配置为呈现上述gui 100和/或gui 200,并且可以呈现用于远程控制回放设备320的回放音量的音量控件。媒体遥控器1312和媒体遥控器1322可以利用上述机制来与媒体遥控器1302进行通信,以调节回放设备320和/或其中回放设备320是回放组中的主要或主播放设备的回放组(例如,动态或持久组)上的回放音量。
121.为了减少与音量输入错误相关的网络流量,在一些具体实施中,遥控设备1310可以实现自适应音量变化阈值。例如,可以忽略相对于回放设备320处的音量的遥控设备1310处的音量变化(其中音量差异小于阈值量),并且不发送到回放设备320。小于阈值的音量变化可以被认为是输入错误(例如,与触摸输入的不准确性有关),并且可忽略。该阈值可以是自适应的,使得在较高音量(例如,靠近音量范围的较高端)下的音量变化具有较大变化阈值(例如,音量范围的5%),在发送音量变化之前必须超过该变化阈值;而在较低音量(例
如,接近零音量)下的音量变化具有较小的变化阈值(例如,音量范围的1%),在将音量变化发送到回放设备320之前必须超过该变化阈值。
122.在一些具体实施中,遥控设备1310可在向回放设备320发送音量变化之前实现延迟。例如,遥控设备1310可以在用户停止提供输入以改变音量之后并且在发送音量变化之前高速缓存音量变化一段时间(例如,0.5秒、1秒等),而不是立即向回放设备320发送音量变化。延迟向回放设备320发送音量变化允许用户有时间完成他或她的音量变化决定并且防止立即发送用户可能实际上不想要应用于回放设备320的音量变化。
123.在一些具体实施中,当用户当前正在向音量用户界面控件提供输入时或者当用户最近已经完成向用户界面控件提供输入时,遥控设备1310可以延迟更新音量用户界面控件以反映网络设备当前的音量。例如,遥控设备1310的用户可正在向音量用户界面控件(例如,音量控制228,图2的手柄230)提供输入,而遥控设备1320的另一用户也调节回放设备320的音量。为了避免在提供用户输入以调节音量时音量手柄230远离用户的手指移动的情况,遥控设备1310可以延迟更新音量控件显示以反映回放设备320的实际音量,直到用户停止向音量控件提供输入后已经过去一段时间。例如,如果延迟时间段为一秒,则如果用户正在提供输入或者在上一秒内提供输入,则将忽略从回放设备320接收到的任何音量状态信息。然而,在用户停止提供音量输入一秒之后,将更新由遥控设备1310上的媒体遥控器1312呈现的音量控件以反映回放设备320的实际音量。因此,用户将不会对与所提供的用户输入不一致的音量控件感到困惑。
124.图14是被配置为在回放设备之间自动建立流式媒体连接的示例媒体系统1400的框图。例如,流式设备可以被配置为在连接已经被另一个媒体流式设备劫持之后自动建立和/或重新建立与回放设备的媒体流式连接。
125.在一些具体实施中,媒体系统1400可包括流式设备1410。例如,流式设备1410可以对应于上述流式设备510和/或回放设备320。例如,在一些情况下,流式设备1410可以为回放设备320,其执行参考流式设备510描述的媒体流式功能。
126.在一些具体实施中,流式设备1410可包括路由管理器1412。例如,路由管理器1412可对应于上述会话管理器330。路由管理器1412可以管理描述可用回放设备(例如,回放设备1420、1430等)、流式设备1410和其他设备之间的当前连接、流式设备1410和其他设备之间的先前连接以及/或回放组配置(例如,哪些回放设备在房屋的哪个房间中,哪些回放设备在哪些动态和/或持久回放组中等)的路由信息的储存库。
127.在一些具体实施中,流式设备1410可将媒体数据流式传输到回放设备1420和/或回放设备1430。例如,流式设备1410可以是连接到电视、扬声器等的媒体流式设备。流式设备1410的用户可以向流式设备1410提供输入以使得流式设备1410将媒体数据(例如,音频数据、视频数据等)流式传输到回放设备1420和/或回放设备1430。在一些具体实施中,将回放设备1420和/或回放设备1430指定为用于流式设备1410的回放设备的该用户输入可以使得流式设备1410自动创建包括回放设备1420、回放设备1430和/或流式设备1410的动态回放组。流式设备1410可以建立与回放设备1420和/或回放设备1430的连接,并将用户选择的媒体流式传输到回放设备1420和/或回放设备1430。
128.在一些具体实施中,路由管理器1412可以存储识别流式传输到回放设备的媒体的路由的路由信息。例如,路由管理器1412可以存储指示流式设备1410的上一次(例如,最新)
媒体路由配置的路由信息。因此,路由管理器1412可以存储指示流式设备1410正在将媒体数据路由到回放设备1420和/或回放设备1430的路由信息。设备之间的有效连接由图14中的实心双箭头线表示。例如,流式设备1410和回放设备1420之间的当前流式媒体连接由线1402表示。
129.如上所述,使用连接劫持机制在设备之间建立流式媒体连接。例如,请求流式媒体连接的上一台设备可以使用流式媒体连接。因此,当流式设备1440(例如,类似于流式设备1410的另一设备)开始将媒体数据流式传输到回放设备1420(例如,连接1442)时,流式设备1440将劫持与回放设备1420的流式连接1402。因此,流式设备1410和回放设备1420之间的连接1402可以终止,如虚线1404所示。
130.在一些具体实施中,当回放设备被劫持离开流式设备1410时,流式设备1410可以停止(例如,暂停)呈现(例如,流式传输、播放等)媒体项。例如,当流式设备1440劫持与回放设备1420的连接时,流式设备1410可以接收与回放设备1420的连接已被劫持的消息。当回放设备1420被劫持离开流式设备1410时,流式设备1410可以停止呈现(例如,播放、流式传输等)流式设备1410正在流式传输到回放设备1420的媒体项。在一些具体实施中,当流式设备1440劫持的回放设备位于与流式设备1410不同的房间(例如,房屋、办公室、建筑物等)中时,流式设备1410将继续呈现媒体项。
131.在一些具体实施中,当流式设备1440劫持回放设备时,流式设备1410将继续呈现与媒体项对应的视频,同时使与媒体项对应的音频静音。例如,当流式设备1410正在流式传输实况媒体(例如,无法暂停的媒体,实况体育赛事等)时,流式设备1410可以继续呈现或流式传输与实况媒体对应的视频数据,同时在回放设备被劫持离开流式设备1410时停止音频数据的流式传输。
132.在一些具体实施中,回放设备1420可以防止流式设备1440劫持与回放设备1420的连接。例如,回放设备1420可以从流式设备1410接收指示从流式设备1410流式传输到回放设备1420的媒体项的类型的信息。如果媒体项是特定类型(例如,电影),则回放设备1420可以拒绝由另一个流式设备(例如,流式设备1440)请求的流式媒体连接。因此,流式设备1410的一个或多个用户可以继续享受由流式设备1410不间断地播放的媒体项(例如,电影)。回放设备1420可以向流式设备1440发送指示拒绝连接的原因的通知。然后,流式设备1440可以在与流式设备1440相关联的显示器上或者通过与流式设备1440相关联的扬声器(例如,使用语音)呈现指示拒绝连接的原因的消息。
133.在一些具体实施中,流式设备1410可自动地重新连接到回放设备1420。例如,流式设备1410可以被配置为自动地劫持与在由路由管理器1412存储的回放设备1420的上一次媒体路由配置中识别到的回放设备的连接。例如,当流式设备1410接收到指示流式设备1410应该呈现媒体项的用户输入时,流式设备1410可以确定在上一次(例如,先前)的媒体路由配置中识别的回放设备(例如,回放设备1420和/或回放设备1430)并且根据需要重新劫持与回放设备1420和1430的媒体流式连接。例如,流式设备1410可以重新劫持与回放设备1420的连接,从而建立流式连接1406并终止流式设备1440和回放设备1420之间的连接1442,如虚线1444所示。
134.在一些具体实施中,这种自动劫持机制可以由一组流式设备1410来实现。例如,可创建包括多个流式设备1410的动态回放组。每个流式设备1410可以被配置为将媒体数据流
式传输到不同的一组回放设备。当该组接收到开始呈现媒体项的输入时,每个流式设备1410(例如,视频流式设备)可以重新劫持它们各自的上一台回放设备并呈现媒体项。此类示例可以包括多电视环境(例如,体育酒吧、具有多个tv的家庭等),其中每个流式设备1410同时在各电视上呈现媒体项的视频,同时将用于媒体项的音频输出流式传输到无线扬声器(例如,回放设备)。
135.动态媒体路由
136.图15是被配置为将媒体数据动态地路由至回放设备的示例媒体系统1500的框图。例如,媒体系统1500可对应于上述媒体系统1400。在一些具体实施中,媒体系统1500可以被配置为基于媒体数据源上下文将媒体数据(例如,音频数据、视频数据等)动态地路由到回放设备。
137.在一些具体实施中,媒体系统1500可包括流式设备1502。例如,流式设备1502可以对应于上述流式设备510和/或回放设备320。例如,在一些情况下,流式设备1502可以为回放设备320,其执行参考流式设备510描述的媒体流式功能。
138.在一些具体实施中,流式设备1502可包括路由管理器1504。例如,路由管理器1504可对应于上述会话管理器330。路由管理器1504可以管理描述可用回放设备(例如,回放设备1420、1430等)、流式设备1410和其他设备之间的当前连接、流式设备1410和其他设备之间的先前连接以及/或回放组配置(例如,哪些回放设备在房屋的哪个房间中,哪些回放设备在哪些动态和/或持久回放组中等)的路由信息的储存库。路由管理器1504可以被配置为具有定义如何基于媒体数据源上下文、回放设备连接、连接到流式设备1502的回放设备的类型和/或其他标准来路由媒体数据的规则。
139.在一些具体实施中,路由管理器1504可以被配置为基于媒体上下文1506和/或系统上下文1508来路由媒体数据。例如,对应于媒体项(诸如音乐、电影、电视节目、播客、有声读物等)的媒体数据源,可以对应于媒体上下文1506。对应于软件(例如,产生声音的软件应用程序、游戏应用程序、操作系统等)的媒体数据源可以对应于系统上下文1508。换句话讲,真实媒体项(例如,媒体文件、媒体项、电影、音乐等)可以对应于媒体上下文,而由(例如,与媒体项分开的)软件和/或硬件生成的媒体数据可以对应于系统上下文1508。
140.在一些具体实施中,路由管理器1504可以将对应于媒体上下文1506的媒体数据路由到回放设备和/或回放组,同时在流式设备1502上或通过该流式设备呈现对应于系统上下文1508的媒体数据。例如,用户可以向流式设备1502提供指示流式设备1502应该将媒体数据流式传输到回放组1510的输入。例如,回放组1510(例如,动态回放组、持久回放组等)可以包括回放设备1520和/或回放设备1530。路由管理器1504可以确定由流式设备1502生成的媒体数据的上下文(例如,媒体上下文1506、系统上下文1508),并且可以基于该上下文将媒体数据流式传输到回放组1510。例如,路由管理器1502可以将对应于媒体上下文1506的媒体数据流式传输到回放组1510,同时通过流式设备1502或连接到流式设备1502的个人回放设备(例如,头戴式耳机、小型个人扬声器、小型个人显示屏)在本地呈现对应于系统上下文1508的媒体数据。例如,当流式设备1502将用于电影的音频流式传输到回放组1510以用于呈现时,由流式设备1502生成的操作系统输入声音(例如,点击)可以由流式设备1502来呈现。如果流式设备1502是持久回放组的一部分(例如,被认为是一个逻辑设备),则对应系统上下文1508的媒体数据可以由持久回放组中的每个设备来呈现。
141.在一些具体实施中,媒体系统1500可以包括头戴式耳机设备1540。例如,头戴式耳机设备1540可以是特定类型的回放设备320。头戴式耳机设备1540可以是例如穿戴在流式设备1502的用户的耳朵上或耳朵中的个人回放设备。路由管理器1504可以基于连接到流式设备1502的回放设备(例如,头戴式耳机、扬声器等)的类型来确定如何路由对应于媒体上下文1506和/或系统上下文1508的媒体数据。例如,路由管理器1504可以实现头戴式耳机回放设备的特殊路由规则,如下所述。
142.在一些具体实施中,路由管理器1504可以将对应于系统上下文1508的媒体数据发送到头戴式耳机设备1540。例如,如果流式设备1502为个人设备(例如,单个用户设备、智能电话、智能手表等),则当头戴式耳机设备1540连接到流式设备1502时,路由管理器1504可以将对应于系统上下文1508的媒体数据路由(例如,发送)到头戴式耳机设备1540。
143.在一些具体实施中,路由管理器1504可以将对应于媒体上下文1506的媒体数据发送到头戴式耳机设备1540。例如,如果流式设备1502为公共设备(例如,机顶盒、智能扬声器等),则当头戴式耳机设备1540连接到流式设备1502时,路由管理器1504可以将对应于媒体上下文1506的媒体数据路由(例如,发送)到头戴式耳机设备1540。作为特定示例,流式设备1502可以将用于电影的音频流式传输到回放组1510。当用户将头戴式耳机设备1540连接到流式设备1502时,路由管理器1504可以自动改变电影音频的路由,使得头戴式耳机设备1540接收并呈现电影音频,并且回放组1510不再接收和/或呈现电影音频。当用户稍后断开头戴式耳机1540与流式设备1502的连接时,路由管理器1504可以恢复将对应于媒体上下文1506的媒体数据流式传输到回放组1520。
144.在一些具体实施中,路由管理器1502可以被配置为具有用于路由媒体数据的基于时间的规则。例如,流式设备1502可以被配置为具有回放设备/回放组映射的时间段,该映射定义在一天的对应时间处哪些回放设备路由媒体数据。在特定示例中,路由管理器1504可以被配置为具有日间路由配置和夜间(例如,8pm至9am)路由配置。日间路由配置可以指定,在日间时间段(例如,9am至8pm),从流式设备1502流式传输的媒体数据应该被路由到5.1环绕声扬声器组(例如,动态回放组、持久回放组等)。夜间路由配置可以指定,在夜间时间段(例如,8pm至9am),从流式设备1502流式传输的媒体数据应该被路由到单个回放设备或一小组回放设备(例如,立体声对、动态回放组、持久回放组等)。日间和/或夜间路由配置可以指定其他回放参数,包括回放设备的音频音量(例如,日间时间段的较高音量,夜间时间段的较低音量)。
145.图16是用于基于回放设备能力的动态路由的示例媒体系统1600的框图。例如,媒体系统1600可对应于上述媒体系统1500。媒体系统1600可以被配置为基于相应回放设备的能力来将媒体数据动态地路由到回放设备。例如,在将媒体数据流式传输到回放组(例如,回放组1630)时,流式设备1502可以基于回放设备的回放能力来确定媒体数据的路由。另选地,回放组中的主要回放设备(例如,组领导者)可以基于回放组中回放设备的能力来确定如何路由回放组接收到的媒体数据。
146.在一些具体实施中,媒体系统1600可以包括回放组1630。例如,回放组1630可以是动态或持久回放组。回放组1630可以包括回放设备1640、回放设备1650和/或回放设备1660。每个回放设备可以具有不同的能力。例如,回放设备1640可能能够进行音频输出1642(例如,输出到扬声器)和视频输出1644(例如,输出到显示器),而回放设备1650和/或1660
可能能够进行音频输出1652和1654,但无法进行视频输出。例如,可以向回放组1630中的设备和/或流式设备1502报告或广播每个回放设备的能力。因此,当流式设备1502流式传输包括音频和视频数据的媒体项时,流式设备1502可以确定每个设备的回放能力并相应地路由媒体项的媒体数据。例如,流式设备1502可以将音频和视频媒体数据发送到回放设备1640,同时向回放设备1650和1660仅发送音频媒体数据。
147.另选地,流式设备1502可以将媒体项的音频和视频媒体数据发送到回放组1630中的主要设备。当主要设备(例如,回放设备1650)接收到音频和视频媒体数据时,主要设备可以确定回放组1630中的每个设备的回放能力,并相应地路由媒体项的媒体数据。例如,回放设备1650(例如,主要设备)可以呈现媒体项的音频数据,并且可以将音频和视频媒体数据发送到回放设备1640,同时仅将音频媒体数据发送到回放设备1660。
148.在一些具体实施中,回放组1630中的每个回放设备可以基于每个设备的能力来确定如何处理所接收到的媒体数据。例如,回放组1630中的每个回放设备可以接收由流式设备1502流式传输的媒体项的所有媒体数据(例如,音频和/或视频)。每个设备可以基于每个设备的能力呈现或不呈现所接收到的音频媒体数据和/或视频媒体数据。此外,回放设备可以基于所接收到的媒体数据来确定能够启用回放设备的哪些媒体呈现子系统。例如,回放设备1640可以被配置用于音频输出1642和视频输出1644。当回放设备1640接收包括音频而非视频数据的媒体数据时,回放设备1640可以在禁用视频输出的同时呈现音频数据。例如,回放设备1640可以通过连接到回放设备1640的扬声器提供音频输出,同时保持连接的显示器断电。
149.图17是用于以第二语言提供对媒体数据的访问的示例媒体系统1700的框图。例如,系统1700可对应于上述媒体系统1500。
150.在一些具体实施中,流式设备1502可以在将媒体项的音频数据流式传输到回放组1710的同时呈现媒体项。回放组1710(例如,动态组、持久组等)中的每个回放设备(例如,回放设备1720、回放设备1730等)可以根据配置在流式设备1502中或由其配置的语言(例如,英语)来呈现音频输出1722、1732。
151.在一些具体实施中,媒体项可以包括提供不同语言的对话的附加音频数据。例如,媒体项(例如,电影)可以包括各种语言(例如,法语、中文、越南语等)的对话音轨(例如,对应于电影中的对话的语音翻译)。
152.在一些具体实施中,路由管理器1504可以基于由用户设备所指定的语言将对话音轨路由至用户设备。例如,媒体系统1700可以包括用户设备1750(例如,智能电话、平板电脑等)。用户设备1750可以被配置为以与流式设备1502中配置的呈现语言不同的语言(例如,第二语言)向用户呈现数据。例如,尽管流式设备1502被配置为以英语呈现信息和/或媒体项,但用户设备1750可以被配置为以中文呈现信息和/或媒体项。
153.用户设备1750的用户(例如,中文用户)可以提供输入以将用户设备1750连接到流式设备1504。例如,当连接到流式设备1502时,用户设备1750可以将指定用户设备1750的呈现语言(例如,中文)的信息发送到流式设备1504。当流式设备1502接收到用户设备1750的语言规定时,路由管理器1503可以生成指示应该将中文媒体数据(例如,用于电影的中文对话音轨)路由到用户设备1750的路由数据。因此,当流式设备1502和/或回放组1710以第一语言(例如,英语)呈现媒体项时,流式设备1502可以将与用户设备1750的第二语言对应的
媒体数据(例如,中文对话音轨)流式传输到用户设备1750。
154.在一些具体实施中,媒体系统1700可以包括回放设备1740。例如,回放设备1740可以是头戴式耳机、扬声器或提供音频输出1742的其他音频输出设备。用户设备1750的用户可以将回放设备1740连接到用户设备1750,使得用户设备1750从流式设备1502接收到的第二语言媒体音轨可以由回放设备1740呈现。例如,当在电视上观看由流式设备1502呈现的电影时,中文用户可以佩戴以中文呈现电影对话的头戴式耳机(回放设备1740),而其他用户通过回放组1710收听以英语呈现的电影对话。
155.人工智能接口
156.在一些具体实施中,本文所述的媒体系统可以被配置为提供可以处理由媒体系统的用户提供的口头语音输入的人工智能接口。例如,人工智能(ai)接口可以基于媒体项的类型、回放组(例如,动态回放组、持久回放组等)和/或用户语音输入中指定的特定回放设备来确定如何处理与输入命令相关的媒体。例如,口头语音输入可以由流式设备(例如,流式设备1502)通过流式设备的ai接口来接收。
157.在一些具体实施中,流式设备1502可以接收语音输入命令,以在每个地方播放媒体项。例如,“每个地方”可以包括连接到网络环境(例如,家庭、工作等)或与家庭应用程序332中配置的环境(例如,家庭、工作等)相关联的所有回放设备。在一些具体实施中,“每个地方”可以包括路由管理器1504具有其连接和/或路由信息的所有回放设备。当流式设备1502接收到关于媒体项的“在每个地方播放”命令时,路由管理器1504可以基于媒体项的类型来确定如何路由媒体项。例如,如果媒体项为音频媒体项(例如,音乐、有声读物、播客等),则路由管理器1504可以将音频媒体项流式传输到能够进行音频输出的所有回放设备,如上所述。另选地,如果媒体项为音频媒体项(例如,音乐、有声读物、播客等),则路由管理器1504可以将音频媒体项仅流式传输到能够仅进行音频输出的回放设备。如果媒体项为音频/视频媒体项(例如,电影、电视节目等),则路由管理器1504可以将音频媒体项流式传输到能够进行音频输出或视频输出的所有回放设备,如上所述。
158.在一些具体实施中,流式设备1502可以接收语音输入命令,以向一个或多个回放组播放媒体项。例如,当流式设备1502接收到“向组播放”语音命令时,路由管理器1504可以基于存储在流式设备1504上的回放组数据来确定与在语音命令中识别的回放组相关联的回放设备。例如,回放组可以对应于动态组、持久组、房间组或任何其他类型的配置组。然后,流式设备1502可以将在语音输入命令中识别的媒体项流式传输到指定的组。在一些具体实施中,路由管理器1504可以基于回放设备的输出能力将媒体项流式传输到指定组中的回放设备,如上所述。
159.在一些具体实施中,流式设备1502可以接收语音输入命令,以向特定类型的设备播放媒体项。例如,不同类型的设备可以包括机顶盒、智能扬声器、特定型号的设备等。语音输入命令可以指定,例如,流式设备1502应该将媒体项发送到所有机顶盒或所有流式设备。当流式设备1502接收到语音输入命令时,路由管理器1504可以确定哪些回放设备对应于指定类型的设备,并将语音输入命令中识别的媒体项流式传输到指定类型的回放设备。
160.示例过程
161.为了使读者能够清楚地理解本文所述的技术概念,以下过程描述了以特定顺序执行的具体步骤。然而,特定过程的一个或多个步骤可以被重新安排和/或省略,同时保持在
本文公开的技术的预期范围内。此外,可以组合、重新组合、重新安排、省略和/或并行执行不同的过程和/或其步骤,以创建也在本文公开的技术的预期范围内的不同处理流程。此外,尽管为了清楚起见,下面的过程可以省略或简要概述本文中公开的技术的一些细节,但是以上段落中描述的细节可以与下面描述的过程步骤组合以获得对这些过程和本文所公开的技术的更完整和全面的理解。
162.图18是用于远程控制回放设备的示例过程1800的流程图。例如,过程1800可由回放设备执行,以允许遥控设备通过控制连接提供遥控命令,同时回放设备维持与流式设备的活动流式连接(例如,主连接)。遥控连接和主连接可以是具有独立功能的独立连接。例如,遥控连接可用于从遥控设备接收命令并且/或者将状态信息发送到遥控设备,而不中断、影响或劫持主连接。主连接可用于从流式设备接收流媒体数据并且/或者与流式设备通信。
163.在步骤1802处,回放设备可在回放设备和流式设备之间建立主连接。例如,回放设备可向其他设备广播通告其可用性的消息。该消息可包括接收设备(例如,流式设备)可用来连接到回放设备的数据。例如,消息可包括回放设备的设备标识符,流式设备可使用该标识符通过局域网、wi

fi网络或回放设备和流式设备都连接到的一些其他网络连接到回放设备。当流式设备接收到通告时,流式设备可呈现识别回放设备的图形用户界面。然后,流式设备的用户可选择回放设备作为所选媒体项或其他媒体数据的回放设备。在接收到用户对回放设备的选择之后,流式设备可与回放设备通信以建立主连接。由于在回放设备处同时播放多个媒体项将对用户造成令人不悦的体验,因此回放设备一次只可管理单个主连接。
164.在步骤1804处,回放设备可通过主连接从流式设备接收媒体项。例如,流式设备可通过主连接将媒体项流式传输到回放设备,通过主连接发送整个媒体项,或通过主连接向媒体项发送引用(例如,链接、url等)。因此,当本说明书描述从流式设备向回放设备发送或流式传输媒体项时,发送或流式传输可通过将媒体项通过主连接流式传输到回放设备、通过主连接发送整个媒体项或者将回放设备可用来获得媒体项的引用(例如,链接、url等)发送到媒体项来执行。另选地,流式设备可通过主连接向回放设备发送媒体项的标识符,并且回放设备可从另一个源(例如,网络源、本地从回放设备上的存储器等)获得媒体项。
165.在步骤1806处,回放设备可呈现回放设备处的媒体项。例如,如果媒体项为音频媒体项(例如,音乐),则回放设备可通过回放设备的扬声器播放音频媒体项。如果媒体项为视频媒体项,则回放设备可使用回放设备的显示器呈现媒体项。
166.在步骤1808处,回放设备可在回放设备和遥控设备之间建立控制连接。例如,遥控设备可接收由如上所述的回放设备所广播的通告消息。遥控设备可使用通告消息中的数据向回放设备发送消息,以建立允许遥控设备获得回放状态信息的控制连接并且/或者发送允许遥控设备控制回放设备呈现的媒体项的回放的命令。由于多个遥控设备可呈现回放状态信息并且可提供遥控命令,因此回放设备可管理与多个不同遥控设备的多个控制连接。此外,由于控制连接不是主连接,所以可建立控制连接而不中断当前播放的媒体项的回放,并且不中断或劫持主连接。
167.在步骤1810处,回放设备可通过控制连接从遥控设备接收媒体命令。例如,媒体命令可为对回放状态信息(例如,当前播放的媒体项的标识、媒体项中回放的位置、当前音量
水平、呈现媒体项的应用程序所支持的功能、回放设备的能力等)的请求。媒体命令可以是回放控制命令,其停止、开始、跳过、快进、倒回、调节音量,或命令对当前播放的媒体项的回放进行一些其他改变。
168.在步骤1812处,回放设备可处理媒体命令。例如,回放设备可通过在回放设备处本地执行媒体命令来处理媒体命令。例如,停止回放命令、状态请求等可在回放设备处本地执行。另选地,回放设备可通过将媒体命令通过主连接转发到流式设备来处理媒体命令。例如,由于流式设备是媒体项的源,流式设备正在管理媒体项的回放,并且可能需要协调多个回放设备之间的回放。因此,回放设备可将媒体命令(例如,状态请求、跳过命令、快进命令、暂停命令、音量调节等)转发到流式设备,使得流式设备可处理媒体命令并在呈现媒体项的回放设备处进行对应的调整。
169.图19是用于管理回放组的示例过程1900的流程图。例如,过程1900可由计算设备(例如,遥控设备、流式设备等)执行,以基于从各种回放设备接收的回放设备属性来确定回放设备的分组。在确定回放设备组之后,计算设备可在计算设备的显示器上呈现回放设备组,并且计算设备的用户可选择向其流式传输媒体项的回放组,使得所选组中的所有回放设备可呈现用户选择的媒体项。
170.在步骤1902处,计算设备可接收对应于第一回放设备的回放组属性。例如,计算设备可接收由回放设备广播的消息中的回放组属性,该消息通告回放设备的可用性和/或能力。回放组属性可包括第一回放组标识符。例如,第一回放组标识符可以是动态回放组标识符。第一回放组标识符可以是持久回放组标识符。回放组属性可包括如上所述的其他属性。
171.在步骤1904处,计算设备可接收对应于第二回放设备的回放组属性。例如,计算设备可接收由回放设备广播的消息中的回放组属性,该消息通告回放设备的可用性和/或能力。回放组属性可包括第二回放组标识符。例如,第二回放组标识符可以是动态回放组标识符。第二回放组标识符可以是持久回放组标识符。回放组属性可包括如上所述的其他属性。
172.在步骤1906处,计算设备可确定第一回放组标识符等于第二回放组标识符。例如,计算设备可将第一回放组标识符与第二回放组标识符进行比较,并且确定第一回放组标识符和第二回放组标识符相同,并且第一回放设备和第二回放设备属于相同的回放设备组。
173.在步骤1908处,计算设备可生成包括第一回放设备和第二回放设备的第一回放组。例如,计算设备可存储回放组数据,该回放组数据指示第一回放设备和第二回放设备在同一回放设备组中。回放组数据还可包括标识回放组的类型(例如,持久的、动态的)和/或回放组中回放设备的能力的信息。在一些具体实施中,单个回放设备可属于多个动态回放组。因此,第二回放设备可提供标识多个动态回放组的回放组属性。此外,单个回放设备可属于持久回放组和动态回放组两者。例如,包括第二回放设备的持久回放组还可以是包括在动态回放组中的回放设备,如上所述。因此,第二回放设备可提供标识多个动态回放组和单个持久回放组的回放组属性。
174.在步骤1910处,计算设备可将第一回放组呈现在计算设备的显示器上。例如,计算设备可将第一回放设备和第二回放设备作为单个实体或作为计算设备的显示器上的单个设备呈现。当用户希望将媒体项的回放发送到多个回放设备时,这允许用户进行单个组选择,而不是选择多个回放设备。如上所述,当用户选择回放组时,计算设备可向回放组发送(例如,流式传输)用户选择的媒体项,使得所选回放组中的每个回放设备可与同一回放组
中的其他回放设备同步呈现媒体项。
175.图20是用于有效地将授权用户设备与回放设备配对的示例过程2000的流程图。例如,过程2000可由用户设备(例如,流式设备、遥控设备等等)来执行。例如,用户设备可配置有设备标识符(或用户标识符),用于被授权访问环境(例如,家庭环境、办公室环境等)内的回放设备或与之交互的设备。可基于地理区域来定义环境。可基于用于管理环境内的回放设备或与回放设备交互的网络来定义环境。当用户设备与回放设备配对时,用户设备可向回放设备发送授权设备标识符,以使得回放设备为授权设备标识符生成配对令牌。因此,用户设备可充当其他授权用户设备的代理并代表其他授权用户设备执行配对过程。
176.在步骤2002处,用户设备可存储对应于授权计算设备的设备标识符。例如,环境的管理员或其他授权用户可向用户设备或另一计算设备提供输入,以识别被授权访问环境内的回放设备的用户和/或用户设备。例如,家庭环境内的管理员(例如,家长)可向用户设备提供输入,以识别应当被允许访问家庭环境内的回放设备的其他用户(例如,配偶、儿童、朋友等)。然后,用户设备可将授权计算设备的设备标识符存储在用户设备上的授权用户数据库中。该授权用户数据库或其中的各个记录可与其他授权计算设备共享或同步。
177.在步骤2004处,用户设备可使用户设备与第一回放设备配对。例如,用户设备(例如,第一计算设备)的用户可向用户设备提供输入,指示用户设备应连接到第一回放设备或者与第一回放设备配对。用户设备和第一回放设备可执行配对过程,例如,包括接收配对代码的用户输入,以将用户设备和第一回放设备配对。如果配对成功,则用户设备可向第一回放设备发送配对令牌,第一回放设备可使用该配对令牌来访问第一回放设备的服务和/或功能,而不必再次执行配对过程。例如,用户设备可在对第一回放设备的后续请求中包括配对令牌。第一回放设备可基于配对令牌来确定用户设备被授权访问第一回放设备,如上所述。
178.在步骤2006处,用户设备可使得第一回放设备为每个授权计算设备生成配对令牌。例如,在成功地将用户设备与回放设备配对之后,用户设备可自动地将授权计算设备(例如,其他用户设备)的设备标识符发送至第一回放设备。当接收到授权设备标识符时,第一回放设备可为每个授权设备标识符生成配对令牌。因此,通过将授权设备标识符发送到第一回放设备以生成配对令牌,用户设备已代表所识别的授权设备中的每一个执行了配对过程,从而免除了授权设备的用户不得不自己进行配对过程的负担,当与多个回放设备配对时,这可能更加麻烦。
179.在步骤2008处,用户设备可接收针对每个授权计算设备生成的配对令牌。例如,在第一回放设备为每个授权设备标识符生成配对令牌之后,第一回放设备可向用户设备发送将每个授权设备标识符映射到其相应配对令牌的数据。然后,用户设备可将设备标识符的映射存储到在用户设备上存储的授权用户数据库中的配对令牌。
180.在步骤2010处,用户设备可将针对第二计算设备生成的配对令牌发送至第二计算设备。例如,在代表授权计算设备执行配对过程之后,用户设备可将配对令牌发送至每个授权计算设备。例如,由第一回放设备为第二计算设备生成的配对令牌可被发送到第二计算设备。然后,第二计算设备可使用配对令牌来访问第一回放设备的功能、特征和/或服务。
181.尽管参考单个回放设备(例如,第一回放设备)描述了过程2000,但是环境可包括多个回放设备。因此,可对环境内的每个回放设备执行过程2000,以将授权计算设备与每个
回放设备配对,而不会迫使授权计算设备的用户与每个回放设备进行配对过程。然而,如上所述,如果从计算设备接收配对令牌的回放设备未能验证配对令牌,或者如果回放设备没有存储在回放设备上的计算设备的标识符,则回放设备可阻止计算设备访问回放设备,直到计算设备执行与需要用户输入代码的计算设备的配对过程或者执行一些其他配对过程。
182.图21是用于为多个用户设备生成配对令牌的示例过程2100的流程图。例如,过程2100可由回放设备执行,以便为多个授权用户设备(例如,授权计算设备)生成配对令牌,从而不必对每个授权用户设备执行单独的、涉及用户的配对过程。
183.在步骤2102处,回放设备可接收将第一计算设备与回放设备配对的请求。例如,回放设备可从用户设备接收将用户设备与回放设备配对的请求。
184.在步骤2104处,回放设备可使得第一计算设备与回放设备配对。例如,回放设备可呈现用户设备(例如,第一计算设备)的用户可进入用户设备的代码。用户设备可将代码发送至回放设备,并且如果回放设备确定从用户设备接收的代码匹配由回放设备呈现的代码,则回放设备可为用户设备生成配对令牌。回放设备可将配对令牌发送至用户设备,使得用户设备可使用配对令牌来访问回放设备。一旦回放设备将配对令牌发送至用户设备,设备就配对。
185.在步骤2106处,回放设备可从第一计算设备接收设备标识符。例如,配对用户设备可将其他授权用户设备(例如,授权计算设备)的设备标识符发送到回放设备,以代表其他授权用户设备发起配对。用户设备可在与回放设备配对之后发送设备标识符并且/或者连同为配对用户设备生成的配对令牌一起发送,使得回放设备可确定用户设备被授权代表其他授权用户设备执行配对过程。
186.在步骤2108处,回放设备可针对每个接收的设备标识符生成配对令牌。例如,回放设备可为每个识别的授权用户设备生成唯一配对令牌。
187.在步骤2110处,回放设备可存储配对令牌到设备标识符的映射。例如,回放设备可存储将设备标识符映射到对应的唯一配对令牌的数据库(例如,授权用户数据库),使得当稍后从试图访问回放设备的计算设备接收到配对令牌时,回放设备可将计算设备提供的设备标识符和配对令牌与映射进行比较,以确定计算设备当前是否与回放设备配对。
188.在步骤2112处,回放设备可将映射发送至第一计算设备。例如,回放设备可将设备标识符到配对令牌的映射发送至第一计算设备。然后,第一计算设备可将配对令牌分发给适当的授权计算设备,如上所述。
189.在步骤2114处,回放设备可接收从第二计算设备发送至第一计算设备的配对令牌。例如,回放设备可从第二计算设备接收特定配对令牌和设备标识符。即使回放设备可能之前从未与第二计算设备通信或向第二计算设备提供配对令牌,回放设备也可从第二计算设备接收回放设备所生成的配对令牌。
190.在步骤2116处,回放设备可允许第二计算设备基于配对令牌来访问回放设备。例如,回放设备可将从第二计算设备接收的设备标识符和配对令牌与存储在回放设备上存储的授权用户数据库中的设备标识符和配对令牌进行比较(例如,映射)。如果配对令牌

设备标识符对存在于授权用户数据库内,则回放设备可允许第二计算设备访问回放设备。如果在授权用户数据库不存在设备标识符,或者如果映射到设备标识符的令牌与接收到的配对令牌不匹配,则回放设备可阻止第二计算设备访问回放设备,直到第二计算设备成功地与
计算设备配对。
191.图22是用于媒体数据的上下文路由的示例过程2200的流程图。例如,过程2200可由计算设备(例如,流式设备)执行,以将与媒体项、软件应用程序和/或操作系统相关联的音频和/或视频输出路由到适当的回放设备。
192.在步骤2202处,计算设备可获得要呈现的第一媒体数据。例如,媒体数据可对应于媒体项(例如,电影、音乐、有声读物等)。媒体数据可对应于由软件生成的声音或图像,诸如游戏应用程序声音、操作系统声音等。因此,计算设备可从被配置为从游戏软件应用程序、操作系统软件或计算设备的任何其他音频或视频生成部件呈现电影、音乐等的软件应用程序获得第一媒体数据。
193.在步骤2204处,计算设备可确定与第一媒体数据相关联的上下文。例如,上下文可以是与软件生成的声音或图像相关联的系统上下文。上下文可以是与媒体项(诸如电影、音乐等)的呈现相关联的媒体上下文。该上下文可基于媒体数据的来源来确定。例如,如果来源是电影或音乐应用程序,则计算设备可确定上下文是媒体上下文。如果来源是游戏应用程序或操作系统,则计算设备可确定上下文是系统上下文。
194.在步骤2206处,计算设备可获得指定如何基于上下文来路由第一媒体数据的媒体路由规则。例如,规则可指定与系统上下文相关联的媒体数据应该被本地路由。例如,本地路由可包括在本地计算设备上呈现媒体数据或通过连接至本地计算设备的个人回放设备(例如,头戴式耳机、个人扬声器、个人显示设备等)呈现媒体数据。规则可指定与媒体上下文相关联的媒体数据应被路由至远程回放设备。例如,如果计算设备当前正在将媒体项的回放路由到远程回放设备(或设备组),或者如果计算设备先前已将媒体项的回放路由到远程回放设备,则计算设备可将与媒体上下文相关联的媒体数据路由至远程回放设备。
195.在步骤2208处,计算设备可基于所确定的上下文和媒体路由规则来选择用于呈现媒体数据的一个或多个回放设备。例如,可将所确定的上下文与媒体路由规则进行比较,以确定要选择哪个回放设备来呈现媒体数据。基于规则,计算设备可选择当媒体数据与系统上下文相关联时的计算设备(例如,本地设备和/或个人回放设备)作为回放设备。基于规则,计算设备可选择当媒体数据与媒体上下文相关联时的远程回放设备(或回放设备组)作为回放设备。
196.在步骤2210处,计算设备可将第一媒体数据发送至所选的一个或多个回放设备。例如,计算设备可将第一媒体数据发送至计算设备或连接至计算设备的个人回放设备的扬声器和/或显示器。计算设备可将第一媒体数据发送至远程回放设备或回放设备组以供呈现。
197.在一些具体实施中,计算设备可同时路由系统上下文媒体数据和媒体上下文媒体数据。例如,计算设备可将电影流式传输到远程回放组,同时在显示器上并通过计算设备的扬声器呈现视频游戏输出。因此,计算设备可同时处理媒体数据的多个实例并将其路由至不同的回放设备。
198.图形用户界面
199.本公开在上文描述了用于实现各种特征、过程或工作流的各种图形用户界面(gui)。这些gui可被呈现在各种电子设备上,包括但不限于膝上型计算机、台式计算机、计算机终端、电视系统、平板电脑、电子书阅读器和智能电话。这些电子设备中的一者或多者
可包括触敏表面。触敏表面可处理多个同时的输入点,包括处理与每个输入点的压力、程度或位置相关的数据。此类处理可促进利用多个手指所进行的手势,该手势包括捏合和轻扫。
200.当本公开指“选择”gui中的用户界面元素时,这些术语被理解为包括在用户界面元素上方利用鼠标或其他输入设备来点击或“悬停”,或利用一个或多个手指或触笔来在用户界面元素上触摸、轻敲或做手势。用户界面元素可以是虚拟按钮、菜单、选择器、开关、滑动条、刷子、旋钮、缩略图、链接、图标、单选框、复选框和用于从用户接收输入或向用户提供反馈的任何其他机构。
201.隐私
202.本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,该个人信息数据可用于递送用户较感兴趣的目标内容。因此,使用此类个人信息数据使得能够对所递送的内容进行有计划的控制。此外,本公开还预期个人信息数据有益于用户的其他用途。
203.本公开还设想负责此类个人信息数据的收集、分析、公开、传输、存储或其他用途的实体将遵守已确立的隐私政策和/或隐私做法。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。例如,来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法用途之外共享或出售。另外,此类收集应当仅在用户知情同意之后进行。另外,此类实体应采取任何所需的步骤,以保障和保护对此类个人信息数据的访问,并且确保能够访问个人信息数据的其他人遵守他们的隐私政策和程序。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和做法。
204.不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就广告递送服务而言,本发明的技术可被配置为在注册服务期间允许用户选择“加入”或“退出”参与对个人信息数据的收集。又如,用户可选择不为目标内容递送服务提供位置信息。再如,用户可选择不提供精确的位置信息,但准许传输位置区域信息。
205.示例系统架构
206.图23是可实现图1至图22的特征和过程的示例性计算设备2300的框图。计算设备2300可包括存储器接口2302、一个或多个数据处理器、图像处理器和/或中央处理单元2304以及外围设备接口2306。存储器接口2302、一个或多个处理器2304和/或外围设备接口2306可以是独立部件,或者可集成到一个或多个集成电路中。计算设备2300中的各种部件可由一条或多条通信总线或信号线耦接。
207.传感器、设备和子系统可耦接到外围设备接口2306以促进多个功能。例如,运动传感器2310、光传感器2312和接近传感器2314可耦接到外围设备接口2306以促进取向、照明和接近功能。其他传感器2316也可连接到外围设备接口2306,诸如全球导航卫星系统(gnss)(例如,gps接收器)、温度传感器、生物识别传感器、磁力仪或其他感测设备,以促进相关功能。
208.可利用相机子系统2320和光学传感器2322(如电荷耦合设备(ccd)或互补金属氧化物半导体(cmos)光学传感器)来促进相机功能,例如拍摄照片和视频剪辑。相机子系统2320和光学传感器2322可用于收集要在认证用户期间使用的用户的图像,例如,通过执行
面部识别分析。
209.可通过一个或多个无线通信子系统2324来促进通信功能,这些无线通信子系统可包括射频接收器和发射器和/或光学(例如,红外)接收器和发射器。通信子系统2324的具体设计与实现可取决于计算设备2300旨在通过其操作的一个或多个通信网络。例如,计算设备2300可包括设计用于通过gsm网络、gprs网络、edge网络、wi

fi或wimax网络以及bluetooth
tm
网络操作的通信子系统2324。具体地讲,无线通信子系统2324可包括主机协议,使得设备100可被配置为其他无线设备的基站。
210.音频子系统2326可耦接到扬声器2328和麦克风2330以促进支持语音的功能,诸如讲话者识别、语音复制、数字记录和电话功能。音频子系统2326可被配置为促进例如处理语音命令、声纹鉴别和语音认证。
211.i/o子系统2340可包括触摸表面控制器2342和/或一个或多个其他输入控制器2344。触摸表面控制器2342可耦接到触摸表面2346。触摸表面2346和触摸表面控制器2342可例如使用多种触敏技术的任何一种检测接触和运动或其中断,触敏技术包括但不限于电容性、电阻性、红外和表面声波技术,以及用于确定与接触表面2346接触的一个或多个点的其他接近传感器阵列或其他元件。
212.一个或多个其他输入控制器2344可耦接到其他输入/控制设备2348,诸如一个或多个按钮、摇臂开关、拇指滚轮、红外端口、usb端口和/或指针设备(诸如触笔)。一个或多个按钮(未示出)可包括用于扬声器2328和/或麦克风2330的音量控制的增大/减小按钮。
213.在一种具体实施中,将按钮按下第一持续时间能够解除触摸表面2346的锁定;并且将按钮按下比第一持续时间长的第二持续时间能够打开或关闭计算设备2300的电源。将按钮按下第三持续时间能够激活语音控制或语音命令、使用户能够向麦克风2330中说出命令的模块,以使得设备执行所说的命令。用户能够自定义一个或多个按钮的功能。例如,还可以使用触摸表面2346实现虚拟或软按钮和/或键盘。
214.在一些具体实施中,计算设备2300可呈现记录的音频和/或视频文件,诸如mp3、aac和mpeg文件。在一些具体实施中,计算设备2300可包括mp3播放器的功能,诸如ipod
tm

215.存储器接口2302可耦接到存储器2350。存储器2350可包括高速随机存取存储器和/或非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光学存储设备和/或闪存存储器(例如,nand、nor)。存储器2350可存储操作系统2352,诸如darwin、rtxc、linux、unix、os x、windows或嵌入式操作系统(诸如vxworks)。
216.操作系统2352可包括用于处理基础系统服务以及用于执行硬件相关任务的指令。在一些具体实施中,操作系统2352可以是内核(例如,unix内核)。在一些具体实施中,操作系统2352可包括用于执行语音认证的指令。例如,操作系统2352可实现如参考图1至图22所述的特征。
217.存储器2350还可存储通信指令2354以促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器的通信。存储器2350可包括图形用户界面指令2356以促进图形用户界面处理;促进与传感器相关的处理及功能的传感器处理指令2358;促进与电话相关的过程和功能的电话指令2360;促进与电子消息处理相关的过程和功能的电子消息指令2362;促进与网页浏览相关的过程和功能的网页浏览指令2364;促进与媒体处理相关的过程和功能的媒体处理指令2366;促进与gnss和导航相关的过程和指令的gnss/导航指令
2368;和/或促进与像机相关的过程和功能的相机指令2370。
218.存储器2350可存储其他软件指令2372以促进其他过程和功能,诸如参考图1至图22所述的过程和功能。
219.存储器2350还可存储其他软件指令2374,诸如促进与web视频相关的过程和功能的web视频指令;和/或促进与网络购物相关的过程和功能的网络购物指令。在一些具体实施中,媒体处理指令2366分为音频处理指令和视频处理指令,分别用于促进与音频处理相关的过程和功能以及与视频处理相关的过程和功能。
220.上面所识别的指令和应用程序中的每一者可对应于用于执行上述一个或多个功能的指令集。这些指令不需要作为独立的软件程序、进程或模块来实现。存储器2350可包括附加指令或更少的指令。此外,可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中实现计算设备2300的各种功能。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献