视频播放方法、装置、终端及存储介质与流程

文档序号:17009345发布日期:2019-03-02 02:10阅读:186来源:国知局
视频播放方法、装置、终端及存储介质与流程

本发明涉及网络技术领域,特别涉及一种视频播放方法、装置、终端及存储介质。



背景技术:

随着网络技术的发展以及终端功能的多样化,终端可以播放各种视频,例如,在网络直播的场景中,终端可以当检测到某个直播间的点击操作时,播放直播间的视频。

目前,在视频播放的过程中,终端会当接收到视频播放指令时,与服务器进行握手、建立网络连接、建立网络流等多次交互过程,从而与服务器建立连接。当终端与服务器连接完成后,终端可以基于已经建立的连接,从服务器获取视频播放指令对应的视频流,基于视频流进行视频播放。

采用上述方法播放视频时,终端在接收到视频播放指令后,需要耗费很长时间来与服务器建立连接,导致视频流的获取速度较慢,进而导致视频的播放速度也较慢。



技术实现要素:

本发明实施例提供了一种视频播放方法、装置、终端及存储介质,能够解决相关技术中视频流的获取速度较慢,进而导致视频的播放速度较慢的问题。所述技术方案如下:

一方面,提供了一种视频播放方法,所述方法包括:

生成连接池,所述连接池用于存储至少一个连接对象,每个连接对象用于指示所述终端与服务器之间的一个连接;

当接收到视频播放指令时,从所述连接池中获取任一连接对象;

基于所述连接对象指示的连接,从所述服务器获取所述视频播放指令对应的视频流;

基于所述视频流进行视频播放。

可选地,所述从所述连接池中获取任一连接对象之后,所述方法还包括:

生成连接对象;

基于所述连接对象,建立与所述服务器之间的连接;

将所述连接对象添加至所述连接池。

可选地,所述生成连接池之后,所述方法还包括:

对于所述连接池中的每个连接对象,保持所述连接对象指示的连接为可用状态。

可选地,所述保持所述连接对象指示的连接为可用状态,包括:

每隔预设时长,基于所述连接对象指示的连接,向所述服务器发送心跳消息;

基于所述连接对象指示的连接,接收所述服务器的心跳响应。

可选地,所述方法还包括:

遍历所述连接池中的至少一个连接对象;

当所述至少一个连接对象指示的连接均处于不可用状态时,建立与所述服务器之间的连接。

可选地,所述生成连接池,包括:

根据所述服务器的域名,生成至少一个连接对象;

对于所述至少一个连接对象中的每个连接对象,基于所述连接对象,建立与所述服务器之间的连接;

将所述连接对象添加至所述连接池。

可选地,所述基于所述连接对象,建立与所述服务器之间的连接,包括:

基于所述连接对象,与所述服务器进行握手;

基于所述连接对象,与所述服务器建立网络连接;

基于所述连接对象,与所述服务器建立网络流。

另一方面,提供了一种视频播放装置,所述装置包括:

生成模块,用于生成连接池,所述连接池用于存储至少一个连接对象,每个连接对象用于指示所述终端与服务器之间的一个连接;

获取模块,用于当接收到视频播放指令时,从所述连接池中获取任一连接对象;

所述获取模块,还用于基于所述连接对象指示的连接,从所述服务器获取所述视频播放指令对应的视频流;

播放模块,用于基于所述视频流进行视频播放。

可选地,所述生成模块,还用于生成连接对象;

所述装置还包括:连接模块,用于基于所述连接对象,建立与所述服务器之间的连接;

添加模块,用于将所述连接对象添加至所述连接池。

可选地,所述装置还包括:

保持模块,用于对于所述连接池中的每个连接对象,保持所述连接对象指示的连接为可用状态。

可选地,所述保持模块,用于每隔预设时长,基于所述连接对象指示的连接,向所述服务器发送心跳消息;基于所述连接对象指示的连接,接收所述服务器的心跳响应。

可选地,所述装置还包括:

遍历模块,用于遍历所述连接池中的至少一个连接对象;

连接模块,用于当所述至少一个连接对象指示的连接均处于不可用状态时,建立与所述服务器之间的连接。

可选地,所述生成模块,用于根据所述服务器的域名,生成至少一个连接对象;对于所述至少一个连接对象中的每个连接对象,基于所述连接对象,建立与所述服务器之间的连接;将所述连接对象添加至所述连接池。

可选地,所述生成模块,用于:基于所述连接对象,与所述服务器进行握手;基于所述连接对象,与所述服务器建立网络连接;基于所述连接对象,与所述服务器建立网络流。

另一方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述视频播放方法所执行的操作。

另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述视频播放方法所执行的操作。

本发明实施例提供的视频播放方法、装置、终端及存储介质,终端通过预先建立连接池,在需要播放视频时可以直接从连接池中获取连接对象,基于连接对象指示的连接播放视频,如此,终端在播放视频时无需与服务器临时建立连接,也就节省了视频播放过程中建立连接要耗费的时间,从而大大减少了获取视频流的时长,从而提高了获取视频流的速度,进而提升了播放视频的速度,能够让用户快速观看到视频。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种网络直播的系统架构图;

图2是本发明实施例提供的一种视频播放方法的流程图;

图3是本发明实施例提供的一种视频播放方法的流程图;

图4是本发明实施例提供的一种视频播放装置的结构示意图;

图5是本发明实施例提供的一种终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明实施例提供的一种网络直播的系统架构图,网络直播是一种新兴的网络社交方式,它是多个用户可以在同一时间通过网络观看或收听同样的直播内容的一种社交方式。

一般地,主播可以在直播间中展示歌唱、游戏、电影、电视剧等音视频内容,其中,该直播间是一种提供弹幕式音视频直播的在线虚拟房间。观众可以通过终端进入该直播间,在该直播间中观看或收听主播的展示内容,也可以与该主播进行互动,例如,点赞、为该主播送礼物、关注或者分享该主播、与该主播进行聊天等。

如图1所示,该网络直播系统可以包括多个终端和内容分发网络,其中,该多个终端中可以包括一个主播的终端和n个观众的终端。该内容分发网络用于为该多个终端提供音视频服务。该主播的终端可以采集主播直播过程中的音视频数据,并基于该音视频数据获取视频流,从而将该视频流发送至内容分发网络,由该内容分发网络将该视频流转发至该n个观众的终端,则该观众的终端可以对该视频流进行解码并播放视频,使得观众可以观看主播的直播内容。其中,n为正整数。

其中,该内容分发网络是由多个节点服务器所构成的虚拟网络,该多个节点服务器分布于网络各处,该内容分发网络可以根据网络流量和各个节点服务器的连接、负载情况、与用户的距离以及响应时间等因素,将视频流发送至距离用户最近的节点服务器上,从而基于该节点服务器实现视频流转发过程。

需要说明的是,该主播的终端可以通过终端上的直播应用进行直播,也可以通过门户网站进行直播,同理地,该n个观众的终端也可以通过直播应用或门户网站获取到视频流,本发明实施例对此不作限定。

当然,该网络直播系统还可以包括消息中转分发服务器,该消息中转分发服务器不区分终端是观众的终端,还是主播的终端,该消息中转分发服务器可以将任一终端发送的消息,广播给其他终端,从而该直播间内的所有终端均可以看到该消息,该消息通常是观众和主播的互动内容,本发明实施例对在此不作过多赘述。

图2是本发明实施例提供的一种视频播放方法的流程图,应用于终端,参见图2,该方法包括:

201、生成连接池,该连接池用于存储至少一个连接对象,每个连接对象用于指示该终端与服务器之间的一个连接。

202、当接收到视频播放指令时,从该连接池中获取任一连接对象。

203、基于该连接对象指示的连接,从该服务器获取该视频播放指令对应的视频流。

204、基于该视频流进行视频播放。

本实施例提供的方法,终端通过预先建立连接池,在需要播放视频时可以直接从连接池中获取连接对象,基于连接对象指示的连接播放视频,如此,终端在播放视频时无需与服务器临时建立连接,也就节省了建立连接要耗费的时间,从而大大减少了获取视频流的时长,从而提高了获取视频流的速度,进而提升了播放视频的速度,能够让用户快速观看到视频。

可选地,该从该连接池中获取任一连接对象之后,该方法还包括:

生成连接对象;

基于该连接对象,建立与该服务器之间的连接;

将该连接对象添加至该连接池。

可选地,该生成连接池之后,该方法还包括:

对于该连接池中的每个连接对象,保持该连接对象指示的连接为可用状态。

可选地,该保持该连接对象指示的连接为可用状态,包括:

每隔预设时长,基于该连接对象指示的连接,向该服务器发送心跳消息;

基于该连接对象指示的连接,接收该服务器的心跳响应。

可选地,该方法还包括:

遍历该连接池中的至少一个连接对象;

当该至少一个连接对象指示的连接均处于不可用状态时,建立与该服务器之间的连接。

可选地,该生成连接池,包括:

根据该服务器的域名,生成至少一个连接对象;

对于该至少一个连接对象中的每个连接对象,基于该连接对象,建立与该服务器之间的连接;

将该连接对象添加至该连接池。

可选地,该基于该连接对象,建立与该服务器之间的连接,包括:

基于该连接对象,与该服务器进行握手;

基于该连接对象,与该服务器建立网络连接;

基于该连接对象,与该服务器建立网络流。

图3是本发明实施例提供的一种视频播放方法的流程图。该发明实施例的执行主体为终端,参见图3,该方法包括:

301、终端生成连接池。

终端可以为手机、平板电脑、个人电脑等,终端可以安装视频应用的客户端,可以通过该客户端与视频应用的服务器进行通信,还可以通过该客户端进行视频播放。

连接池用于存储该终端与服务器之间的至少一个连接对象。连接池可以为数组,数组中的每个位置用于存储一个连接对象。连接池可以缓存在终端的内存中。连接池中连接对象的最大数量可以根据设置操作确定,例如,连接池中可以包括2至3个连接对象。

连接对象用于指示该终端与服务器之间的一个连接。具体来讲,连接对象可以封装用于连接的方法(英文:method),例如封装握手方法、网络连接方法以及网络流方法。其中,该连接是指终端与服务器之间的通信链路,该连接可以为实时消息传输协议(英文:realtimemessagingprotocol,缩写:rtmp)连接,该连接可以用于传输视频流。

关于生成连接池的时机,例如,终端可以当接收到对视频应用的启动指令时,生成连接池。该启动指令可以通过对视频应用的图标的点击操作触发。又如,终端可以当显示视频应用的界面时,生成连接池。再如,终端可以当启动上电时,生成连接池,本实施例对此不做限定。另外,该生成连接池的过程可以具体由终端中视频应用的客户端执行。

具体来讲,连接池的生成过程可以包括以下步骤一至步骤三:

步骤一、终端接收服务器的域名。

域名用于标识服务器的地址,举例来说,如果终端与服务器之间基于rtmp协议通信,则该服务器的域名可以为rtmp://xxxx.yyyy.com/streamname。关于接收域名的过程,在一种可能的实现中,终端可以向域名系统(domainnamesystem,缩写:dns)服务器发送域名请求,接收dns服务器发送的视频应用的服务器的域名。在另一种可能的实现中,终端可以向视频应用的服务器发送域名请求,接收视频应用的服务器发送的域名。

步骤二、终端根据服务器的域名,生成至少一个连接对象。

可选地,生成任一连接对象的过程可以包括:终端生成流标识,向域名添加该流标识,得到连接对象的标识,并且向该连接对象标识对应的对象封装用于连接的方法,得到一个连接对象。其中,关于生成流标识的过程,终端可以生成随机数,将该随机数作为流标识,也可以获取预设的流标识,本实施例对此不做限定。

步骤三、对于该至少一个连接对象中的每个连接对象,终端基于该连接对象,建立与该服务器之间的连接。

具体来讲,终端与服务器之间的连接可以包括握手连接、网络连接以及网络流连接,相应地,步骤三可以包括以下步骤3.1至步骤3.3。

步骤3.1、终端基于连接对象,与服务器进行握手。

握手是指在进行信息交换之前对操作模式的状态互相达成协定的过程,也即是指在接收端和发送端之间建立通信参数的过程。则该终端在从服务器获取直播流之前,可以先与服务器之间建立通信参数。

具体地,rtmp协议中握手阶段通常由终端和服务器各发送三个块完成,终端发送的块记为c0块、c1块和c2块,服务器发送的块记为s0块、s1块和s2块。其中,块是指消息片段。则该握手阶段终端和服务器的具体交互过程可以包括以下步骤3.1.1至步骤3.1.4:

步骤3.1.1、终端向服务器发送c0块以及c1块。

步骤3.1.2、服务器接收到终端的c0块或c1块后,向终端发送s0块和s1块。

步骤3.1.3、当终端接收到服务器的s0块和s1块后,向服务器发送c2块。当服务器得到c0块和c1块时,向终端发送s2块。

步骤3.1.4、终端接收到s2块后,可以向服务器发送其他数据,服务器接收到c2后,可以向终端发送其他数据。

步骤3.2、终端基于连接对象,与服务器建立网络连接。

其中,该网络连接为终端和服务器之间的基础连通关系。终端可以和服务器建立一个网络连接,该服务器和终端之间建立起网络连接,但还无法支持视频流传输。

具体地,终端可以向服务器发送连接(英文:connect)命令消息,请求服务器的应用程序建立连接。服务器接收到该连接命令消息后,可以发送确认窗口大小(英文:windowacknowledgementsize)协议消息到终端,同时与该连接命令消息指示的应用程序连接。该服务器还可以向终端发送设置带宽协议消息。终端对该设置带宽协议消息进行处理后,可以向服务器发送确认窗口大小协议消息。上述服务器在连接到应用程序后,可以返回连接成功的消息,还可以向终端发送用户控制消息中的流开始(英文:streambegin)消息,服务器可以向终端发送命令消息中的结果消息,该结果消息用于通知连接的状态。

步骤3.3、终端基于连接对象,与服务器建立网络流。

其中,网络流连接代表了发送多媒体数据的通道,终端可以与服务器建立多个网络流。

通过上述过程,终端仅可以与服务器的应用程序进行基础的消息交互,而无法传输视频流,因此,终端在该建立网络流连接阶段,可以向服务器发送命令消息中的创建流(英文:createstream)命令,服务器接收到该创建流命令后,可以发送命令消息中的结果(英文:result),该结果用于通知终端网络流的状态。则该终端和服务器之间已经建立了网络流连接,终端和服务器之间可以传输视频流。

通过上述步骤3.1至步骤3.3,终端在拉流前,预先执行了握手、建立网络连接、建立网络流这三个过程,因此拉流时就无需再执行握手、建立网络连接、建立网络流这三个过程,也就节省了拉流时这三个过程占用的时间,从而减少拉流的总时长,提升获取视频流的速度,进而提升用户观看视频的速度。

步骤四、终端将连接对象添加至连接池。

通过上述步骤一至步骤三,终端创建了一个可用的连接,则可以将连接对应的连接对象添加至连接池,以便后续播放视频时,可以从该连接池中获取连接。依次类推,可以通过多次执行上述步骤一至步骤三,将多个连接对象添加至连接池中,以使连接池存储多个连接对象。

可选地,连接池中每个连接对象指示的连接可以均为可用状态。具体来讲,对于连接池中的每个连接对象,终端可以通过与服务器交互,保持该连接对象指示的连接为可用状态,避免连接由于过长时间未与服务器交互而被释放。在一种可能的实现中,保持连接为可用状态的过程可以包括以下步骤一至步骤三:

步骤一、终端每隔预设时长,基于连接对象指示的连接,向服务器发送心跳消息。

该心跳消息用于维持终端与服务器之间的连接,能够测试服务器是否为在线状态。举例来说,该心跳消息可以为乒乓(英文:pingpong)通信中的ping帧。该预设时长可以为5秒。

步骤二、服务器接收心跳消息,向终端发送心跳响应。

该心跳响应用于确认服务器处于在线状态,举例来说,该心跳响应可以为pingpong通信中的pong帧。可选地,心跳响应携带的内容可以和心跳消息携带的内容相同,例如,可以修改心跳消息的协议字段,将修改后的心跳消息作为心跳响应。

步骤三、终端基于连接对象指示的连接,接收服务器的心跳响应。

对于连接池中任一连接对象指示的连接来说,当终端基于该连接接收到服务器的心跳响应时,表明终端与服务器之间的连接正常,因此可以确定该连接处于可用状态。而当终端未基于该连接接收到服务器的心跳响应时,表明终端与服务器之间的连接断开,因此可以确定该连接处于不可用状态,则可以释放连接对应的连接对象。

可选地,当经过预设时长后,终端可以再次执行上述步骤一至步骤三,从而定时与服务器进行交互,以使连接维持为长连接。

302、终端接收视频播放指令。

视频播放指令用于指示播放视频流,可以通过对直播间的点击操作触发。视频播放指令可以携带视频流的标识,该视频流的标识用于指示该视频流。举例来说,视频流的标识可以为直播间的房间号或流名称。

303、终端从连接池中获取任一连接对象。

可选地,终端可以遍历连接池中的至少一个连接对象,判断每个连接对象指示的连接是否处于可用状态,当任一连接对象指示的连接处于可用状态时,则获取该连接对象,以便基于该连接对象指示的连接,从服务器拉取视频流。当连接池中至少一个连接对象指示的连接均处于不可用状态时,则终端可以生成连接对象,基于该连接对象建立与服务器之间的连接,以便通过重新与服务器建立连接,从服务器拉取视频流。

304、终端对连接池进行补充。

具体来说,对连接池进行补充的过程可以包括以下步骤一至步骤二:

步骤一、终端生成连接对象。

步骤二、终端基于该连接对象,建立与服务器之间的连接。

步骤三、终端将连接对象添加至连接池。

进一步地,考虑到终端可以先后播放多个视频,则会从连接池中获取多个连接对象,则终端可以生成多个连接对象,基于多个连接对象,建立与服务器之间的连接,将多个连接对象添加至连接池。其中,从连接池中获取的连接对象的数量可以和向连接池中添加的连接对象的数量相等。以数学的方式表达,假设终端从连接池中获取了n个连接对象,则终端可以重新生成n个连接对象,将n个连接对象添加至连接池。其中,n为正整数。

本步骤达到的效果至少可以包括:

每当从连接池中获取连接对象后,连接池中的连接对象的数量会减少,通过对连接池进行补充,则终端可以建立新的连接对象,将新的连接对象添加至连接池,以使连接池中的连接对象数量恢复,可以保证连接池中连接对象的数量实时保持稳定,避免连接池随着视频播放而出现资源耗竭的情况,提高连接池的可用性。

305、终端基于连接对象指示的连接,从服务器获取视频播放指令对应的视频流。

终端可以获取视频播放指令中的视频流的流标识,基于连接对象指示的连接,从服务器拉取该流标识对应的视频流。可选地,当从服务器拉取视频流成功时,可以释放连接对象指示的连接,以便节省连接对象占用的内存空间。

其中,从服务器获取视频流的过程可以包括以下步骤(1)至步骤(6):

(1)终端将命令消息中的播放(英文:play)命令发送至服务器。

(2)当服务器接收到播放命令后,服务器向终端发送设置块大小(英文:chunksize)协议消息。

(3)服务器向终端发送用户控制消息中的流开始消息(英文:streambegin),该流开始消息携带视频流的标识。

(4)当播放命令成功时,服务器向终端发送命令消息中的响应状态,通知告知终端播放命令执行成功。

(5)服务器向终端发送视频流。

(6)终端接收服务器的视频流。

306、终端基于视频流进行视频播放。

终端可以对视频流进行解码,得到视频,播放视频。可选地,终端可以显示直播间界面,在该直播间界面中播放视频。

本实施例提供的方法,终端通过预先建立连接池,在需要播放视频时可以直接从连接池中获取连接对象,基于连接对象指示的连接播放视频,如此,终端在播放视频时无需与服务器临时建立连接,也就节省了视频播放过程中建立连接要耗费的时间,从而大大减少了获取视频流的时长,从而提高了获取视频流的速度,进而提升了播放视频的速度,能够让用户快速观看到视频。

图4是本发明实施例提供的一种视频播放装置的结构示意图。参见图4,该装置包括:生成模块401、获取模块402以及播放模块403。

生成模块401,用于生成连接池,该连接池用于存储至少一个连接对象,每个连接对象用于指示该终端与服务器之间的一个连接;

获取模块402,用于当接收到视频播放指令时,从该连接池中获取任一连接对象;

该获取模块402,还用于基于该连接对象指示的连接,从该服务器获取该视频播放指令对应的视频流;

播放模块403,用于基于该视频流进行视频播放。

可选地,该生成模块401,还用于生成连接对象;

该装置还包括:连接模块,用于基于该连接对象,建立与该服务器之间的连接;

添加模块,用于将该连接对象添加至该连接池。

可选地,该装置还包括:

保持模块,用于对于该连接池中的每个连接对象,保持该连接对象指示的连接为可用状态。

可选地,该保持模块,用于每隔预设时长,基于该连接对象指示的连接,向该服务器发送心跳消息;基于该连接对象指示的连接,接收该服务器的心跳响应。

可选地,该装置还包括:

遍历模块,用于遍历该连接池中的至少一个连接对象;

连接模块,用于当该至少一个连接对象指示的连接均处于不可用状态时,建立与该服务器之间的连接。

可选地,该生成模块401,用于根据该服务器的域名,生成至少一个连接对象;对于该至少一个连接对象中的每个连接对象,基于该连接对象,建立与该服务器之间的连接;将该连接对象添加至该连接池。

可选地,该生成模块401,用于:基于该连接对象,与该服务器进行握手;基于该连接对象,与该服务器建立网络连接;基于该连接对象,与该服务器建立网络流。

本实施例提供的装置,终端通过预先建立连接池,在需要播放视频时可以直接从连接池中获取连接对象,基于连接对象指示的连接播放视频,如此,终端在播放视频时无需与服务器临时建立连接,也就节省了建立连接要耗费的时间,从而大大减少了获取视频流的时长,从而提高了获取视频流的速度,进而提升了播放视频的速度,能够让用户快速观看到视频。

上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。

需要说明的是:上述实施例提供的视频播放装置在播放视频时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频播放装置与视频播放方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图5是本发明实施例提供的一种终端的结构示意图。该终端500可以是:智能手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端500包括有:处理器501和存储器502。

处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(centralprocessingunit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有gpu(graphicsprocessingunit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请中方法实施例提供的视频播放方法。

在一些实施例中,终端500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、触摸显示屏505、摄像头506、音频电路507、定位组件508和电源509中的至少一种。

外围设备接口503可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路504用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wirelessfidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏505用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置终端500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在终端500的不同表面或呈折叠设计;在再一些实施例中,显示屏505可以是柔性显示屏,设置在终端500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtualreality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。

定位组件508用于定位终端500的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。定位组件508可以是基于美国的gps(globalpositioningsystem,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。

电源509用于为终端500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。

加速度传感器511可以检测以终端500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制触摸显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器512可以检测终端500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对终端500的3d动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器513可以设置在终端500的侧边框和/或触摸显示屏505的下层。当压力传感器513设置在终端500的侧边框时,可以检测用户对终端500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在触摸显示屏505的下层时,由处理器501根据用户对触摸显示屏505的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置终端500的正面、背面或侧面。当终端500上设置有物理按键或厂商logo时,指纹传感器514可以与物理按键或厂商logo集成在一起。

光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制触摸显示屏505的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏505的显示亮度;当环境光强度较低时,调低触摸显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。

接近传感器516,也称距离传感器,通常设置在终端500的前面板。接近传感器516用于采集用户与终端500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与终端500的正面之间的距离逐渐变小时,由处理器501控制触摸显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与终端500的正面之间的距离逐渐变大时,由处理器501控制触摸显示屏505从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图5中示出的结构并不构成对终端500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中的视频播放方法。例如,计算机可读存储介质可以是只读存储器(read-onlymemory,简称:rom)、随机存取存储器(randomaccessmemory,简称:ram)、只读光盘(compactdiscread-onlymemory,简称:cd-rom)、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1