媒体播放器服务库的制作方法

文档序号:6568509阅读:229来源:国知局

专利名称::媒体播放器服务库的制作方法媒体播放器服务库祖且冃尿由于近来技术发展,计算机用户现在能够享受许多提供改进的用户体验的特征。例如,用户可以在诸如个人、膝上型或手持式计算机、以及移动电话和其它便携式媒体设备等各种计算设备上播放媒体和多媒体内容。在一些媒体环境中,计算设备有权访问存储诸如运动图象专家组音频层-3(MP3)文件和Windows⑧媒体技术音频(WMA)和视频(WMV)文件等媒体文件的计算机可读介质。许多计算机现今还能够播放紧致盘(CD)和数字多功能盘(DVD),并且具有能够流传送和下载音频与视频的因特网连接。在个人数字媒体领域,存在若干令人感兴趣的媒体"范围"。例如,在该领域的一端,用户可在本地的一个或多个机器或设备上存储个人媒体集合。典型的用户的本地或个人媒体集合包括可能数千个媒体项。在该领域的另一端,在线零售商(例如FYE.com)、在线媒体源(例如微软公司的MSN⑧音乐服务)、以及在线订阅服务(例如Napster和真实网络(RealNetwork)的Rhapsody⑧数字音乐服务)通常拥有超过百万个能供用户(例如通过因特网)远程使用的媒体项的库。在这两个范围之间的一般交互是通过购买和/或下载媒体内容,从其中之一提取媒体并将这些项插入另一个之中。但服务库的大小明显是本地库无法比拟的,并且用户消费媒体的速度与同时间内发布的媒体量相比相对较低。换言之,在任意给定的日子中发布的媒体项远多于单个用户所能购买的。因此,将这两种范围集成在一起是还留着没有完成的事情。而且,常规的用户界面、实现模型等等还是非常不同的,这使本地与远程媒体库的集成变得复杂。概述本发明的实施例通过提供用户能管理本地与远程媒体的无缝的用户体验来克服已知系统中一个或多个难点。在这点上,用户可将本地与远程两者的媒体库视为其自己的媒体集合的一部分,同时保留对什么是本地和什么是远程的清楚了解。本发明的诸方面在有利于本地用户体验的情况下,提供对复杂的远程数据源的用户友好的内容驱动的访问。而且,本发明的诸方面可应用于各种形式的数字媒体,包括歌曲、电影、电视表演和音频书,以及诸如书籍、物理DVD集等传统的非数字媒体项的物理库。具有用于执行管理媒体集合的方法的计算机可执行指令的计算机可读介质体现了本发明的更多方面。可替换地,本发明的实施例可包括各种其它方法和装置。其它特征将部分地是显而易见的,并且部分地在下文中指出。提供本概要以用简化的形式介绍下面在详细描述中将描述的一些概念。本概要不是要标识所要求保护的主题的关键特征或必要特征,也不是要用于帮助确定所要求保护的主题的范围。附图简述图1是示出实现本发明实施例的示例性计算机系统的组件的框图。图2是示出根据本发明实施例的目录更新过程的示例性流程图。图3A至图3F是示出根据本发明实施例的媒体播放器用户界面的诸方面的示例性屏幕截图。图4是示出根据本发明实施例的媒体播放器用户界面的诸方面的示例性屏幕截图。图5是根据本发明实施例的示例性专辑堆栈的图示。图6是根据本发明实施例在创建智能播放列表时使用的示例性数据结构的框图。在全部附图中,相应的参考标号指示相应的部分。详细描述现在参考附图,图1示出其中可实现用于增强用户媒体播放体验的本发明的示例性计算环境。媒体播放器系统100包括一个或多个耦合到数据通信网络104的客户机计算机102。一个或多个服务器计算机108也可耦合至网络104。如图1所示,系统100还包括一个或多个与服务器108相关联的数据库110。在一个实施例中,计算机102通过网络104访问服务器108(以及数据库110中的信息)。作为一个示例,网络104是因特网(或万维网),但本发明的教导可应用于任何数据通信网络。服务器108和计算机102在所示实施例中例如使用超文本传输协议(HTTP)来通信。本发明的诸方面提供在由计算机执行时呈现媒体内容并检索、存储和显示上下文信息的软件例程。进一步参考图l,用户的计算机102访问一个或多个以本地媒体库112形式存储的数字媒体文件。本地媒体库112可驻留在计算机的硬盘驱动器、可移动计算机可读存储介质等中。在所示的实施例中,计算机102执行用于呈现所选的媒体文件的媒体播放器应用程序116。媒体播放器应用程序116可以是被配置成播放数字媒体的任何合适的媒体播放器,从而使用户能体验到媒体所包含的内容。例如,体现本发明诸方面的媒体播放器应用程序可在微软公司的WindowsMedia播放器程序上构建。媒体播放器应用程序116可被配置为通过网络104与服务器108及其相关联的数据库110通信,以访问存储在数据库110中的数据。在此情况中,服务器108和数据库110组成允许用户访问、检索和显示所谓的元数据的媒体因特网服务站点120。具体地,本发明的该方面允许媒体播放器应用程序116访问、检索和显示与呈现媒体内容有关的元数据。本领域的技术人员熟悉元数据,它是有关数据的简单信息。在本发明的语境中,元数据包括与由媒体播放器应用程序116呈现的数字媒体文件的特定内容有关的信息。基本元数据包括标题、作曲者、演奏者、流派、内容描述等等。扩展元数据包括封面设计、演奏者传记、回顾、有关演奏者、购买相似项的地点、即将上演的音乐会、票务、指向包括购买机会的其它有关体验的URL等等。在图1的实施例中,服务器108将存储在数据库110中的元数据与正由用户体验的特定媒体内容进行匹配。服务器108随后将元数据返回给用户的计算机102。在此处的许多示例中,为了方便起见,媒体内容是在存储在客户计算机的存储器中的音乐内容的上下文中描述的。要了解和知道,媒体内容可包含在任何合适的介质上,包括下载到客户机计算机102的本地存储器或计算机102能通过网络104访问的数字文件。媒体内容可包括但不限于,例如已编码媒体文件形式的特殊编码的媒体内容,诸如使用MicrosoftWindowsMedia播放器程序用MicrosoftWindowsMedia格式编码的媒体内容。图1的系统100允许用户在启用媒体的播放设备(例如,运行MicrosoftWindows⑧操作系统和WindowsMedia播放器程序的计算机102)上呈现媒体文件,并且不仅期望体验媒体内容,而且还要有权访问有关元数据的所有方面。另外,用户社区具有贡献诸如对过程的社区评级等关键信息的能力,以提高其它用户的体验。本发明的诸方面还包括计算机102上执行的媒体播放器应用程序116与一个或多个远程媒体服务122之间的通信。远程媒体服务122可以是,例如在线零售商(例如FYE.com)、在线媒体源(例如微软公司的MSN⑧音乐服务)、或者在线订阅服务(例如,Naspter⑧和真实网络的Rhapsody⑧数字音乐服务)。在一实施例中,远程媒体服务122利用一个或多个服务器来维护可用媒体文件的目录,即远程库126。本领域的技术人员熟悉这样的服务,用户从这些服务可直接通过因特网下载音乐文件和/或收听歌曲,通常是月付订阅费或者按每一歌曲付费。例如,远程库126包含在线媒体提供者的详细目录。图1所示的示例性操作环境包括通用计算设备(例如计算设备102),诸如执行计算机可执行指令的计算机。计算设备一般至少具有某种形式的计算机可读介质。计算机可读介质包括易失性和非易失性介质、可移动和不可移动介质两者,它可以是可由通用计算设备访问的任何可用介质。作为示例但非限制,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括易失性和非易失性、可移动和不可移动介质,它们以存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现。通信介质一般以如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。本领域的技术人员熟悉已调制数据信号,它以将信息编码在信号中的方式设置或改变的一个或多个特征。有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外和其它无线介质是通信介质的示例。任意上述的组合也包括在计算机可读介质的范围之内。计算设备包括或有权访问可移动和/或不可移动、易失性和/或非易失性存储器形式的计算机存储介质。用户可通过输入设备或用户接口选择设备,如键盘和定点设备(例如鼠标、跟踪球、笔或触摸垫)将命令和信息输入计算设备。其它输入设备(未示出)可连接到计算设备。监示器或其它类型的显示设备(未示出)也连接至计算设备。除了监示器之外,计算机通常包括其它外围输出设备(未示出),诸如打印机和扬声器,它们可通过输出外围接口(未示出)连接。计算机102可使用至一个或多个远程计算机的逻辑连接在网络化环境中运行。远程计算机可以是个人计算机、服务器(例如服务器108、124)、路由器、网络PC、对等设备或其它常见的网络节点,并且一般包括许多或所有上面相对于计算机102所述的元件。这样的网络环境在办公室、企业级计算机网络、内联网和全球计算机网络(例如因特网)中是很常见的。尽管结合示例性计算系统环境来描述,但本发明的诸方面可与众多其它通用或专用计算系统环境或配置一起运行。该计算系统环境不是要对本发明的诸方面的使用范围或功能提出任何限制。而且,该计算系统环境不应被解释为具有对示例性操作环境中所示的任一组件或其组合的任何依赖性或要求。可适于本发明的实施例使用的众知的计算系统、环境和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、移动电话、网络PC、小型机、大型机、包括任何上述系统或设备的分布式计算环境等等。本发明的实施例可在诸如程序模块等由一个或多个计算机或其它设备执行的计算机可执行指令的一般语境中描述。通常,程序模块包括但不限于例程、程序、对象、组件和数据结构,它们执行特定的任务或实现特定的抽象数据类型。本发明的诸方面还可在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可位于包括存储器存储设备的本地和远程两者的计算机存储介质中。进一步参考图1,本发明的实施例提供计算机102的用户可管理本地媒体(即本地库112)和远程可访问媒体(即远程库126)的相对无缝的用户体验。在一方面,用户可将本地和远程媒体库两者视为个人媒体集合的一部分,同时保持对什么是本地什么是远程的清楚认识。本发明的实施例提供对诸如远程库126等复杂的远程数据源的用户友好的、内容驱动的访问,并有利于本地用户体验(例如,如搜索和排序等响应行为;诸如"文字轮转(wordwheeling)"、搜索、排序、大列表滚动、替换视图、以及上下文菜单等丰富的用户体验构造;以及用于离线使用的本地存储)。而且,本发明的诸方面可应用于各种形式的数字媒体,包括音频文件(例如,音轨、新闻报道、音频web日志、音频书、演讲、肥皂剧等)、视频和多媒体文件(例如,电影、电影片花、电视表演等)和图像。另外,本发明的诸方面还可应用于诸如书籍、物理DVD集等传统的非数字媒体项的物理库。在一实施例中,媒体播放器系统100实现集成的媒体库系统。如上所述,计算机102执行媒体播放器应用程序116以呈现一个或多个媒体文件。在此情况中,可存储在计算机102的硬盘驱动器上或者与该计算机相关联的可移动存储设备上的本地库112包含一个或多个媒体文件。另外,远程库126包含一个或多个媒体文件。尽管库126在计算机102的远程,但其媒体文件能由媒体播放器应用程序116通过网络104访问。用户界面(例如见图3A-3F)显示表示本地库112和远程库126两者的信息。媒体播放器应用程序116响应于通过用户界面的用户输入,在本地库112或远程库126任一或两者上执行一个或多个媒体播放器操作。典型的媒体播放器操作包括,例如显示与媒体文件相关联的元数据;呈现、复制或下载所选的媒体文件;呈现所选的媒体文件的样本;将媒体文件分配到一个或多个播放列表;根据媒体文件的元数据或内容搜索或排序媒体文件;显示媒体库内容;滚动媒体库内容;以及显示可用媒体播放器操作的上下文菜单。本发明的一方面涉及由计算机102维护的远程库126的本地副本130。在一实施例中,本地副本130是目录表示计算机102能从远程媒体服务122访问的远程媒体文件的压縮的数据库或目录。在附录A中描述的示例性模式允许相对较强地压縮通常较大的远程库126以允许本地存储。例如,根据该示例性模式的文件结构的压縮允许1.2百万个元数据磁道适合于约20M字节的存储。在一实施例中,远程媒体服务122生成远程库126的副本130。在替换方案中,媒体因特网服务120可与远程媒体服务122通信以生成远程库126的副本130。附录B提供示例性导入模式。图2示出根据本发明一实施例的目录更新过程。如所示的,媒体播放器应用程序116通过向媒体播放器"生活在服务库中(LiveintheServiceLibrary)"(LISL)插件应用程序132请求当前的目录126而开始。接着,插件132与后端,即远程媒体服务122(或服务120)通信以获得完整的目录或者更新。在一实施例中,目录服务器124不仅维护当前状态的远程库126,而且还维护多个以前的版本。通过取N个先前的目录并应用差异功能136,服务器124生成N个差异文件138,它们描述每一先前的目录与当前目录之间的差异。远程服务122(或服务120)随后允许LISL插件132适当地下载完整的目录或差异文件。如果插件132下载完整的目录(即表示远程库126的压縮数据库),则插件132将其存储在计算机102上并将其位置返回给媒体播放器应用程序116。另一方面,如果插件132下载目录更新,则插件132启动客户机侧更新过程。在图2中,LISL插件132在存储在计算机102上的旧的过期的目录140上执行合并功能140,以添加差异文件138并生成新的目录146。合并之后,插件132更新参考标号130处所示的本地目录,并且将其位置返回给媒体播放器应用程序116。本发明的若干有利的方面在下面图3A至图3F所示的一系列示例性用户界面的上下文中描述。通常,图3A-3F描绘的用户界面仅是示例性的,并且其外观细节不应被解释为关键性的。计算机1.02适用于执行在此关于这些用户界面描述的媒体播放器操作和动作,它们体现了本发明的诸方面。由计算机102执行的媒体播放器应用程序116通过用户界面从用户接收指令和选择并提供信息给用户。参考图3A,媒体播放器应用程序116显示表示本地库112和远程库126两者的至少一个分层结构。例如,该分层结构是示出存储在计算机102的硬盘驱动器上的文件的可展开和可折叠的树结构302,以及示出用户有权访问的远程媒体文件的另一可扩展和可折叠的树结构304。根据本发明的诸方面,对诸如本地副本130等压縮的本地存储的数据库的使用允许媒体播放器应用程序116在集成的用户界面中非常快地显示数千甚至数百万个包含在远程库126中的音轨的列表306。代替树结构或者除树结构之外,该用户界面还提供"面包屑(breadcrumb)"导航栏308,用于通知用户有关被显示的媒体项列表306的位置和特性。有利的是,图3A的用户界面包括显示元数据、基于可编辑的推荐等等。有时被称为特性枢轴(specialtypivots)的这些基于可编辑的推荐是"新鲜的",因为它们是以web为源的,并且非常快,因为它们是在本地引用的。用户界面的中间窗格310显示媒体项列表306。在此实施例中,面包屑栏308和树结构304指示列在中间窗格312中的媒体文件是可通过网络104从远程媒体服务122访问的歌曲。此外,中间窗格312也可显示元数据,诸如专辑艺术、音轨数和名称、持续时间、社区或用户评级、艺术家等等。中间窗格312中的媒体文件列表306对于远程媒体库126和本地库112两者的用户体验是一致的。如下面将更详细地描述的,本发明的一实施例还包括在媒体播放器应用程序116的用户界面中的持久搜索域316(见图3B),用于接收用户输入的搜索项以查询压縮的目录。该实施例的一个方面允许"文字轮转",即在用户输入搜索项的附加字符时快速更新搜索结果。关于"文字轮转",诸如搜索域316或其它形式的查询框等UI元素为用户提供对其计算机以及因特网上的信息的即时搜索访问。在一实施例中,搜索域316使用"文字轮转"来随着用户开始键入搜索项而动态地在中间窗格中显示结果。例如,当用户键入"n-o-r-a-h"到搜索域316中(见图3C)时,该用户很快看见包含字母"n"的任何媒体文件的列表,并且这些搜索结果自动并且快速地随着用户键入附加的字符而更新,第一个是"n",然后是"no",等等。图3B还示出用于显示媒体项的播放列表318的篮(basket)或箱(bin)。本领域的技术人员熟悉使用播放列表来对媒体文件排序以供媒体应用程序116呈现。有利的是,媒体播放器应用程序116通过用户界面响应于用户输入,以对来自本地库112或远程库126任一或两者的一个或多个媒体文件执行各种媒体播放器操作。参考图3C,示例性用户界面指示按艺术家分组的远程媒体文件,作为示例,例如由树结构304和面包屑条308来指示。在一实施例中,中间窗格312中的堆栈的专辑艺术图象320(也见图5)增强了用户体验。在此情况中,"更多信息"区域310提供上下文信息(例如有关艺术家的),诸如被最多下载的艺术家或主演艺术家。在图3C中,在此例中,用户通过键入特定艺术家的名字到搜索域316中来搜索该艺术家。在此情况中,中间窗格312显示对应于该特定艺术家的专辑堆栈320。点击图3C中的专辑堆栈320给出诸如图3D中所示示例的用户界面。搜索域316被清除,指示结果未被过滤。这里,"更多信息"区域310提供特艺术家专属的元数据给用户并驱动本地播放器用户界面。中间窗格312显示可从远程库126得到的所选艺术家的全部专辑。图3E的示例性用户界面可通过点击来自图3D的"更多信息"区域310中的"相似艺术家"之一来到达。面包屑导航栏308示出用户所选的相似艺术家。点击该相似艺术家的被最多下载专辑之一,如在图3E的"更多信息"区域310所示,将用户带到图3F的用户界面。面包屑栏308现在示出如"专辑"等上下文,因为用户从图3E选择了一个专辑。如图4的示例性用户界面所示,有时被称为"订阅图标(chicklet)"的图形表示或图标326可在服务库(即远程库126)中使用以列出306有关媒体文件的本地所有权或其它状态信息。在所示的实施例中,在库视图中的动作列协助用户进行诸如购买、添加到库、下载、重新下载等的行为。这对于集成本地与远程环境特别有利。表1提供可在动作列中示出的示例性状态信息的列表。<table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table>表l与上述这些不同的其它用户界面被认为是在所要求保护的本发明的范围内。本发明的其它方面涉及在中间窗格、"更多信息"区域或媒体播放器UI中的其它地方呈现细节列表。代替仅在艺术家视图下示出音轨和专辑,本发明的一实施例示出下列示例性布局。在此情况中,这些的每一项是媒体的"容器"(排序的列表)并且可以被打开以查看内容。换言之,特定的艺术家可不仅在"艺术家"中表示,也可在若干其它列表(例如,专辑、图表、格莱美奖获得者、主演列表等)中表示。创建智能的知晓LISL的播放列表的一种重要机制是由本发明实施例使用的新颖命名规范。例如,从服务库内容创建的播放列表具有流传送统一资源定位符(URL)、服务标识符(SID)以及服务名称(SNAME)。由用户使用本地内容创建的播放列表也可用本地路径来创建,并在有匹配它的SID/SNAME时,也可用SID/SNAME来创建。在一实施例中的播放列表文件具有用于创作播放列表的路径,但播放列表解析器代码可使用所有可用ID来将媒体解析成大多数合适的内容(通常本地媒体首先被收集以供呈现,即使它不是远程媒体所遵循的同一路径)。本发明的又一方面涉及用于具有流传送URL和SID/SNAME行为的LISL播放列表的播放列表解析算法。例如,在播放列表由LISL内容创建时,播放列表直到所有音轨已经被下载才能被持久保存。如果用户碰巧注销(或者关闭其膝上型电脑),则用户在未创建播放列表的位置处。这可能并不是用户希望发生的。相反,用户愿意播放列表立即可用于任何目的(例如,播放、刻录、同步等)并且该播放列表偏向使用位于本地的媒体而非流媒体。在一实施例中,当新播放列表由LISL内容创建时,媒体播放器应用程序116保存具有流URL以及SID与SNAME参数的播放列表。这三个域可保存在播放列表中。在此例中媒体的下载在其自己的时间线上稍后发生。由于错误、慢速链路等,使媒体在本地出现要花数小时或数日。甚至有可能(由于过量的尝试错误、用户异常中止的下载等)媒体再也无法下载到本地计算机102。在回放播放列表时,根据本发明的实施例,媒体播放器应用程序116知道SID和SNAME域。因而,当SID和SNAME参数被找到,并且播放列表的路径分量是web流URL(而非本地URL)时,媒体播放器将首先试图定位一个在计算机本地的URL作为替代。如此,对于远程回放,更偏向本地回放。有利的是,本地路径可通过查询本地媒体播放器数据库中匹配播放列表中的SID和SNAME域的记录来找到。当被找到时,媒体播放器将播放本地媒体文件而不是远程媒体文件。在一实施例中,集成的LISL环境允许使用本地LISL数据库(即本地副本130)和本地用户数据库(即本地库112)在本地过滤相似的艺术家列表。在这点上,本发明的诸方面提供高度个性化的"相似艺术家"行为,而不必向音乐服务122揭示用户的个人播放或所有权信息。例如,"更多信息"区域(例如图3A-3F的区域310)可示出"相似艺术家"以协助用户进行音乐发现。独自地,这能让用户发现音乐,但并不协助用户快速确定这些相似艺术家中的哪一些已经表示在本地库112中。本发明的一实施例将该信息分成不同的组,诸如"相关艺术家(在你的库中)"和"待发现的艺术家(在LISL中)"。在此情况中,"相关艺术家"视图示出用户在本地库112中已有的艺术家,而"待发现的艺术家"视图示出在本地找不到艺术家。例如,由本地副本130表示的LISL目录可知道N个艺术家(对于一百万音轨,这大约是90,000个艺术家)。对于每一艺术家,LISL目录可具有N个(例如二十至三十个艺术家)建议的艺术家,按照相似性等级(第一个是在客户机上最相似的)。在客户机上,可存在两个用户体验区域用于显示艺术家域。对于"相关艺术家"区域,本地播放器代码将查看在前的N个艺术家,并选取在用户的本地库112中存在的那些来显示。对于"待发现的艺术家"区域,本地播放器代码将查看在前的N个艺术家,并选取在用户的本地库112中不存在的那些来显示。其净效果是用户可快速超链至他们有的艺术家和他们没有的艺术家。图5是根据本发明实施例的示例性专辑堆栈(例如专辑堆栈320)的图示。在一实施例中,堆栈320提供可用于特定艺术家的每一专辑的专辑艺术。这些图形表示使用每一专辑精确的专辑艺术,并且专辑艺术图象彼此偏移,以指示堆栈中专辑的实际数量。在所示的实施例中,专辑艺术图象相对于彼此轻微地旋转,并且本发明的诸方面对这些图象进行阿尔法混合以使它们在视觉上对于用户更吸引人。参考图6,本发明的诸方面涉及启用如上所述的智能播放列表的数据结构。在一实施例中的数据结构包括适于由媒体播放器应用程序116呈现的媒体文件的播放列表。在此情况中,在播放列表中的每一媒体文件位于本地库112或远程库126任一中。该数据结构还包括一对标识符,即用于标识播放列表中的每一媒体文件的第一标识符SID和表示播放列表中的每一媒体文件的源的第二标识符SNAME。此外,该数据结构包括播放列表中的每一媒体文件的流定位符,诸如流URL。流定位符由第一和第二标识符定义,并且可用于在远程库126中定位每一播放列表媒体文件之前,首先定位本地库112中的每一播放列表媒体文件来呈现。在此例示和描述的这些方法的执行或履行的顺序不是要点,除非另有规定。即,发明者构想这些方法的元素可按任何顺序执行,除非另有规定,并且这些方法可包括比在此所公开的更多或更少的元素。例如,可以构想在另一元素之前或同时执行或履行一特定元素是在本发明范围之内的。当介绍本发明或其实施例的元素时,冠词"一"、"一个"、"该"和"所述"旨在表示存在一个或多个元素。术语"包括"、"包含"和"具有"旨在包含并且表示除所列元素之外还有其它元素。通过上述内容,可看到本发明的若干目标被实现并且获得了其它有利结果。因为在不脱离本发明实施例的范围的情况下可在上述结构和方法中作出各种变化,因此其目的是,包含在上面的描述中并结合附图所示的所有内容将解释为说明性而不是限制性的。附录A压縮数据库模式弁pragmaonce〃该结构用于储存对字的引用〃〃串链接是24位引用。该引用可指向三个独特位置之一,〃并且这些位置由链接的值来确定。〃//可能性1)0..(WORDSIZE画1)〃该范围是到WORD文本二进制大对象的偏移量。〃该索弓1是按照CHAR,而非BYTE。〃//可能性2)WORDSIZE..(WORDSIZE+RUNCOUNT画1)〃该范围是到RUN二进制大对象的偏移量。该索引映射到指示行程有多长的另一表〃(允许乘法将行程程度消除)。////可能性3)(WORDSIZE+RTOtCOUNT)…(WORDSIZE+RUNCOUMT+(RUNSIZE-3LETTERRUNSTART-l))//该范围是索引到RUN二进制大对象的不同方式。〃此处的一个示例是包含在其它较长的字引用内的二字行程。〃这些包含的引用可通过允许来自3LETTERRUNSTART位置的虚拟指针+指示要跳过多少串链接的偏移量来指出。〃所有这些引用行程是2个字。〃//上述的第一个可能性索引到平面文本二进制大对象。//该二进制大对象具有相对结构〃//DWORDdwWordSize'.//WCHARwszWords[dwWordsSize]〃//行程二进制大对象具有以下相对结构-〃//DWORDdwRunMaxIjen''//DWORDrgRunCount[dwRunMaxIjen]//DWORDdwRunCount,'//SStringLinkRuns[dwRunCount]〃〃//注意该结构存在是因为以下许多结构可被直接强制类型转换成它以允许对其中的串进行泛型处理。//这不能被放置在它们内,因为将占用4字节而非所期望的3字节。structSStringljink:unsignednStringliink:24,.//upto16.7Mlinks(wordsphrases+offsets)〃注意这不等于字面上的结构体大小(sizeof(SStringLink))constDWORDkSt:riiigIjirikSize=3〃,//该结构用于储存关于一音轨的每一项的信息〃■////音轨被储存在以DWORD计数为前缀的平面数组中。//它们按照专辑艺术家+专辑标题+音轨索引来排序c〃//注意对齐边框必须在4字节边界上!!!structSTrackDataunsignednStringljink24,移量)unsignedunsignedunsigned〃**32**unsigned//**32**unsigned星准确度nPopularityfCanBuyfCanStreamdwTrack工DriRating32,4unsignednDuration:10,下为120分钟,l小时准确度下为32小时unsignedfExplicit:1,-unsignednUnused:1,'〃最多16.7M个链接(单词+短语+偏6;〃64级粒度〃16个唯一值(0.0,1.0-5.0)-半//1秒准确度下为8.5分钟,15秒准确度〃注意这不等于字面上的结构体大小(sizeof(STrackData))constDWORDkTrackDataSize=10//该结构用于储存每一艺术家的信息〃'〃//艺术家被储存在以DWORD计数为前缀的平面数组中。//它们按照nTracklndex来排序,其中没有音轨索引的艺术家在数组的结尾//(这仅对于不是专辑艺术家的艺术家发生)。〃//注意对齐边框必须在4字节边界上!!!structSArtistDataunsignednStringLiink;移量)unsignedunsigned//**32**unsigned〃**32**unsignednPopularitynUnuseddwA:rtist工DnTracklndex:24;:6;:2;:32;:24;〃最多16.7M个链接(单词+短语+偏//64级粒度//最大1600万音轨〃注意这不等于字面上的结构体大小(sizeof(SArtistData))constDWORDkArtistDataSize-11〃,//该结构用于储存每一专辑的信息〃,〃//转接被储存在以DWIORD计数为前缀的平面数组中.//它们按照nTrackIndex来排序,其中假定每一专辑具有相关联的基于音轨的内容-〃//注意对齐边框必须在4字节的边界上!!!structSAlbumDataunsignednStringljink:24,移量)unsignednReleaseYear准确度(1900-2028)urisigried〃**32**unsignedunsigned未知)unsigned知)unsignedunsignedunsigned星准确度unsigneddwAlb皿工DnTrack工ndexnAlbumPricenTrackPricenG已n:rsnPopularitynRatirigfExplicit8,'32;24,8,'56/4//最多16.7M个链接(单词+短语+偏//3个月的准确度(1980-2012),l年的//最大1600万个音轨//254个可能价格(0=不能购买,//30个可能价格(0=可变,1=未//32个"记录商店"流派〃64级粒度//16个唯一值(0.0,1.0-5.0)-半unsignedfTrackArtists:1;〃该专辑具有音轨级艺术家(或作曲家"unsignedfTrackNumGaps:1;〃该专辑在可用音轨中有间隙?unsignedfServicePivot:1;//该专辑具有svc枢车由?〃注意这不等于字面上的结构体大小(sizeof(SAlbumData))constDWORDkAlb碰DataSize=15;〃流派信息〃〃流派信息平面地储存。对于32个流派,〃存在34个串(SStringLink)的数组以处理所有流派名称。〃//SStringLinkGenres[32]//constDWORDkGenreSize=(kStringliinkSize*32),//32个流派,每一个为5位〃价格信息〃//用于专辑和用于音轨的价格级表被平面地储存。Theyareof〃它们是通用格式〃//BYTEbljevels,'//DWORDrgPriceUnits[bLevels],〃//价格以单数的现金单位来储存(例如,对美国为美分)〃//,//音轨艺术家信息〃//对于具有单独储存的音轨艺术家的那些专辑,//存在指示这些艺术家的职业的平面表〃//注意对齐边框必须在4字节的边界上structSTrackArtistsDataunsignednAlbumlndexunsignednTrackCount个音轨艺术家,适用于所有音轨)unsignednUnused//**32**unsignednArtists〇ffset20;84/24,//最大100万个专辑//255个具有音轨艺术家的可能音轨(0//1600万个可能的音轨艺术家〃注意这不等于字面上的结构体大小(sizeof(STrackArtistsData))constDWORDkTrackArtistsDataSize=7〃注意对齐边框必须在4字节的边界上!!!structSTrackArtistLinkunsignednArtistlndex:20;//最大100个艺术家unsignednUnused:4〃注意这不等于字面上的结构体大小(sizeof(STrackArtistLink))constDWORDkTrackArtistLinkSize=3;//上述结构中的nArtistsOffset指向艺术家数组的平面表〃//DWORDdwTrackArtistSize//STrackArtistLinklinks[dwTrackArtistSize];〃〃音轨号间隙信息〃〃对于具有遗漏音轨(服务没有对盘上的所有歌曲的权限)那些专辑〃储存遗漏的那些音轨的索引//使得能隐含地确定其它音轨的长度〃//注意对齐边框必须在4字节的边界上!!!structSTrackNumbersDataunsignedunsignedunsigned〃**32**unsignednAlbumlndex:20,.nTrackCount:8nUnused:4;nNumbersOffset:24,//最大100万个专辑//255个可能的遗漏音轨//1600个可能的遗漏音轨//注意这不等于字面上的结构体大小(sizeof(STrackN丽bersData))constDWORDkTrackN画bersDataSize=7〃上述结构巾的nNiiuibersOffset指向指示遗漏音轨号的字节的平面表////DWORDdwNumbersSize,'//BYTErgSkippedN腦bers[dwNumbersSize]/〃//服务枢轴信息〃//对于某些专辑,服务可选择展示某些额外级别的可用枢轴。//当一专辑具有这些额外枢轴时,它们被储存在这里...〃〃注意对齐边框必须在4字节的边界上!!structSServicePivotData<table>tableseeoriginaldocumentpage25</column></row><table>//DWORDdwPivot2Count;//SStringljinkPivotljinks[dwPivot2Count]〃//总体数据文件格式〃〃〃//〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃DWORDdwVersion,'DWORDdwServiceVersion,-DWORDdwWo:rdSize,WCHARWords[dwWordsSize];DWORDdwRunMax:Len'-DWORDrgR皿Count[dwRunMaxLjen]DWORDdwRunCount,'SStringLinkRuns[dwRunCount]DWORDdwTrackCountSTrackDataTracks[dwTrackCount]DWORDdwArtistCountSArtistDataArtists[dwArtistCount]DWORDdwAlbumCount,'SAlbumDataAlbums[dwAlb碰Count]〃目录版本//服务版本//单词二进制大对象//行程二进制大对象//音轨信息二进制大对象//艺术家信息二进制大对象//专辑信息二进制大对象<formula>formulaseeoriginaldocumentpage27</formula>//SStringliinkPivotLinks[dwPivot1Count];//DWORDdwPivot2Count///SStringLjink:PivotLinks[dwPivot2Count],*附录B<formula>formulaseeoriginaldocumentpage29</formula><table>tableseeoriginaldocumentpage30</column></row><table><table>tableseeoriginaldocumentpage31</column></row><table><table>tableseeoriginaldocumentpage32</column></row><table><table>tableseeoriginaldocumentpage33</column></row><table><table>tableseeoriginaldocumentpage34</column></row><table><table>tableseeoriginaldocumentpage35</column></row><table><table>tableseeoriginaldocumentpage35</column></row><table><table>tableseeoriginaldocumentpage36</column></row><table><table>tableseeoriginaldocumentpage37</column></row><table>权利要求1.一种管理耦合至数据通信网络(104)的计算机上的媒体文件的计算机化的方法,所述计算机执行用于呈现一个或多个所述媒体文件的媒体播放器应用程序(116),所述媒体文件包括存储在所述计算机处的第一媒体库(112)中的一个或多个本地媒体文件,以及能由所述计算机通过所述网络(104)访问的一个或多个远程媒体文件,所述方法包括将所述远程媒体文件的压缩目录(130)本地存储在所述计算机上,所述压缩目录(130)定义第二媒体库(130);在所述媒体播放器应用程序(116)的用户界面中显示所述第一媒体库(112)和所述第二媒体库(130)的内容;以及允许通过所述用户界面在来自所述第一媒体库(112)或所述第二媒体库(130)任一或两者的一个或多个所述媒体文件上执行媒体播放器操作。2.如权利要求1所述的方法,其特征在于,执行所述媒体播放器应用程序(116)的所述计算机包括客户机(102),并且所述方法还包括在耦合到所述数据通信网络(104)的服务器(124)处生成所述压縮目录(130)。3.如权利要求2所述的方法,其特征在于,还包括响应于所述媒体播放器应用程序(116)访问所述压縮目录(130),在所述服务器(124)处执行更新过程以更新所述压縮目录(130)。4.如权利要求3所述的方法,其特征在于,执行所述更新过程包括,将所述压縮目录(130)与一个或多个先前的目录进行比较以生成表示所述比较的至少一个差异文件(138)。5.如权利要求4所述的方法,其特征在于,还包括在所述客户机(102)处合并所述差异文件(138)和所述压縮目录(130)以生成经更新的目录(146)。6.如权利要求1所述的方法,其特征在于,还包括基于一个或多个编辑域査询与所述第一媒体库(112)或所述第二媒体库(130)任一或两者中的媒体文件相关联的元数据(110)以定义播放列表(138)。7.如权利要求6所述的方法,其特征在于,所述编辑域包括下列中的一个或多个相似内容、相似艺术家、推荐的艺术家、流行度、主演列表、销售量以及艺术家音乐分类目录。8.如权利要求6所述的方法,其特征在于,还包括从所述播放列表(318)中排除所述第二媒体库(130)中具有与所述第一媒体库(112)中的一个或多个媒体文件的艺术家元数据匹配的艺术家元数据的媒体文件。9.如权利要求6所述的方法,其特征在于,还包括从所述播放列表(318)中排除所述第二媒体库(130)中具有与所述第一媒体库(112)中的一个或多个媒体文件的艺术家元数据不匹配的艺术家元数据的媒体文件。10.如权利要求1所述的方法,其特征在于,还包括基于一个或多个编辑域査询与所述第一媒体库(112)中的媒体文件相关联的元数据(110)以在本地定义来自所述第二媒体库(130)的媒体文件的播放列表(318)。11.如权利要求l所述的方法,其特征在于,所述压縮目录(130)包含与所述第二媒体库(130)中的所述远程媒体文件相关联的元数据(110)。12.如权利要求ll所述的方法,其特征在于,所述元数据(110)包括表示下列中的一个或多个的信息音轨、艺术家、专辑、特性列表、流派、子流派和相似艺术家。13.如权利要求1所述的方法,其特征在于,还包括在所述媒体播放器应用程序(116)的用户界面中显示持久搜索域(316),以接收用户输入的用于查询所述压縮目录(130)的搜索项,所述用户界面随着所述用户输入所述搜索项的附加字符而显示更新后的搜索结果。14.如权利要求1所述的方法,其特征在于,还包括在所述计算机(102)上预先加载所述压縮目录(130)。15.如权利要求1所述的方法,其特征在于,一个或多个计算机可读介质具有用于执行如权利要求1所述的方法的计算机可执行指令。16.—种媒体播放器系统(100),包括耦合至数据通信网络(102)的客户机(102),所述客户机(102)执行用于呈现一个或多个媒体文件的媒体播放器应用程序(116),所述媒体文件包括存储在所述客户机(102)处的第一媒体库(112)中的一个或多个本地媒体文件以及所述计算机能通过所述网络(104)访问且存储在第二媒体库(130)中的一个或多个远程媒体文件;所述远程媒体文件的压縮目录(130),所述压縮目录(130)本地存储在所述客户机处并且表示所述第二媒体库(130);由所述媒体播放器应用程序(116)实现的用于显示所述第一媒体库(112)和所述第二媒体库(130)内容的用户界面,所述用户界面被配置为接收用户输入,并且所述媒体播放器应用程序(116)响应于所述用户输入,在所述第一媒体库(112)或所述第二媒体库(130)任一或两者上执行一个或多个媒体播放器操作。17.如权利要求16所述的系统,其特征在于,还包括耦合至所述数据通信网络(104)用于生成所述压縮目录(130)的服务器(124)。18.如权利要求17所述的系统,其特征在于,还包括差异文件(138)的数据库,所述差异文件(138)表示所述第二媒体库(130)的当前版本与所述第二媒体库(130)的一个或多个先前版本之间的差异。19.如权利要求18所述的系统,其特征在于,所述服务器执行更新过程,以按照所述差异文件(138)来更新所述压縮目录(130)。20.如权利要求l所述的系统,其特征在于,所述媒体播放器应用程序(116)的用户界面包括持久搜索域(316)以接收用户输入的用于查询所述压縮目录(130)的搜索项,所述用户界面随着所述用户输入所述搜索项的附加字符而显示更新后的搜索结果。全文摘要存储在计算机处的本地媒体文件和能通过数据通信网络访问的远程媒体文件的集成管理。远程媒体文件的压缩目录被本地存储在计算机上。媒体播放器应用程序的用户界面显示本地媒体文件的库的内容和压缩目录的内容。该用户界面被配置为接收用户输入,并且媒体播放器应用程序响应于用户输入,在来自本地媒体库或压缩目录任一或两者的媒体文件上执行媒体播放器操作。文档编号G06F17/00GK101243426SQ200680029301公开日2008年8月13日申请日期2006年8月10日优先权日2005年8月12日发明者D·普拉斯蒂娜,F·Z·常,J·C·豪利,J·M·凯恩,K·W·柏林格,M·J·诺瓦克申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1