掌桥专利:专业的专利平台
掌桥专利
首页

多源媒体管理

文献发布时间:2023-06-19 12:16:29


多源媒体管理

技术领域

本文所公开的主题通常涉及管理来自不同应用的多源媒体的专用机器,包括这种专用机器的计算机化的变型以及对这种变型的改进。具体地,本公开涉及用于在经合并的用户界面中提供对应于每个媒体应用的元数据和控制访问的系统和方法。

背景技术

计算设备可以使用驻留在该计算设备上的不同种类的媒体应用来播放媒体(音频/视频)。例如,计算设备可以包括能够播放MP3文件的默认媒体播放器。在计算设备上运行的Web浏览器也可以流式传输来自远程服务器的音乐。每个媒体应用包括它自己的媒体控制用户界面。计算设备的用户必须导航到每个媒体应用以标识哪首歌曲正在被播放并且控制媒体应用(例如,跳过、倒回、暂停)。因此,考虑到可能在计算设备上同时运行几个媒体应用,用户很难确定哪个媒体应用正在播放音频文件。

附图说明

为了容易地标识任何特定的元素或者动作的讨论,附图标记中的最明显的一个或多个数字指的是该元素首先被引入的附图标记。

图1是根据一些示例实施例的在其中可以部署本公开的网络化的环境的图解表示。

图2是图示了根据一个示例实施例的多源媒体管理应用的框图。

图3是图示了根据一个示例实施例的多源媒体管理应用的操作的示例的框图。

图4是图示了根据一个示例实施例的多源媒体管理应用的架构。

图5是图示了根据一个示例实施例的用于针对媒体应用提供统一的媒体用户界面的方法的流程图。

图6是图示了根据一个示例实施例的用于针对媒体应用提供控制图形用户界面的方法的流程图。

图7是图示了根据一个示例实施例的用于操作具有统一的媒体用户界面的媒体应用的方法的流程图。

图8图示了根据一个实施例的例程。

图9图示了根据一个示例实施例的统一的媒体用户界面的示例。

图10是根据示例实施例的以计算机系统形式的、其中指令集可以被执行以使机器执行本文所述的方法中的一个或多个方法的机器的图解表示。

具体实施方式

“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器码”等)操纵数据值,并且产生被应用于操作机器的对应的输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑所模拟的物理电路)。例如,处理器可以是中央处理器单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC),射频集成电路(RFIC)或其任意组合。处理器还可以是具有可以同时执行指令的两个或两个以上的独立处理器(有时称为“核”)的多核处理器。

“信号介质”是指能够存储、编码或携带用于由机器执行的指令的任何无形介质,并且包括数字或者模拟通信信号或者其他无形介质以支持软件或者数据的通信。术语“信号介质”应当被理解为包括任何形式的调制数据信号、载波等。术语“调制数据信号”意味着具有一个或多个特性被设置或者被改变以便在信号中编码信息的信号。术语“传输介质”和“信号介质”表示相同的事物并且在本公开中可以互换使用。

“机器存储介质”是指存储可执行指令、例程和/或数据的单个或多个存储设备和/或介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。因此,该术语应当被理解为包括但不限于固态存储器、以及光学和磁性介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和/或设备存储介质的具体示例包括非易失性存储器,作为示例包括半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、FPGA和闪存设备;磁盘诸如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。术语“机器存储介质”、“设备存储介质”、“计算机存储介质”表示相同的事物并且在本公开中可以互换地使用。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”具体地排除载波、调制数据信号和其它这种介质,其中至少一些被术语“信号介质”覆盖。

“计算机可读介质”指的是机器存储介质和传输介质两者。因此,该术语包括存储设备/介质和载波/调制数据信号两者。术语“机器可读介质”、“计算机可读介质”和“设备可读介质”意味着相同的事物,并且在本公开中可以互换地使用。

“组件”是指具有由函数或子程序调用、分支点、API或者提供特定处理或者控制功能的分区或者模块化的其它技术所限定的边界的设备、物理实体或逻辑。组件可以经由它们的接口与其他组件组合以执行机器处理。组件可以是设计用于与其他组件一起使用的封装的功能硬件单元,以及通常执行相关功能的特定功能的程序的部分。组件可以构成软件组件(例如,实施在机器可读介质上的代码)或者硬件组件。“硬件组件”是能够执行某些操作的有形单元,并且可以以某种物理方式来被配置或布置。在各种示例实施例中,一个或者多个计算机系统(例如,独立计算机系统、客户端计算机系统或者服务器计算机系统)或者计算机系统的一个或多个硬件组件(例如,处理器或处理器组)可以由软件(例如,应用或应用部分)配置为操作以执行如本文所述的某些操作的硬件组件。硬件组件也可以机械地、电子地或其任何合适的组合来实施。例如,硬件组件可以包括被永久地配置为执行某些操作的专用电路或者逻辑。硬件组件可以是专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件组件还可以包括可编程逻辑或电路,该可编程逻辑或电路由软件临时配置以执行某些操作。例如,硬件组件可以包括由通用处理器或者其他可编程处理器执行的软件。一旦由这种软件配置,硬件组件成为了被唯一地定制以执行所配置的功能的特定机器(或者机器的特定组件),并且不再是通用处理器。应当理解,机械地、在专用地和永久地配置的电路中、或者在临时地配置的电路(例如,由软件配置的)中实施硬件组件的决定可以由成本和时间考虑来驱动。因此,短语“硬件组件”(或“硬件实施的组件”)应当被理解为涵盖有形实体,即被物理地构造、永久地配置(例如,被硬连线)或者临时地配置(例如,被编程)成以特定方式操作或者执行本文所描述的特定操作的实体。考虑硬件组件被临时配置(例如,被编程)的实施例,硬件组件的每个硬件组件不需要在任何一个实例处及时被配置或实例化。例如,在硬件组件包括由软件配置的通用处理器成为专用处理器的情况下,该通用处理器可以在不同时间被配置成分别不同的专用处理器(例如,包含不同的硬件组件)。软件相应地配置特定处理器或多个特定处理器,例如,以在一个时刻的实例构成特定的硬件组件,并且以在不同的时刻的实例构成不同的硬件组件。硬件组件可以向其他硬件组件提供信息,并且从其他硬件组件接收信息。因此,所描述的硬件组件可以被认为是通信地耦合的。在多个硬件组件同时存在的情况下,可以通过硬件组件中的两个或两个以上的硬件组件之间的信号传输(例如,通过合适的电路和总线)来实现通信。在多个硬件组件在不同时间被配置或被实例化的实施例中,例如这种的硬件组件之间的通信可以通过在多个硬件组件可以访问的存储器结构中存储和检索信息来实现。例如,一个硬件组件可以执行操作并且将该操作的输出存储在与其通信地耦合的存储器设备中。在稍后的时间,另一硬件组件可以随后访问存储器设备以检索并且处理所存储的输出。硬件组件还可以发起与输入或输出设备的通信,并且可以对资源(例如,信息集)进行操作。本文所描述的示例方法的各种操作可以至少部分地由(例如,通过软件)被临时地配置或者永久地配置为执行相关操作的一个或多个处理器来执行。无论是被临时地还是永久地配置,这种处理器可以构成处理器实施的组件,该组件操作以执行本文所描述的一个或多个操作或功能。如本文所使用的,“处理器实施的组件”是指使用一个或多个处理器实施的硬件组件。类似地,本文描述的方法可以至少部分地由处理器实施,其中特定的处理器或者多个处理器是硬件的示例。例如,方法的操作中的至少一些操作可以由一个或多个处理器或处理器实施的组件来执行。此外,一个或多个处理器还可以操作以支持在“云计算”环境中或者作为“软件即服务”(SaaS)的相关操作的执行。例如,操作的至少一些操作可以由计算机组(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,互联网)和经由一个或多个合适的接口(例如,API)来访问。操作的某些操作的执行可以分布在处理器之间,不仅驻留在单个机器之内,而且跨多个机器部署。在一些示例实施例中,处理器或者处理器实施的组件可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器场内)。在其他示例实施例中,处理器或者处理器实施的组件可以分布在多个地理位置上。

“载波信号”指能够存储、编码或携带由机器执行的指令的任何无形介质,并且包括数字或者模拟通信信号或者其它无形介质以促进这些指令的通信。指令可以经由网络接口设备使用传输介质通过网络被发送或接收。

“通信网络”指网络的一个或多个部分,该网络可以是自组织(ad hoc)网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网、互联网的部分、公共交换电话网(PSTN)的部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、

以下说明描述了本主题的示例实施例的系统、方法、技术、指令序列和计算机器程序产品。在以下描述中,为了解释的目的,阐述了许多具体细节以便提供对本主题的各种实施例的理解。然而,对于本领域技术人员来说,本主题的实施例可以在没有这些具体细节中的一些或其它细节的情况下实施是显然的。示例仅代表可能的变型。除非明确地另外说明,否则结构(例如,结构组件,诸如模块)是可选的并且可以被组合或细分,并且操作(例如,在过程、算法或其他功能中)可以在顺序上变化或者被组合或细分。

目前,用户可以在计算设备的操作系统(例如,Windows)中播放来自不同地点的媒体流。例如,视频可以在计算设备处操作的Web浏览器中的网站上被播放。可以在计算设备的默认媒体播放器(例如,Windows媒体播放器)中播放MP3文件。歌曲可以通过在计算设备上操作的第三方应用(例如“声田(Spotify)”应用)进行流式传输。取决于媒体流来源的地点,用户必须采取不同的动作以控制该流(例如,播放/暂停/静音)。针对一些媒体应用(例如,Win32应用),用户可以悬停在任务栏的媒体应用的条目以获得对传送控件的访问。针对其他媒体应用(例如,微软商店应用),用户可以获得对系统媒体传送控件(SMTC)UI的访问,SMTC UI出现在屏幕的左上角(但只有当用户的键盘上有媒体键时)。针对在Web浏览器上播放的媒体流,用户必须直接回到Web浏览器视窗,找到媒体流,然后随后对它采取动作。

本申请描述了一种用于在单个位置中管理源自在计算设备处操作的任何媒体应用的媒体的系统和方法。在一个示例实施例中,本申请描绘了一种用于将来自所有地点/应用的媒体流回放收敛到单个位置的方法。该单个位置向用户提供了一致的方法以操纵媒体流,无论其来源。当用户点击在任务栏通知区域中的音量图标时,弹出(flyout)将会出现,该弹出向用户示出当前正在播放的每个媒体流。根据该弹出,用户可以快速地标识出正在播放什么媒体流,并且随后操纵这些媒体流的回放状态。

根据示例实施例,计算设备标识被配置为在计算设备处操作的多个媒体应用。计算设备访问针对多个媒体应用中的每个媒体应用的元数据和回放信息。计算设备针对多个媒体应用生成统一的图形用户界面。统一的图形用户界面针对每个对应的媒体应用提供媒体信息和控制访问。

作为结果,本文所描述的方法中的一个或多个方法支持解决标识和控制哪些媒体应用正在计算设备中操作的技术问题。如此,本文所描述的方法中的一个或多个方法可以排除对某些工作或计算资源的需要,否则这些工作或计算资源将涉及打开Web浏览器,或者搜索可能负责在计算设备处播放媒体文件的其他应用,由(例如,在环境内的)一个或多个机器、数据库或设备使用的资源。这种计算资源的示例包括处理器周期、网络流量、存储器使用、数据存储容量、功耗、网络带宽和冷却能力。

图1是在其中可以实现或者部署本公开的一些示例实施例的网络环境100的图解表示。一个或多个应用服务器104经由网络102以客户端设备106的形式向网络化的用户设备提供服务器端功能。客户端设备106包括Web客户端112(例如,浏览器)、在客户端设备106上托管并且执行的程序化的客户端108(例如,媒体播放器“应用”)、以及管理在客户端设备106处操作的媒体应用(例如Web客户端112、程序化的客户端108)并且针对该媒体应用提供合并的或者统一图形用户界面的多源媒体管理应用110。程序化的客户端108可以是媒体播放器,媒体播放器被配置为播放存储在客户端设备106处的本地媒体文件或者来自服务器媒体应用124的流媒体文件。

应用程序接口(API)服务器120和Web服务器122向应用服务器104提供相应的程序化的和Web接口。具体的应用服务器118托管服务器媒体应用124,该服务器媒体应用包括组件、模块和/或应用。服务器媒体应用124可以将媒体流式传输到客户端设备106。例如,Web客户端112经由Web服务器122所支持的Web接口与服务器媒体应用124通信。类似地,程序化的客户端108经由应用程序接口(API)服务器120提供的程序化的接口与服务器媒体应用124通信。多源媒体管理应用110能够与服务器媒体应用124通信。

例如,第三方应用116可以是另一云存储系统或者另一媒体提供方。应用服务器118被示为通信地耦合到数据库服务器126,该数据库服务器支持对信息存储库或者数据库128的访问。在示例实施例中,数据库128包括存储设备,该存储设备存储将由服务器媒体应用124发布或者处理的信息。

此外,在第三方服务器114上执行的第三方应用116被示为具有经由应用程序接口(API)服务器120提供的程序化的接口对应用服务器118的编程访问。例如,第三方应用116,使用来自应用服务器118检索的信息,可以支持由第三方托管的网站上的一个或多个特征或功能。

图2是图示了根据一个示例实施例的多源媒体管理应用110的框图。多源媒体管理应用110包括媒体源接口202、过滤器模块204、媒体源管理器206和音量图形用户界面模块208。

媒体源接口202访问来自在客户端设备106处操作的媒体应用(例如,Web客户端112、程序化的客户端108)的元数据和回放信息。元数据和回放信息的示例包括:

·媒体信息,如艺术家/标题/专辑艺术等。

·当前回放状态(例如,播放、暂停、停止等)

·媒体项是否是播放列表的部分(意味着“下一个”和/或“上一个”按钮将是可适用的)。

·音频水平信息(音量混合器中你看到的视觉条)

·音量水平控件(音量混合器中你看到的滑动条)

在一个示例实施例中,媒体源接口202经由API与媒体应用通信。每个媒体应用可以经由对应的API与客户端设备106的操作系统对接。例如,Win32应用和微软商店应用有能力消耗两个现有的API:

Win32应用可以使用ITaskbarList3::ThumbBarAddButtons()API以将传送控件添加到任务栏上它们的应用的按钮的缩略图。

微软商店应用可以使用SystemMediaTransportControls API以将元数据和回放控件添加到系统媒体传输控制(SMTC)控件,当用户调用其键盘上的媒体键时,SMTC控件出现在屏幕的左上角。

媒体源接口202利用这些API中的任一个API进行注册,并且将注册信息(元数据和回放控件)集成到新的图形用户界面中,新的图形用户界面与音量弹出(例如,在点击任务栏的通知区域中的音量图标时出现的弹出)一起操作。SystemMediaTransportControlsAPI注册是简单的,因为每个注册自动表示媒体流。

然而,针对ITaskbarList3::ThumbBarAddButtons()注册的注册更复杂,因为注册可以表示或不表示将操纵媒体流的按钮的添加。利用该API注册的按钮可以显示任何任意图标,并且导致发生任何任意动作。完全是由媒体应用决定显示哪个图标以及当按下按钮时将发生什么。为了知道何时添加按钮以操纵媒体流,可以更新ITaskbarList接口,以向开发者提供声明他们的按钮与媒体流相关联的方式。然而,为了允许现有的媒体应用自动地利用该新特征工作,过滤器模块204实现“猜测”功能,该“猜测”功能分析注册,然后做出关于它是否与媒体流相关联的确定。例如:

如果三个按钮正在被注册并且它们的显示字符串是“前一个”、“暂停”和“下一个”,则这些按钮可能属于媒体流。

当做出确定时,过滤器模块204的“猜测”功能也可以利用其它系统信息。

在一个示例中,如果媒体应用的标题栏文本采用“-”的形式。这可以表示媒体流的艺术家和标题。

在另一示例中,可以使用IAudioSessionManager API以获得当前正在播放音频的媒体应用的列表。如果注册应用正在播放音频,则正被注册的按钮很可能控制该音频。

在另一示例实施例中,媒体源管理器206从在客户端设备106处播放媒体的Web浏览器(例如,Edge浏览器)访问元数据。当网页(由客户端设备106处的Web浏览器访问)利用HTML5媒体控件时,控件本身将元数据和回放信息发送到(客户端设备106的)壳(Shell),以在单个统一的图形用户界面(GUI)中显示,诸如音量弹出。当用户调用控件上的播放/暂停/停止/前进/后退/等按钮时,将通知音量弹出,并且将在那里反映新的回放状态。使用YouTube作为示例,当用户导航到YouTube.com上的视频时。例如,YouTube将使用HTML5媒体回放控件来开始绘制视频。在它们的部分不需要任何动作的情况下,视频的标题/描述和回放控件将随后在音量弹出中出现。

因此,媒体源管理器206在单个统一的GUI中合并并且注册媒体信息和控制访问。音量图形用户界面模块208访问单个的统一图形用户界面,以控制在客户端设备106处正在被播放的媒体的音量(或其他媒体功能,诸如跳过、倒回、暂停)。通过将所有媒体源收敛到单个位置(即,音量弹出),这将在Windows中创建新的媒体表面。

图3是图示了根据一个示例实施例的多源媒体管理应用的操作的示例的框图。用户130操作客户端设备106以播放来自以下各种媒体源的媒体(例如,音乐):默认媒体应用302、第三方媒体应用304和Web浏览器应用306。多源媒体管理应用110经由对应的API访问来自媒体应用的每个媒体应用(例如,默认媒体应用302、第三方媒体应用304、Web浏览器应用306)的元数据和回放信息。

图4图示了根据一个示例实施例的多源媒体管理应用的架构。架构400包含过滤器模块204、媒体源管理器206、音量图形用户界面模块208、视窗(Windows)媒体应用402、商店应用404、Web浏览器应用406、桌面API 408、媒体API 410、html5元素412、已注册的应用存储装置414、已注册的应用存储装置416、以及音频流视频流元素存储装置418。

视窗媒体应用402经由API注册到客户端设备106的操作系统(未示出)。例如,视窗媒体应用402使用ITaskbarList3 API向操作系统注册(桌面应用利用ITaskbarList3:ThumbBarAddButtons()将按钮添加到它们的任务栏缩略图)。已注册的视窗媒体应用402被存储在客户端设备106中的已注册的应用存储装置414中。

商店应用404经由API向客户端设备106的操作系统(未示出)注册。例如,商店应用404使用SystemMediaTransportControls API向操作系统注册(UWP应用利用SMTC API向OS注册关于它们的媒体流的信息)。已注册的商店应用404被存储在客户端设备106中的已注册的应用存储装置416中。

Web浏览器应用406经由HTML5元素向客户端设备106的操作系统(未示出)注册。例如,Web浏览器应用406提供HTML5音频/视频元素(网站可以使用HTML5

过滤模块204对已注册的应用存储装置414执行猜测功能,以确定元数据和控制访问,如先前参考图2所描述的。

媒体源管理器206访问来自已注册的应用存储装置414、已注册的应用存储装置416、以及音频流视频流元素存储装置418的元数据和控制访问。音量图形用户界面模块208基于元数据和控件访问来生成单个统一的GUI。与基于在每个应用上操作相反,单个统一的GUI提供在Shell级执行的媒体信息和控制。音量图形用户界面模块208使得针对所有媒体流的媒体信息和回放控件(无论是什么或来源)都能够在Shell中的同一位置显示。此外,媒体源管理器206能够在使用HTML5媒体回放控件的任何Edge浏览器视窗中,自动集成到元数据的Shell和媒体流传送控件中。媒体源管理器206还能够在与ITaskbarList或者SystemMediaTransportControls API集成的任何应用(Win32)或应用(商店)中,自动集成到元数据的Shell和媒体流回放操纵中。

图5是图示了根据一个示例性实施例的用于生成定制消息的方法500的流程图。方法500中的操作可以由多源媒体管理应用110使用以上参考图2描述的组件(例如,模块、引擎)来执行,因此,方法500是参考多源媒体管理应用110作为示例来描述的。然而,应当理解,方法500的操作中的至少一些操作可以被部署在各种其他硬件配置上或者由驻留在别处的类似组件来执行。例如,操作中的一些操作可以在服务器媒体应用124处执行。

在框502中,多源媒体管理应用110标识在客户端设备106处当前正在操作(或者被配置以操作)的媒体应用。在框504中,多源媒体管理应用110访问针对在客户端设备106处操作的每个媒体应用的元数据和回放信息。在框506处,多源媒体管理应用110基于元数据和回放信息针对媒体应用生成统一的用户界面。在框508处,多源媒体管理应用110将统一的用户界面提供为与桌面媒体任务栏(例如,任务栏的音量按钮)相邻地放置。

图6是图示了根据一个示例实施例的用于提供针对媒体应用的控制图形用户界面的方法的流程图。方法600中的操作可以由多源媒体管理应用110使用以上参考图2所描述的组件(例如,模块、引擎)来执行。因此,方法600是通过参考多源媒体管理应用110的示例来描述的。然而,应当理解,方法600的操作中的至少一些操作可以被部署在各种其他硬件配置上或者由驻留在别处的类似组件来执行。例如,操作中的一些操作可以在服务器媒体应用124处执行。

在框602处,多源媒体管理应用110检测桌面任务栏的音量GUI上的用户交互(例如,悬停在音量GUI上的指针)。在框604处,多源媒体管理应用110生成统一的媒体GUI,其指示在客户端设备106处当前正在被操作的(例如,运行)每个媒体应用。在框606处,多源媒体管理应用110在统一的媒体GUI中显示针对每个媒体应用的媒体信息。在框608处,多源媒体管理应用110针对在客户端设备106处操作的每个媒体应用提供控制GUI。

图7是图示了根据一个示例实施例的用于操作具有统一媒体用户界面的媒体应用的方法的流程图。方法700中的操作可由多源媒体管理应用110使用以上参考图2描述的组件(例如,模块、引擎)来执行,因此,方法700是通过参考多源媒体管理应用110的示例来描述的。然而,应当理解,方法700的操作中的至少一些操作可以被部署在各种其他硬件配置上或者由驻留在别处的类似组件来执行。例如,操作中的一些操作可以在服务器媒体应用124处执行。

在框702处,多源媒体管理应用110在控制GUI处接收用户控制(例如,用户点击跳过按钮)。在框704处,多源媒体管理应用110标识用户控制上的对应的媒体应用(例如,针对Web浏览器的跳过按钮)。在框706处,多源媒体管理应用110利用对应的媒体应用来操作功能或操作(例如,跳过利用Web浏览器播放的歌曲)。

图8图示了根据一个实施例的例程。在框802中,例程800标识被配置为在客户端设备处操作的多个媒体应用。在框804中,例程800访问针对多个媒体应用中的每个媒体应用的元数据和回放信息。在框806中,例程800针对多个媒体应用生成统一的图形用户界面,该统一的图形用户界面针对每个对应的媒体应用提供媒体信息和控制访问。

图9图示了根据一个示例实施例的统一的媒体用户界面的示例。统一的媒体用户界面914包括与在客户端设备106处操作的每个媒体应用相对应的元数据。例如,统一的媒体用户界面914图示了由媒体应用902、媒体应用904、媒体应用906和媒体应用908操作的歌曲信息和对应的控件。音量图形用户界面模块208生成控制针对所有媒体应用的音量的单个音量控制按钮。统一的媒体用户界面914与任务栏912相邻放置。

图10是其中指令1008(例如,软件、程序、应用、小应用程序、应用程序或其他可执行代码)用于使机器1000执行本文所讨论的可以执行的方法中的任何一种或多种方法的机器1000的图解表示。例如,指令1008可以使机器1000执行本文描述的方法中的任何一种或多种方法。指令1008将通用的、未编程的机器1000变换为被编程以所描述的方式执行所描述和示出的功能的特定机器1000。机器1000可以作为独立设备操作或者可以耦合(例如,网络化的)到其他机器。在网络化的部署中,机器1000可以在服务器-客户端网络环境中以服务器机器或者客户端机器的能力操作,或者作为对等(或者分布式)网络环境中的对等机器。机器1000可以包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、PDA、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家庭设备(例如,智能电器)、其他智能设备、Web电器、网络路由器、网络交换机、网桥、或者能够顺序地或以其他方式执行指定要由机器1000采取的动作的指令1008的任何机器。此外,虽然仅图示了单个机器1000,但是术语“机器”还应当被理解为包括单独地或者共同地执行指令1008以执行本文所讨论的方法中的任何一种或多种方法的机器集。

机器1000可以包括处理器1002、存储器1004和I/O组件1042,它们可以被配置为经由总线1044彼此通信。在示例实施例中,处理器1002(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、射频集成电路(RFIC)、另一处理器或其任何合适的组合)可以包括例如执行指令1008的处理器1006和处理器1010。术语“处理器”旨在包括多核处理器,该多核处理器可以包括两个或者更多个可以同时执行指令的独立处理器(有时称为“核”)。尽管图10示出了多个处理器1002,但是机器1000可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器、或其任何组合。

存储器1004包括主存储器1012、静态存储器1014和存储单元1016,两者都可由处理器1002经由总线1044访问。主存储器1004、静态存储器1014和存储单元1016存储实现本文描述的方法或功能中的任何一种或多种方法或功能的指令1008。指令1008在由机器1000执行期间,还可以完全或部分地驻留在主存储器1012内、静态存储器1014内、存储单元1016内的机器可读介质1018内、处理器1002中的至少一个处理器内(例如,在处理器高速缓冲存储器内)或其任何合适的组合。

I/O组件1042可包括各种的组件以接收输入、提供输出、产生输出、传输信息、交换信息、捕捉测量结果等。包括在特定机器中的特定I/O组件1042将取决于机器的类型。例如,诸如移动电话的便携式机器可以包括触摸输入设备或其他这种输入机构,而无头服务器机器将可能不包括这种触摸输入设备。应该理解,I/O组件1042可以包括许多其他没有在图10中示出的组件。在各种示例实施例中,I/O组件1042可以包括输出组件1028和输入组件1030。输出组件1028可包括视觉组件(例如,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)之类的显示器)、声学组件(例如,扬声器)、触觉组件(例如,振动马达、阻力机构)、其他信号生成器等。输入组件1030可以包括字母数字输入组件(例如,键盘、被配置为接收字母数字输入的触摸屏、光-光键盘或其他字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器、或者另一指点器)、触觉输入组件(例如,物理按钮、提供触摸或者触摸手势的位置和/或力度的触摸屏、或或者其他触觉输入组件)、音频输入组件(例如,麦克风)等。

在又一示例实施例中,I/O组件1042可以包括生物特征组件1032、运动组件1034、环境组件1036或位置组件1038,以及各种各样的其他组件。例如,生物特征组件1032包括用于检测表达(例如,手表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1034包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件1036包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测周围温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、接近传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,为了安全而检测危险气体的浓度或测量大气中的污染物的气体检测传感器)、或可以提供与周围物理环境对应的指示、测量或信号的其它组件。位置组件1038包括位置传感器组件(例如,GPS接收机组件)、高度传感器组件(例如检测气压、从中可以得出高度的高度计或气压计)、定向传感器组件(例如,磁力计)等。

通信可以使用各种技术来实现。I/O组件1042还包括可操作以分别经由耦合1024和耦合1026将机器1000耦合到网络1020或者设备1022的通信组件1040。例如,通信组件1040可以包括网络接口组件或与网络1020对接的另一合适的设备。在另外的示例中,通信组件1040可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、

此外,通信组件1040可以检测标识符或者包括可操作以检测标识符的组件。例如,通信组件1040可以包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,用以检测诸如通用产品代码(UPC)条形码的一维条形码、诸如快速响应(QR)码、阿兹特克码、数据矩阵、数据字形、MaxiCode、PDF417、超码、UCC RSS-2D条形码和其它光学码的多维条形码的光学传感器)、或声学检测组件(例如,用以标识带标签的音频信号的麦克风)。此外,可以经由通信组件1040得到各种信息,诸如经由互联网协议(IP)地理定位的位置、经由

各种存储器(例如,存储器1004、主存储器1012、静态存储器1014和/或处理器1002的存储器)和/或存储单元1016可以存储一组或多组指令和数据结构(例如,软件),该一组或多组指令和数据结构体现本文所描述的方法或者功能的一个或多个方法或者功能,或者由本文所描述的方法或者功能的一个或多个方法或者功能使用。当由处理器1002执行这些指令时(例如,指令1008),引起各种操作以实施所公开的实施例。

可以通过网络1020、使用传输介质、经由网络接口设备(例如,包括在通信组件1040中的网络接口组件)、并且使用多个公知的传输协议(例如,超文本传输协议(HTTP))中的任何一个传输协议来传输或接收指令1008。类似地,可以经由耦合1026(例如,对等耦合)使用传输介质将指令1008传输或接收至设备1022。

示例1是一种计算机实现的方法,包括:标识被配置为在计算设备处操作的多个媒体应用;访问针对多个媒体应用中的每个媒体应用的元数据和回放信息;以及针对多个媒体应用生成统一的图形用户界面,该统一的图形用户界面针对每个对应的媒体应用提供媒体信息和控制访问。

在示例2中,示例1的主题还包括:将统一的图形用户界面与计算设备的桌面中任务栏的音量图形用户界面相邻地放置。

在示例3中,示例2的主题还包括:检测与音量图形用户界面的用户交互;以及响应于检测,引起对统一的图形用户界面的显示。

在示例4中,示例3的主题还包括:在统一的图形界面上检测与多个媒体应用中的一个媒体应用相对应的控件的用户交互;以及利用对应的媒体应用执行与控件相对应的功能。

在示例5中,示例1的主题,其中,媒体信息包括媒体元数据、回放状态和音频水平信息。

在示例6中,示例1的主题,其中,控制访问包括音量水平控件和媒体回放控件。

在示例7中,示例1的主题,其中,多个媒体应用中的一个媒体应用包括以下中的一项:操作系统默认媒体应用、第三方应用和Web浏览器应用。

在示例8中,示例1的主题,其中,访问元数据和回放信息还包括:利用在计算设备处操作的操作系统的媒体API注册多个媒体应用中的一个媒体应用,以访问针对已注册的媒体应用的元数据和回放控件;以及将元数据和回放控件与统一的图形用户界面集成,媒体信息是基于元数据的,控制访问是基于回放控件的。

在示例9中,示例8的主题还包括:利用过滤器来分析注册,过滤器被配置为确定源自已注册的媒体应用的图标是与元数据相关联还是与回放控件相关联。

在示例10中,示例10的主题还包括:其中,媒体应用中的一个媒体应用包括Web浏览器,其中,访问元数据和回放信息还包括:检测Web浏览器正在操作HTML5媒体控件;以及访问来自Web浏览器的元数据和回放信息。

尽管已经参考具体示例实施例描述了本主题的概述,但是在不脱离本发明的实施例的更宽范围的情况下,可以对这些实施例进行各种修改和改变。例如,本领域普通技术人员可以将本文的各种实施例或其特征混合、匹配或使其成为可选的。本发明主题的这些实施例在本文可以单独地或共同地由术语“发明”来指代,这仅仅是为了方便,并且如果所公开的实际上超过一个,这不旨在自愿地将本申请的范围限制为任何单个发明或本概念。

相信本文所描述的实施例被足够详细地描述以使本领域技术人员能够实践所公开的教导。可以使用其他实施例并且从中导出其他实施例,使得可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。因此,具体实施方式不应被理解为限制性的,并且各种实施例的范围仅由所附权利要求以及这些权利要求所赋予的等效物的全部范围限定。

此外,可以为本文所描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、模块、引擎和数据存储之间的边界在某种程度上是任意的,并且在具体说明性配置的上下文中示出了特定操作。可以预期其他功能的分配并且可以落入本发明的各种实施例的范围内。通常,在示例配置中作为单独资源所呈现的结构和功能可以被实施为组合的结构或资源。类似地,呈现为单个资源的结构和功能可以被实施为单独的资源。这些和其他变型、修改、添加和改进落入由所附权利要求表示的本发明的实施例的范围内。因此,说明书和附图被认为是说明性的而不是限制性的。

相关技术
  • 多源媒体管理
  • 记录媒体管理装置及记录媒体管理方法
技术分类

06120113236193