可调节的视频播放器技术领域
本公开涉及内容共享平台领域,具体地涉及一种可调节的视频播
放器。
背景技术
在互联网上,社交网络允许用户彼此连接和共享信息。许多社交
网络包括允许用户上传、查看和共享诸如视频内容、图像内容、音频
内容等的内容的内容共享方面。社交网络的其他用户可以评论共享的
内容、发现新的内容、定位更新、共享内容和以其他方式与所提供的
内容进行交互。共享的内容可以包括来自专业内容创建者的内容,例
如电影剪辑、TV剪辑和音乐视频;以及来自业余内容创建者的内容,
例如视频博客和短的原创视频。
在移动设备上的内容交付仍然是相对新的概念。例如,只不过最
近才可能在移动设备上播放高品质视频,因为这种能力依赖更先进的
电信技术的引入。因此,大多数内容共享平台仍处在建设用于移动设
备的产品的早期阶段。
目前,由内容共享平台提供的用于内容项目播放器(例如移动设
备上的社交网络页面或社交网络应用上的视频播放器)的选项是有限
且静态的。例如,内容项目播放器在用户正在执行诸如浏览的其他活
动时通常不持续。另外,目前的内容项目播放器通常是静态的(例如
不能被重新调整大小)。替代地,用户被迫停止内容项目播放器的播
放来执行另一个活动(除了在内容项目播放器上观看内容项目的播放)
并且然后返回到先前视图来重新启动内容项目播放器。这可以是破坏
性的并且对观看用户体验产生负面影响。
发明内容
以下是本公开的简化概述以提供对本公开的一些方面的基本理
解。此概述不是本公开的详尽概述。它既不旨在标识本公开的关键或
重要元素,也不描绘本公开的特定实现的任何范围或权利要求的任何
范围。作为稍后呈现的更详细描述的序言,其唯一目的在于以简化形
式呈现本公开的一些概念。
在一个实现中,公开了一种用于提供可调节的视频播放器的方法。
该方法包括:由电子设备在该电子设备上执行的应用的用户界面(UI)
的一部分中提供用于内容项目的播放的内容项目播放器;以及接收由
该电子设备的用户做出的将该内容项目播放器最小化的手势的指示。
该方法进一步包括:将该内容项目播放器最小化为在该应用UI上示出
的迷你播放器,而不中断该内容项目播放器中的该内容项目的播放。
在一个实现中,当该用户与该应用UI交互时,该迷你播放器可以
在该应用UI的顶部持续。另外,在该迷你播放器向该用户提供该内容
项目的不中断播放的同时,该用户可以与该应用UI的推荐界面、搜索
界面、浏览界面、设置界面、预订界面、播放列表界面、收藏界面、
历史界面或上传界面中的至少一个交互。
在另一实现中,将该内容项目播放器最小化的该手势可以包括对
该内容项目播放器上的最小化指示符的选择或在该内容项目播放器上
的预定方向上的扫动中的至少一个。该方法还可以包括:接收由该用
户做出的消除该迷你播放器的手势的指示;停止在该迷你播放器中该
内容项目的播放;以及将该迷你播放器从该应用UI移除。此外,由该
用户做出的消除该迷你播放器的该手势可以包括在该迷你播放器的UI
中的预定方向上的扫动手势。另外,将该迷你播放器移除进一步包括
在将该迷你播放器从该应用UI移除时对该迷你播放器应用动画或渐消
中的至少一个。
在一些实现中,该方法进一步包括:接收由该用户做出的将该迷
你播放器最大化的手势的指示;以及使该内容项目播放器在该应用UI
中返回到原始呈现格式。另外,由该用户做出的将该迷你播放器最大
化的该手势可以包括在该迷你播放器的该UI中的敲击、在该迷你播放
器的该UI中的点击或在该迷你播放器的该UI中的预定方向上的扫动
手势中的至少一个。
此外,该方法中的将该内容项目播放器最小化可以包括在该内容
项目播放器变换成该迷你播放器时对该内容项目播放器应用动画。另
外,该迷你播放器的显示质量格式与该内容项目播放器最初在该应用
UI中显示时的显示质量格式相同。
在另外的实现中,还公开了用于执行上面描述的实现的操作的计
算设备。另外,在本公开的实现中,一种计算机可读存储介质存储用
于执行上面描述的实现的操作的方法。
附图说明
在附图中的各图中,本公开通过示例的方式而不是通过限制的方
式示出。
图1示出了根据本公开的一个实现的示例性系统架构。
图2是示出根据本公开的一个实现的内容项目播放器组件的框
图。
图3A和图3B是示出根据本公开的一些实现的用于由客户端设备
提供动态大小可调节的内容项目播放器的方法的流程图。
图4是示出根据本公开的一些实现的用于由服务器设备在客户端
设备处提供动态大小可调节的内容项目播放器的方法的流程图。
图5A和图5B是示出用于提供动态大小可调节的内容项目播放器
的UI的示例性屏幕截图。
图6A、图6B和图6C是示出用于提供动态大小可调节的内容项
目播放器的UI的示例性屏幕截图。
图7A、图7B、图7C和图7D是示出用于提供动态大小可调节的
内容项目播放器的UI的示例性屏幕截图。
图8是示出根据一些实现的示范性计算机系统的框图。
具体实施方式
针对可调节的视频播放器描述了实现。在本公开的实现中,提供
了一种动态大小可调节的内容项目播放器。具体地,该动态大小可调
节的内容项目播放器在播放内容项目并且同时与内容共享平台的应用
交互时可以持续可见。该动态大小可调节的内容项目播放器提供“同时
观看(watch-while)”体验。“同时观看”体验允许内容共享平台的用户
在内容共享平台的应用的界面中将内容项目播放器最小化为较小的视
图。通过将内容项目最小化为较小的视图,用户然后可以继续与内容
共享应用交互以例如决定下一个观看什么、搜索另一内容项目和/或浏
览内容共享平台的内容项目,而不中断内容项目的播放。
本公开的实现具有与用于提供用于内容共享平台的内容项目播放
器的先前解决方案不同层的粒度。此前,由内容共享平台提供的嵌入
式内容项目播放器在配置选项上是有限的并且相对于用户的活动是静
态的。本公开的实现通过将内容项目播放器配置为动态大小可调节并
且在内容共享平台的应用UI上持续来改进内容共享平台的内容项目播
放器。因此,本文所描述的动态大小可调节的内容项目播放器可以改
进用户与内容共享平台的交互和体验。
图1示出了根据本公开的一个实现的示例性系统架构100,用于
经由手势控制和上下文同步在客户端设备上导航内容共享平台媒体项
目的列表。系统架构100包括客户端设备110A至110Z、网络105、数
据存储106、内容共享平台120以及服务器130。在一个实现中,网络
105可以包括公共网络(例如因特网)、专用网络(例如局域网(LAN)
或广域网(WAN))、有线网络(例如以太网网络)、无线网络(例
如802.11网络或Wi-Fi网络)、蜂窝网络(例如长期演进(LTE)网
络)、路由器、集线器、交换机、服务器计算机和/或其组合。在一个
实现中,数据存储106可以是存储器(例如随机存取存储器)、高速
缓存、驱动器(例如硬盘驱动器)、闪存驱动器、数据库系统或能够
存储数据的另一类型的组件或设备。数据存储106还可以包括也可以
跨越多个计算设备(例如多个服务器计算机)的多个存储组件(例如
多个驱动器或多个数据库)。
客户端设备110A至110Z可以每个包括计算设备,诸如个人计算
机(PC)、膝上型计算机、移动电话、智能电话、平板计算机、上网
本计算机等。在一些实现中,客户端设备110A至110Z也可被称为“用
户设备”。每个客户端设备包括媒体查看器111。在一个实现中,媒体
查看器111可以是允许用户查看诸如图像、视频、网页、文档等的内
容的应用。例如,媒体查看器111可以是可以访问、检索、呈现和/或
导航由web服务器派发的内容(例如如超文本标记语言(HTML)页
面、数字媒体项目等的网页)的web浏览器。媒体查看器111可以向
用户渲染、显示和/或呈现内容(例如网页、媒体查看器)。媒体查看
器111还可以显示嵌入在网页(例如可以提供关于通过在线商店出售
的产品的信息的网页)中的嵌入式媒体播放器(例如播放器或
HTML5播放器)。在另一示例中,媒体查看器111可以是允许用户查
看数字媒体项目(例如数字视频、数字图像、电子书等)的独立应用。
媒体查看器111可以由服务器130和/或内容共享平台120提供给
客户端设备110A至110Z。例如,媒体查看器111可以是嵌入在由内
容共享平台120提供的网页中的嵌入式媒体播放器。在另一示例中,
媒体查看器111可以是从服务器130下载的应用。
通常,如果适当的话,在一个实现中描述为由内容共享平台120
执行的功能在其他实现中也可以在客户端设备110A至110Z上执行。
另外,归属于特定组件的功能可以由一起操作的不同或多个组件来执
行。内容共享平台120还可以通过适当的应用编程接口作为提供给其
他系统或设备的服务来访问,并且因此不局限于在网站使用。
在一个实现中,内容共享平台120可以是可被用于向用户提供对
媒体项目的访问和/或向用户提供媒体项目的一个或多个计算设备(如
机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计
算机、膝上型计算机、平板计算机、台式计算机等)、数据存储(例
如硬盘、存储器、数据库)、网络、软件组件和/或硬件组件。例如,
内容共享平台120可以允许用户消耗、上传、搜索、认可(“喜欢”)、
不喜欢和/或评论媒体项目。内容共享平台120还可以包括可以用于向
用户提供对媒体项目的访问的网站(例如网页)。内容共享平台120
可以包括提供对内容和/或媒体项目的访问的任何类型的内容交付网
络。
内容共享平台120可以包括多个频道(例如频道A到Z)。频道
可以是从共同的源可获得的数据内容或具有共同的话题或主题的数据
内容。数据内容可以是由用户选择的数字内容、用户可获得的数字内
容、由用户上传的数字内容、由内容提供者选择的数字内容、由广播
者选择的数字内容等。例如,频道X可以包括视频Y和Z。频道可以
与所有者相关联,该所有者是可以对频道执行动作的用户。不同的活
动可以基于所有者的动作与频道相关联,诸如所有者使数字内容在频
道上可获得、所有者选择(例如喜欢)与另一个频道相关联的数字内
容、所有者评论与另一个频道相关联的数字内容等。与频道相关联的
活动可以被收集到频道的活动馈送中。用户(除了频道的所有者)可
以预订他们感兴趣的一个或多个频道。一旦用户预订频道,可以向用
户呈现来自频道的活动馈送的信息。如果用户预订多个频道,可以将
用户预订的每个频道的活动馈送组合成联合活动馈送。可以将来自联
合活动馈送的信息呈现给用户。虽然频道被描述为内容共享平台的一
个实现,但本公开的实现不限于经由频道模型提供内容项目的内容共
享平台。
每个频道可以包括一个或多个内容项目121。内容项目121的示
例可以包括并且不限于数字视频、数字电影、数字照片、数字音乐、
网站内容、社交媒体更新、电子书(ebook)、电子杂志、数字报纸、
数字音频书、电子期刊、网络博客、真正简单聚合(RSS)馈送、电子
漫画、软件应用等。在一些实现中,内容项目121也被称为媒体项目。
可以经由因特网和/或经由移动设备应用来消耗媒体项目121。为
简明起见,贯穿本文档,使用在线视频(下文中也称为视频)作为内
容项目121的示例。如本文所用,“媒体”、“媒体项目”、“在线媒体项
目”、“数字媒体”、“数字媒体项目”、“内容”和“内容项目”可以包括可
以使用被配置为将数字内容项目呈现给实体的软件、固件或硬件来执
行或加载的电子文件。在一个实现中,内容共享平台120可以使用数
据存储106来存储内容项目121。
在一个实现中,服务器130可以是一个或多个计算设备(例如机
架式服务器、服务器计算机等)。在一个实现中,服务器130可以包
括在内容共享平台120中。服务器130可以包括服务器侧内容项目播
放器组件140。在其他实现中,客户端设备110A至110Z处的媒体查
看器111包括客户端侧内容项目播放器组件115。内容项目播放器组件
115、140可以一起操作,以提供在客户端设备110A至110Z处可查看
的动态大小可调节的内容项目播放器。在其他实现中,内容项目播放
器组件115、140中的一个或另一个可以单独负责提供在客户端设备
110A至110Z处可查看的动态大小可调节的内容项目播放器。
更具体地,在本公开的实现中,内容项目播放器组件115、140可
以在媒体查看器处生成动态大小可调节的内容项目播放器以提供内容
共享平台120的内容项目121的播放。具体地,当在媒体查看器111
处播放内容项目121时,动态地重新调整大小的内容项目播放器对媒
体查看器111的用户可以持续可见,即使在用户同时经由媒体查看器
111执行其他任务和活动以与内容共享平台120交互时。
因此,动态大小可调节的内容项目播放器提供“同时观看”体验。
“同时观看”体验允许客户端设备110A至110Z处的内容共享平台120
的用户在媒体查看器111的界面(例如图形用户界面(GUI))中将内
容项目播放器最小化为较小的子视图(也称为“迷你播放器”),而不中
断内容项目播放器中的内容项目的播放。通过将内容项目播放器最小
化,用户然后可以浏览由媒体查看器111提供的与内容共享平台120
相关的其他界面、功能和菜单并与之交互,但独立于观看内容项目播
放器中的内容项目121。例如,其他界面、功能和菜单可以包括下一个
观看什么的推荐界面、针对内容共享平台的内容项目的搜索界面、针
对内容共享平台的内容项目的浏览界面、设置界面、预订界面、播放
列表界面、收藏界面、历史界面、上传界面等。用户可以像他们正常
与这些界面、功能和菜单交互那样来与这些界面、功能和菜单交互,
而不中断内容项目121的播放。下面关于图2更详细描述内容项目播
放器组件115、140及其特定功能的进一步描述。
虽然在内容共享平台和促进内容共享平台上的内容项目的社交网
络共享方面讨论本公开的实现,但实现也可以一般地应用于提供用户
之间的连接的任何类型的社交网络或将内容提供给终端用户的任何类
型的内容交付平台。本公开的实现不限于向用户提供频道预订的内容
共享平台。
在这里所讨论的系统收集关于用户的个人信息或可以利用个人信
息的情况下,可以向用户提供控制内容共享平台120是否收集用户信
息(例如关于用户的社交网络、社交行为或活动、职业、用户的偏好
或用户的当前位置的信息)或控制是否和/或如何从可能与用户更相关
的内容服务器接收内容的机会。另外,某些数据在被存储或使用之前
可以以一种或多种方式被处理,以便移除个人可识别信息。例如,可
以对用户的身份进行处理,以便不能对用户确定任何个人可识别信息,
或者可以在其中获得位置信息的情况下将用户的地理位置一般化(如
一般化为城市、邮政编码或州级),使得不能确定用户的特定位置。
因此,用户可以控制关于用户的信息如何被收集和由内容共享平台120
使用。
图2是示出根据本公开的一个实现的客户端侧内容项目播放器组
件115和服务器侧内容项目播放器组件140的框图。在一个实现中,
服务器侧内容项目播放器组件140包括内容项目播放器生成模块210、
用户界面(UI)生成模块220以及内容项目播放器格式选择模块230。
可以将更多或更少的组件包括在服务器侧内容项目播放器组件140中
而不失一般性。例如,可以将模块中的两个模块组合为单个模块,或
可以将模块中的一个模块分成两个或更多的模块。在一个实现中,模
块中的一个或多个可以驻留在不同的计算设备(例如不同的服务器计
算机)上。
媒体查看器111可以是诸如图1的客户端设备110A至110Z的客
户端设备的一部分。媒体查看器111可以包括客户端侧UI生成模块
250、触摸屏应用编程接口(API)260以及客户端侧内容项目播放器组
件115。在一个实现中,客户端侧内容项目播放器组件115与关于图1
描述的其对应物相同。客户端侧内容项目播放器组件115可以包括客
户端侧内容项目播放器生成模块270和客户端侧内容项目播放器格式
选择模块280。可以将更多或更少的组件包括在媒体查看器111和/或
客户端侧内容项目播放器组件115中而不失一般性。例如,可以将模
块中的两个模块组合为单个模块,或可以将模块中的一个模块分成两
个或更多的模块。
服务器侧内容项目播放器组件140和媒体查看器111可以通信地
耦合到彼此和数据存储106。例如,服务器侧内容项目播放器组件140
和媒体查看器111可以经由网络(例如经由如图1中所示的网络105)
耦合到彼此和数据存储106。在另一示例中,服务器侧内容项目播放器
组件140可以直接耦合到服务器侧内容项目播放器组件140所驻留的
服务器(例如可以直接耦合到服务器130)。
数据存储106可以是存储器(例如随机存取存储器)、高速缓存、
驱动器(例如硬盘驱动器)、闪存驱动器、数据库系统或能够存储数
据的另一类型的组件或设备。数据存储106还可以包括也可以跨越多
个计算设备(例如多个服务器计算机)的多个存储组件(例如多个驱
动器或多个数据库)。数据存储106包括内容项目数据290、用户数据
291和内容项目播放器数据292。
如上所讨论的,客户端侧内容项目播放器组件115和/或服务器侧
内容项目播放器组件140中的一个或两个提供在媒体查看器111中的
动态大小可调节的内容项目播放器,用于内容共享平台的内容项目的
持续播放。在一个实现中,客户端侧UI生成模块250提供UI,供内容
共享平台经由媒体查看器111呈现给用户。UI可以包括菜单和界面,
供用户经由媒体查看器111与内容共享平台交互。例如,菜单和界面
可以包括下一个观看什么的推荐界面、针对内容共享平台的内容项目
的搜索界面、针对内容共享平台的内容项目的浏览界面、设置界面、
预订界面、播放列表界面、收藏界面、历史界面、上传界面等。当用
户经由菜单或界面中的一个选择内容项目以查看时,或当媒体查看器
由于用户在客户端设备上的不同于媒体查看器111的应用中选择内容
项目而最初打开时,客户端侧UI生成模块250可以提供内容项目播放
器用于所选择的内容项目的播放。
作为提供内容项目播放器的一部分,客户端侧UI生成模块250可
以从内容共享平台接收内容项目数据290和/或用户数据291。例如,
客户端侧UI生成模块250可以响应于用户经由媒体查看器111的菜单
或界面选择用于播放的内容项目而接收此数据290、291。在一些实现
中,内容项目数据290由内容共享平台流送到媒体查看器111用于由
媒体查看器111向用户播放。
在一个实现中,客户端侧UI生成模块250可以将所接收的数据
290、291传递到客户端侧内容项目播放器组件115上以便客户端侧内
容项目播放器生成模块270在媒体查看器111处生成内容项目播放器
用于内容项目的播放。可以以各种格式呈现内容项目播放器,这取决
于客户端设备的类型和/或用户在客户端设备上的动作。对应于生成的
内容项目播放器的数据(诸如格式和用户偏好)可以被存储在数据存
储106的内容项目播放器数据292中。在一个实现中,当生成内容项
目播放器时,媒体查看器111的UI可以包括内容项目播放器和信息部
分两者。内容项目播放器显示播放列表的当前选择的媒体项目的播放。
例如,信息窗口可以显示关于在内容项目播放器中示出的当前选择的
内容项目的信息和/或播放列表中的内容项目的列表。在其他实现中,
内容项目播放器可以涵盖媒体查看器111的整个UI。
在其他实现中,服务器侧内容项目播放器组件140可以负责生成
内容项目播放器。服务器侧内容项目播放器生成模块210将用于生成
内容项目播放器的数据发送到媒体查看器111。在一些实现中,服务器
侧内容项目播放器生成模块210可以与服务器侧UI生成模块220进行
交互以确定将在媒体查看器111的内容共享平台UI中显示的内容项目
播放器的格式和特定于其他客户端设备的特征。媒体查看器111然后
可以基于从服务器侧内容项目播放器组件140接收的数据来显示UI和
内容项目播放器。在其他实现中,服务器侧内容项目播放器组件140
和客户端侧内容项目播放器组件115可以协作来生成媒体查看器111
处的内容项目播放器。
在本公开的实现中,媒体查看器111处的内容项目播放器是在播
放内容项目时对媒体查看器111的用户持续可见的动态大小可调节的
内容项目播放器。因此,动态大小可调节的内容项目播放器提供“同时
观看”体验。“同时观看”体验允许内容共享平台的用户在媒体查看器
111的UI中将内容项目播放器最小化为较小的视图(也称为“迷你播放
器”),而不中断内容项目播放器中的内容项目的播放。通过将内容项
目播放器最小化,用户然后可以浏览由媒体查看器111提供的与内容
共享平台相关的其他界面、功能和菜单并与之交互,但独立于观看内
容项目播放器中的内容项目的播放。
例如,其他界面、功能和菜单可以包括下一个观看什么的推荐界
面、针对内容共享平台的内容项目的搜索界面、针对内容共享平台的
内容项目的浏览界面、设置界面、预订界面、播放列表界面、收藏界
面、历史界面、上传界面等。用户可以像他们正常与这些界面、功能
和菜单交互那样来与这些界面、功能和菜单交互,而不中断内容项目
的播放。
在本公开的实现中,可以经由与媒体查看器UI的内容项目播放器
部分相关的手势控制将内容项目播放器最小化、最大化和/或消除。不
管内容项目播放器在UI内的位置如何,检测的关于UI的内容项目播
放器部分的手势控制可以操作以改变内容项目播放器的视图。
在一个实现中,客户端设备可以向媒体查看器111提供触摸屏API
260以实现由媒体查看器111的手势控制识别。触摸屏API260可以将
在客户端设备的触摸屏上做出的手势转换为媒体查看器111可理解的
数据信号。客户端侧内容项目播放器生成模块270可以从触摸屏API
260接收关于所接收的手势的信息,并且确定关于在媒体查看器111的
UI内重新调整内容项目播放器的大小和定位内容项目播放器将采取的
对应动作。在其他实现中,触摸屏API260可以将经转换的手势的数据
信号提供到服务器侧内容项目播放器生成模块210进行类似的处理。
可以设想可以动态地重新调整内容项目播放器的大小的各种用户
手势。例如,内容项目播放器可以包括最小化图标,诸如向下的箭头
(“↓”)、向下指向的符号(“v”)或者当由用户选择(例如敲击或点击)
时使内容项目播放器在媒体查看器111的UI内重新调整大小为“迷你
播放器”视图的任何其他最小化指示符。在另一示例中,用户可以在内
容项目播放器的UI上扫动以使内容项目播放器重新调整大小为“迷你
播放器”视图。例如,用户可以在UI上在向下的方向扫动来将内容项
目播放器重新调整大小为“迷你播放器”视图。在本公开的其他实现中,
其他扫动方向和/或手势也可以被实现为重新调整内容项目播放器的大
小。
在本公开的实现中,当内容项目播放器正在被重新调整大小时,
内容项目的播放在内容项目播放器中不中断地继续。在一些实现中,
可以在内容项目播放器正在从原始最大化格式最小化为“迷你播放器”
格式时对其应用动画和/或渐消(对内容项目的视频部分和音频部分中
的任一者或两者)。在一个实现中,“迷你播放器”视图是内容项目播放
器的缩略大小的视图。内容项目播放器的“迷你播放器”版本(例如迷你
播放器)可以以任何各种大小来实现,并且不限于媒体查看器111的
UI内的特定位置。也可以在GUI内移动(例如拖动)迷你播放器以适
合用户的偏好。在一个实现中,迷你播放器可以“快速移动(snap)”
到GUI内的预定大小和位置。例如,迷你播放器可以相对于媒体查看
器111内的GUI的其他元件和/或在媒体查看器111的外部定位。
当内容项目播放器处于“迷你播放器”格式时,内容项目的播放继
续在内容项目播放器中显示。如上面所讨论的,用户可以访问媒体查
看器111的UI中的其他内容共享平台界面、菜单和功能并与之交互。
在一些实现中,用户可以敲击迷你播放器UI或拖动迷你播放器
UI以便使内容项目播放器返回到其原始格式(例如将内容项目播放器
最大化)。例如,用户可以在UI上在向上的方向上扫动以使内容项目
播放器返回到其原始格式。在本公开的其他实现中,其他扫动方向和/
或手势也可以被实现为使内容项目播放器返回到其原始格式。
用户还可以在“迷你播放器”上沿不同的轴线扫动以便消除内容项
目播放器(例如停止内容项目的播放并且将“迷你播放器”从媒体查看器
111的UI移除)。例如,用户可以在“迷你播放器”上向左或向右扫动
以消除内容项目播放器。在一些实现中,可以在“迷你播放器”正在从
GUI消除时对其应用动画和/或渐消(对内容项目的视频部分和音频部
分中的任一者或两者)。也设想将“迷你播放器”最大化或消除的其他用
户手势并且其不限于以上详述的手势。
在另一实现中,当用户正在媒体查看器111的UI中执行其他活动
时,可以以半透明格式呈现内容项目播放器。用户与媒体查看器111
的UI的交互可以传到半透明播放器下面的内容,并且用户在观看内容
项目播放器的同时可以例如浏览。在一些实现中,当在内容项目播放
器的顶部呈现“浏览”内容时,内容项目播放器可以保持在其原始位置
(在一些情况下,内容项目播放器可以部分模糊)。
在其他实现中,内容项目播放器在被最小化时保持所呈现的内容
项目的相同的质量和分辨率,而不降低内容项目的质量。先前的解决
方案一般在视频以较小的格式(例如“迷你播放器”格式)被呈现时降低
其质量,因为视频以较高的分辨率被下载并且然后被转码为较低的质
量以适应播放者的站点。相比较而言,实现可以保持较高的质量以防
止其中在用户将内容项目播放器“取消最小化”之后并且质量保持在较
低的呈现值(例如,当内容项目播放器在被最小化时被切换到较低的
质量时,然后随后的较大内容项目播放器继续示出低质量直到可以下
载下一个高质量内容项目组块)的情况。在一些实现中,动态地且透
明地切换内容项目播放器的分辨率质量以匹配当前正在利用的对应内
容项目播放器大小。例如,通过在改变内容项目播放器的大小时在分
辨率之间的立即切换,对于最大化的内容项目播放器实现高分辨率质
量,并且对于最小化的内容项目播放器(迷你播放器)实现较低的分
辨率质量。
在一个实现中,客户端侧内容项目播放器格式选择模块280指示
客户端侧内容项目播放器生成模块270在将内容项目播放器最小化时
和/或在使内容项目播放器返回到其原始格式时保持内容项目播放器的
格式质量。在其他实现中,客户端侧内容项目播放器格式选择模块280
指示客户端侧内容项目播放器生成模块270在将内容项目播放器最小
化时和/或在使内容项目播放器返回到其原始格式时透明地且动态地切
换内容项目播放器的格式质量。在另一实现中,服务器侧内容项目播
放器格式选择模块230可以关于格式质量对服务器侧内容项目播放器
生成模块210和/或客户端侧内容项目播放器生成模块270进行指示。
在一些实现中,动态大小可调节的内容项目播放器可以是社交网
络中的视频聊天特征的一部分。例如,在同时浏览社交网络应用时,
用户可以在最小化的视图中观看其正在与之视频聊天的人的视频。用
户然后可以随意地再次使视频聊天窗口/播放器变为全大小。
在允许用户浏览内容共享平台应用中的其他特征和/或与之交互
的同时,内容共享平台应用也可以继续示出用户的设备的相机正在记
录的内容项目。例如,当用户正在共享先前记录的视频或改变视频记
录设置时,可以以“迷你播放器”格式向用户示出客户端设备当前正在记
录的视频。
在一些实现中,地图应用可以在内容项目播放器的最小化的(例
如“迷你播放器”)视图中示出实时导航地图,使得用户可以改变导航设
置并且仍然查看在他或她的导航路线中将出现什么。
各种社交网络和内容共享平台可以利用以上所描述的实现。另外,
例如,可以对于搜索结果和/或电子邮件客户端利用以上实现。
图3A和图3B是示出根据本公开的一些实现的用于由客户端设备
提供动态大小可调节的内容项目播放器的方法300的流程图。方法300
可以由包括硬件(例如电路、专用逻辑、可编程逻辑、微码等)、软
件(例如在处理设备上运行以执行硬件仿真的指令)或其组合的处理
逻辑执行。
为了便于说明,本公开的方法被描绘和描述为一系列动作。然而,
根据本公开的动作可以按照各种顺序和/或同时发生,并且可以与本文
未呈现和描述的其他动作同时发生。此外,并非所有示出的动作都是
实现根据所公开的主题的方法所必需的。另外,本领域的技术人员将
理解和明白,方法可以经由状态图或事件替选地表示为一系列相互关
联的状态。另外,应该明白,在本说明书中公开的方法能够被存储在
制品上,以便将这样的方法传输和传送到计算设备。如本文所用的术
语“制品”旨在涵盖可从任何计算机可读设备或存储介质访问的计算机
程序。在一个实现中,方法300可以由如图1和图2中所示的客户端
侧内容项目播放器组件115执行。
参考图3A,当客户端侧内容项目播放器组件接收由与提供内容项
目的内容共享平台相关联的应用用于内容项目的播放的内容项目的数
据时,方法300开始于框310。在框320,在应用的UI内生成内容项
目播放器UI。内容项目播放器UI提供应用中的内容项目的播放。
然后,在框330,从客户端设备处的应用的用户接收将内容项目
播放器UI最小化的手势的指示。在一个实现中,该手势可以是用户对
在内容项目播放器UI上示出的最小化图标的选择(例如敲击或点击)。
在另一实现中,该手势可以是用户在内容项目播放器UI内的向下扫动。
在框340,响应于接收到最小化手势的指示,在应用UI内将内容
项目播放器UI最小化为迷你播放器视图,而不中断内容项目播放器中
的内容项目的播放。在一个实现中,迷你播放器视图是内容项目播放
器的缩略版本,该缩略版本继续示出内容项目的播放。迷你播放器视
图在应用UI内的位置可以基于应用的配置设置来确定,或者可以是默
认位置。
随后,在框350,在用户与应用UI进行交互的同时在迷你播放器
视图中提供内容项目的播放。在一个实现中,在用户正在与应用UI交
互时,内容项目播放器的迷你播放器视图在应用UI的顶部持续。用户
可以浏览在应用UI中提供的与内容共享平台相关的界面、功能和菜单
和/或与之交互。例如,其他界面、功能和菜单可以包括下一个观看什
么的推荐界面、针对内容共享平台的内容项目的搜索界面、针对内容
共享平台的内容项目的浏览界面、设置界面、预订界面、播放列表界
面、收藏界面、历史界面、上传界面等。用户可以像他们正常与这些
界面、功能和菜单交互那样来与这些界面、功能和菜单交互,而不中
断内容项目的播放。
参考图3B,当在内容项目播放器在应用UI内处于迷你播放器视
图格式时,接收关于迷你播放器视图中的内容项目播放器UI做出的用
户手势的指示时,方法300可以在框360继续。在框370,确定对应于
所接收的用户手势的指示的导航手势。例如,如果用户手势是在迷你
播放器视图内的向左扫动或向右扫动,则导航动作是消除内容项目播
放器UI。在另一个示例中,如果用户手势是在迷你播放器视图内的敲
击或向上扫动,则导航动作是将内容项目播放器UI最大化。
在框380,如果导航动作是消除内容项目播放器UI,则停止内容
项目播放器的播放并且将内容项目播放器UI从应用UI移除。在框390,
如果导航动作是将内容项目播放器UI最大化,则使内容项目播放器在
应用UI中从迷你播放器视图返回到内容项目播放器UI的原始观看格
式,而不中断内容项目播放器中的内容项目的播放。在一个实现中,
迷你播放器视图是内容项目播放器的缩略版本,该缩略版本继续示出
内容项目的播放。迷你播放器视图在应用UI内的位置可以基于应用的
配置设置来确定,或者可以是默认位置。
图4是示出根据本公开的实现的用于由服务器设备在客户端设备
处提供动态大小可调节的内容项目播放器的另一方法400的流程图。
方法400可以由包括硬件(例如电路、专用逻辑、可编程逻辑、微码
等)、软件(例如在处理设备上运行以执行硬件仿真的指令)或其组
合的处理逻辑执行。在一个实现中,方法400可以由如图1和图2中
所示的服务器侧内容项目播放器组件140执行。
参考图4,当服务器侧内容项目播放器组件向客户端设备处的内
容共享平台应用提供由内容共享平台托管的内容项目的数据和由应用
用于内容项目的播放的内容项目播放器UI的数据时,方法400开始于
框410。然后,应用利用所接收的数据来在应用中提供内容项目播放器
UI用于内容项目的播放。
在框420,从客户端设备处的应用接收手势的指示。手势由用户
做出以将应用的UI内的内容项目播放器UI最小化。随后,在框430,
响应于接收到手势的指示,向应用提供数据以生成内容项目播放器UI
的迷你播放器视图,而不中断内容项目播放器中的内容项目的播放。
然后,应用可以利用所提供的数据来在应用UI内生成内容项目播放器
UI的迷你播放器视图。在一个实现中,迷你播放器视图是内容项目播
放器UI的缩略版本,该缩略版本在应用UI的顶部持续并且继续示出
内容项目的播放。迷你播放器视图在应用UI内的位置可以基于应用的
配置设置来确定或者可以是默认位置。
在框440,接收对应于与应用UI的用户交互的数据。在应用继续
在应用UI内在迷你播放器视图中提供内容项目的播放的同时接收该数
据。用户可以浏览在应用UI中提供的与内容共享平台相关的界面、功
能和菜单和/或与之交互。例如,其他界面、功能和菜单可以包括下一
个观看什么的推荐界面、针对内容共享平台的内容项目的搜索界面、
针对内容共享平台的内容项目的浏览界面、设置界面、预订界面、播
放列表界面、收藏界面、历史界面、上传界面等。用户可以像他们正
常与这些界面、功能和菜单交互那样来与这些界面、功能和菜单交互,
而不中断内容项目的播放。
图5至图7是示出用于提供动态大小可调节的内容项目播放器的
UI的示例性屏幕截图。图5A示出了向观看内容共享平台的内容项目
的用户提供的内容共享平台应用UI500的示例性屏幕截图。应用UI
500包括由内容共享平台应用提供的内容项目播放器510。可以在应用
UI500的内容项目信息部分510中示出对应于当前在内容项目播放器
510中播放的内容项目的信息。也可以在应用UI500中示出与当前正
在内容项目播放器510中播放的内容项目相关的另外菜单选项530。
内容项目播放器510可以包括最小化指示符515(在此示为朝下
的符号“v”)。用户可以通过选择540(例如敲击或点击)最小化指示
符515来将应用UI500内的内容项目播放器510最小化。图5B示出
了图5A的相同的应用UI500,其中用户通过在内容项目播放器510中
向下扫动550(代替选择最小化指示符515)来将内容项目播放器510
最小化。在一个实现中,只要用户在内容项目播放器510UI内开始或
启动向下扫动运动550,最小化导航动作登记为对内容项目播放器510
施加(即使向下扫动手势在应用UI500的内容项目播放器510UI部
分的外部停止)。
图6A示出了在用户将应用UI600中的内容项目播放器最小化之
后向用户提供的内容共享平台应用UI600的示例性屏幕截图。在一个
实现中,应用UI600是在执行图5A或图5B中的任一个的最小化动作
之后向用户显示的内容的屏幕截图。最小化的内容项目播放器被示出
为应用UI600中的迷你播放器610。在用户继续导航应用UI600的其
他界面和菜单时,迷你播放器610在应用UI600的顶部持续并且继续
内容项目的播放。迷你播放器610在应用UI600内的位置可以变化并
且是依赖于实现的。UI600可以包括用于播放列表620、视频630、频
道640、搜索650和主菜单660的界面。如图6A中所示,播放列表界
面620当前是活动的并且向用户显示多个播放列表推荐625。
如图6B中所示,在迷你播放器610继续不中断地播放内容项目的
同时,用户可以导航这些界面和菜单。图6B示出了图6A的应用UI600,
其中用户选择670不同界面(例如频道界面640)来查看。图6C示出
了在用户导航670到频道界面640的不同界面之后的应用UI600。如
所示,现在显示频道界面UI645,而迷你播放器610继续持续并且在
应用UI中提供内容项目的播放。
图7A示出了其中示出内容项目播放器的最小化的迷你播放器610
的内容共享平台应用UI700的示例性屏幕截图。应用UI700可以与图
6A的应用UI600相同。为了消除迷你播放器610,用户可以在迷你播
放器610上向左扫动710或向右扫动720。图7B示出了在用户消除图
7A中的迷你播放器610之后的应用UI700。应用UI700与图7A相同,
但不存在内容项目播放器(例如迷你播放器)。
如图7C中所示,用户可以将迷你播放器610最大化或返回到其原
始或默认内容项目播放器格式。在一个实现中,用户可以在迷你播放
器610中向上扫动710以将内容项目播放器最大化。图7D示出了在用
户将图7C中的迷你播放器610最大化之后的应用UI700。如所示,应
用UI700现在以其初始原始/默认格式显示内容项目播放器510,这对
应于图5A的应用UI500。
尽管关于图5至图7示出了用户手势的特定实现,但在本公开的
实现中设想其他类型的用户手势和方向性并且其不仅限于在示例性屏
幕截图中具体示出的那些用户手势和方向性。
图8示出了计算机系统800的示范性形式的机器的图解表示,在
该机器内,可以执行用于使该机器执行本文所讨论的方法中的任何一
个或多个方法的一组指令。在替选实现中,该机器可以连接(例如联
网)到LAN、内联网、外联网或互联网中的其他机器。该机器可以客
户端-服务器网络环境中的服务器机器或客户端机器的能力操作,或者
作为对等(或分布式)网络环境中的对等机器操作。该机器可以是个
人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、
蜂窝电话、web设备、服务器、网络路由器、交换机或桥接器或能够执
行指定将由该机器采取的动作的一组指令(依序或以其他方式)的任
何机器。此外,虽然仅示出了单个机器,但是术语“机器”也应当被理解
为包括个体地或联合地执行一组(或多组)指令以执行本文所讨论的
方法中的任何一个或多个方法的机器的任何集合。
示范性计算机系统800包括处理设备(处理器)802、主存储器
804(例如只读存储器(ROM)、快闪存储器、诸如同步DRAM(SDRAM)
或RambusDRAM(RDRAM)的动态随机存取存储器(DRAM)等)、
静态存储器806(例如快闪存储器、静态随机存取存储器(SRAM)等)
和数据存储设备818,它们彼此经由总线808进行通信。
处理器802表示一个或多个通用处理设备,诸如微处理器、中央
处理单元等。更具体地,处理器802可以是复杂指令集计算(CISC)
微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)
微处理器或者实现其他指令集的处理器或实现指令集的组合的处理
器。处理器802也可以是一个或多个特殊用途的处理设备,诸如专用
集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、
网络处理器等。处理器802被配置为执行用于执行本文所讨论的操作
和步骤的指令826。
计算机系统800可以进一步包括网络接口设备822。计算机系统
800还可以包括视频显示单元810(例如液晶显示器(LCD)、阴极射
线管(CRT)或触摸屏)、字母数字输入设备812(例如键盘)、光标
控制设备814(例如鼠标)和信号生成设备820(例如扬声器)。
数据存储设备818可以包括其上存储有实施本文所描述的方法或
功能中的任何一个或多个方法或功能的一个或多个指令集826(例如软
件)的计算机可读存储介质824。指令826还可以在由计算机系统800
执行期间完全或至少部分地驻留在主存储器804和/或处理器802内,
主存储器804和处理器802也构成计算机可读存储介质。可以进一步
经由网络接口设备822通过网络874发送或接收指令826。
在一个实施例中,指令826包括用于内容项目播放器组件850的
指令,这些指令可以分别对应于关于图1和图2描述的客户端侧内容
项目播放器组件115和/或服务器侧内容项目播放器组件140和/或包含
提供用于内容共享平台的动态大小可调节的内容项目播放器的方法的
软件库。虽然计算机可读存储介质824在示范性实现中被示为单个介
质,但是术语“计算机可读存储介质”应当被理解为包括存储一组或多组
指令的单个介质或多个介质(例如集中式或分布式数据库和/或相关联
的高速缓存和服务器)。术语“计算机可读存储介质”也应当被理解为包
括能够存储、编码或携带用于由机器执行并且使机器执行本公开的方
法中的任何一个或多个方法的一组指令的任何介质。术语“计算机可读
存储介质”应当相应地被认为包括但不限于固态存储器、光介质和磁介
质。
在前面的描述中,阐述了许多细节。然而,对于受益于本公开的
本领域技术人员将显而易见的是,可以在没有这些具体细节的情况下
实践本公开。在一些情况下,以框图的形式而没有详细示出众所周知
的结构和设备,以避免模糊本公开。
在对计算机存储器内的数据位的操作的算法和符号表示方面呈现
了详细描述的一些部分。这些算法描述和表示是数据处理领域技术人
员用来向本领域其他技术人员最有效地传达其工作的实质的手段。算
法在这里并且通常被认为是导致期望的结果的步骤的自一致序列。步
骤需要对物理量的物理操纵。通常,尽管不是必需的,这些量采用能
够被存储、传送、组合、比较和以其他方式操纵的电信号或磁信号的
形式。已经证明有时主要为了通用的原因将这些信号称为位、值、元
素、符号、字符、项、数字等是方便的。
然而,应牢记,所有这些和类似的术语都将与适当的物理量相关
联并且仅仅是应用于这些量的方便的标签。除非另有明确声明,否则
如从下面的讨论显而易见的,可以明白,在整个描述中,使用诸如“分
段”、“分析”、“确定”、“启用”、“识别”、“修改”等的术语的讨论是指
将被表示为计算机系统的寄存器和存储器内的物理(例如电子)量的
数据操纵和转换成被类似地表示为计算机系统存储器或寄存器或其他
这种信息存储、传输或显示设备内的物理量的其他数据的计算机系统
或类似电子计算设备的动作和过程。
本公开还涉及一种用于执行本文中的操作的装置。此装置可以被
特别地构造用于所需目的,或者它可以包括由存储在计算机中的计算
机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可
以被存储在计算机可读存储介质中,诸如但不限于任何类型的盘,包
括软盘、光盘、CD-ROM和磁光盘、只读存储器(ROM)、随机存取
存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适合于存储电子
指令的任何类型的介质。
本文所用的词语“示例性”或“示范性”意在用作示例、实例或例证。
本文描述为“示例性”或“示范性”的任何方面或设计不一定要被解释为
优于或胜过其他方面或设计。而是,词语“示例性”或“示范性”的使用旨
在以具体方式呈现概念。如本申请中所用,术语“或”旨在表示包括性
“或”而不是排他性“或”。也就是说,除非另有指定或从上下文清楚看出,
“X包括A或B”旨在意味着任何自然的包括性排列。也就是说,如果X
包括A;X包括B;或X包括A和B两者,则在任何以上情况下满足“X
包括A或B”。另外,如本申请和所附权利要求中所用的冠词“一”和“一
个”应一般地被解释为意味着“一个或多个”,除非另有指定或从上下文
清楚看出是针对单数形式。此外,贯穿全文的术语“实施例”或“一个实
施例”或“实现”或“一个实现”的使用并非旨在意味着相同的实施例或实
现,除非这样描述。
贯穿本说明书对“一个实施例”或“实施例”的引用意味着结合该实
施例描述的特定特征、结构或特性包括在至少一个实施例中。因此,
短语“在一个实施例中”或“在实施例中”在贯穿本说明书的各个地方的
出现不一定全部指的是同一实施例。另外,术语“或”旨在意味着包括性
“或”而不是排他性“或”。
应当理解的是,上面的描述旨在作为说明性的而不是限制性的。
在阅读和理解上面的描述后,许多其他实施例对于本领域技术人员将
是显而易见的。因此,应当参考所附权利要求连同这些权利要求所赋
予的等效物的全部范围来确定本公开的范围。