一种播放进度定位方法及装置转让专利

申请号 : CN201710567565.1

文献号 : CN107277629B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 许相台

申请人 : 青岛海信电器股份有限公司

摘要 :

本发明实施例公开了一种对调整指令指示的播放时刻进行用于锁定音视频关键帧的播放进度定位方法,所述方法包括:调用指令存储线程,执行接收并存储每一条调整指令的播放时刻的操作;调用定位线程,执行如下操作:在第一调整指令开始执行定位操作之后,基于所述指令存储线程,每当接收并存储一条新的调整指令,若所述第一调整指令指示的播放时刻已结束定位操作,则开始执行对所述新的调整指令指示的播放时刻的定位操作;否则继续等待接收新的调整指令,直到所述第一调整指令指示的播放时刻结束定位操作后,对所述指令存储线程存储的最新调整指令指示的播放时刻执行定位操作。与现有技术相比,本方案无需对应每个播放时刻均执行定位操作,从而能够缩短整个进度调整过程的响应时长,提高用户的调整体验。

权利要求 :

1.一种对调整指令指示的播放时刻进行用于锁定音视频关键帧的播放进度定位方法,其特征在于,所述方法包括:调用指令存储线程,执行接收并存储每一条调整指令的操作;

调用定位线程,执行如下操作:

在第一调整指令开始执行定位操作之后,基于所述指令存储线程,每当接收并存储一条新的调整指令,若所述第一调整指令指示的播放时刻已结束定位操作,则开始执行对所述新的调整指令指示的播放时刻的定位操作;

否则继续等待接收新的调整指令,直到所述第一调整指令指示的播放时刻结束定位操作后,对所述指令存储线程存储的最新调整指令指示的播放时刻执行定位操作;

当接收到所述第一调整指令时,将当前播放进度对应的独立游标拆分为第一子游标和第二子游标;

相应的,每接收到一条新的调整指令,控制所述第一子游标移动到所述新的调整指令指示的播放时刻对应的位置;

每当执行定位操作的调整指令指示的播放时刻结束定位后,控制所述第二子游标移动到所述结束定位的播放时刻指示的位置。

2.如权利要求1所述的方法,其特征在于,对所述指令存储线程存储的最新调整指令指示的播放时刻执行定位操作之后,还包括:若所述最新调整指令指示的播放时刻定位结束后未检测到新的调整指令,则将所述第一子游标和所述第二子游标合并得到所述独立游标。

3.如权利要求2所述的方法,其特征在于,调用指令存储线程,执行接收并存储每一条调整指令的操作包括:通过所述指令存储线程将接收到的每一条调整指令指示的播放时刻顺序存储到预先创建的数据表中;

相应的,对调整指令指示的播放时刻执行定位操作之前还包括:从所述数据表中读取最新存储的调整指令指示的播放时刻。

4.如权利要求2所述的方法,其特征在于,所述方法还包括预先创建两个分别具备第一标识和第二标识的数据表;所述调用指令存储线程,执行接收并存储每一条调整指令的操作,包括:通过所述指令存储线程将接收到的每一条调整指令指示的播放时刻顺序存储到所述具备第一标识的数据表中;

相应的,对调整指令指示的播放时刻执行定位操作包括:从所述具备第一标识的数据表中读取最新存储的调整指令指示的播放时刻;

对所述读取到的最新存储的调整指令指示的播放时刻开始执行定位操作,且清空所述具备第一标识的数据表后与所述具备第二标识的数据表交换标识信息。

5.一种对调整指令指示的播放时刻进行用于锁定音视频关键帧的播放进度定位装置,其特征在于,所述装置包括:存储模块,用于调用指令存储线程,执行接收并存储每一条调整指令的操作;

定位模块,用于调用定位线程,执行如下操作:

在第一调整指令开始执行定位操作之后,基于所述指令存储线程,每当接收并存储一条新的调整指令,若所述第一调整指令指示的播放时刻已结束定位操作,则开始执行对所述新的调整指令指示的播放时刻的定位操作;

否则继续等待接收新的调整指令,直到所述第一调整指令指示的播放时刻结束定位操作后,对所述指令存储线程存储的最新调整指令指示的播放时刻执行定位操作;

拆分模块,用于在接收到所述第一调整指令时,将当前播放进度对应的独立游标拆分为第一子游标和第二子游标;

控制模块,用于每接收到一条新的调整指令,控制所述第一子游标移动到所述新的调整指令指示的播放时刻对应的位置;还用于每当执行定位操作的调整指令指示的播放时刻结束定位后,控制所述第二子游标移动到所述结束定位的播放时刻指示的位置。

6.如权利要求5所述的装置,其特征在于,所述装置还包括:合并模块,用于若所述最新调整指令指示的播放时刻定位结束后未检测到新的调整指令,则将所述第一子游标和所述第二子游标合并得到所述独立游标。

7.如权利要求6所述的装置,其特征在于,所述存储模块具体用于:通过所述指令存储线程将接收到的每一条调整指令指示的播放时刻顺序存储到预先创建的数据表中;

相应的,所述装置还包括:

读取模块,用于从所述数据表中读取最新存储的调整指令指示的播放时刻。

8.如权利要求6所述的装置,其特征在于,所述装置还包括:创建模块,用于预先创建两个分别具备第一标识和第二标识的数据表;

所述存储模块具体用于通过所述指令存储线程将接收到的每一条调整指令指示的播放时刻顺序存储到所述具备第一标识的数据表中;

相应的,所述定位模块还包括:

读取模块,用于从所述具备第一标识的数据表中读取最新存储的调整指令指示的播放时刻;

处理模块,用于对所述读取到的最新存储的调整指令指示的播放时刻开始执行定位操作,且清空所述第一标识的数据表后与所述具备第二标识的数据表交换标识信息。

说明书 :

一种播放进度定位方法及装置

技术领域

[0001] 本发明实施例涉及通信技术领域,尤其涉及一种播放进度定位方法及装置。

背景技术

[0002] 目前,随着家用电器的智能化,人们使用智能家电能够进行的操作越来越多,例如,用户使用智能电视不单单只能观看多媒体数据,而且还能够选择节目,选择播放集数,以及调整多媒体数据的播放进度等,而上述操作,用户均能够通过遥控器执行操作。
[0003] 以调整多媒体数据的播放进度为例,用户通常通过遥控器的左/右方向键,向智能电视系统发送进度调整指令,在接收到遥控器发送的调整指令后,智能电视系统可以根据调整指令对应的键值确定调整方向,并且,每接收到一条调用指令,调整一次播放器游标所指示的播放时刻,与此同时,智能电视系统按照调整后的播放时刻,定位多媒体数据的播放进度。具体的,在接收到任一条调用指令后,智能电视系统获取响应该调整指令后的播放时刻,然后,解析多媒体数据资源得到相应播放时刻对应的帧,最后,将该帧通过智能电视的播放器显示,完成一次定位。通常,每次定位操作均会消耗一定的时间。
[0004] 参见图1,结合图1所示的场景,假设用户欲将当前视频的播放进度从播放时刻O调整到播放时刻D,通常,用户可以通过重复多次按压遥控器的按键,或者,按下按键持续一段时间的方式,向智能电视系统发送调整指令。其中,当用户重复多次按压遥控器的按键时,智能电视系统将持续接收多条调用指令,如图1所示的实施场景接收到4条调用指令,而每接收一条调用指令,调整一次游标所指示的播放时刻,如图1所示的播放时刻A,播放时刻B,播放时刻C和播放时刻D,与此同时,智能电视系统对应每一个播放时刻均需要执行一次定位,即,对应播放时刻A,播放时刻B,播放时刻C和播放时刻D分别需要执行一次定位。
[0005] 由此可见,由于从播放时刻O调整到播放时刻D,需要执行多次定位操作,而每次定位操作均需要消耗一定时间,所以,现有的调整方式需要定位的次数较多,从而造成整个进度调整过程响应时间过长。

发明内容

[0006] 本发明实施例提供了一种终端预设时间内接收多条调整播放进度指令的进度定位方法及装置,以解决现有的进度调整过程响应时间过长的问题。
[0007] 第一方面,本申请实施例提供了一种对调整指令指示的播放时刻进行用于锁定音视频关键帧的播放进度定位方法,所述方法包括:
[0008] 调用指令存储线程,执行接收并存储每一条调整指令的操作;
[0009] 调用定位线程,执行如下操作:
[0010] 在第一调整指令开始执行定位操作之后,基于所述指令存储线程,每当接收并存储一条新的调整指令,若所述第一调整指令指示的播放时刻已结束定位操作,则开始执行对所述新的调整指令指示的播放时刻的定位操作;
[0011] 否则继续等待接收新的调整指令,直到所述第一调整指令指示的播放时刻结束定位操作后,对所述指令存储线程存储的最新调整指令指示的播放时刻执行定位操作。
[0012] 进一步的,所述方法还包括:
[0013] 当接收到初始调整指令时,将当前播放进度对应的独立游标拆分为第一子游标和第二子游标;
[0014] 相应的,每接收到一条新的调整指令,控制所述第一子游标移动到所述新的调整指令指示的播放时刻对应的位置;
[0015] 每当执行定位操作的调整指令指示的播放时刻结束定位后,控制所述第二子游标移动到所述结束定位的播放时刻指示的位置。
[0016] 进一步的,对所述指令存储线程存储的最新调整指令指示的播放时刻执行定位操作之后,还包括:
[0017] 若所述最新调整指令指示的播放时刻定位结束后未检测到新的调整指令,则将所述第一子游标和所述第二子游标合并得到所述独立游标。
[0018] 进一步的,调用指令存储线程,执行接收并存储每一条调整指令的操作包括:
[0019] 通过所述指令存储线程将接收到的每一条调整指令指示的播放时刻顺序存储到预先创建的数据表中;
[0020] 相应的,对调整指令指示的播放时刻执行定位操作之前还包括:
[0021] 从所述数据表中读取最新存储的调整指令指示的播放时刻。
[0022] 进一步的,所述方法还包括预先创建两个分别具备第一标识和第二标识的数据表;所述调用指令存储线程,执行接收并存储每一条调整指令的操作,包括:
[0023] 通过所述指令存储线程将接收到的每一条调整指令指示的播放时刻顺序存储到所述具备第一标识的数据表中;
[0024] 相应的,对调整指令指示的播放时刻执行定位操作包括:
[0025] 从所述具备第一标识的数据表中读取最新存储的调整指令指示的播放时刻;
[0026] 对所述读取到的最新存储的调整指令指示的播放时刻开始执行定位操作,且清空所述第一数据表后与所述具备第二标识的数据表交换标识信息。
[0027] 第二方面,本申请实施例还提供了一种对调整指令指示的播放时刻进行用于锁定音视频关键帧的播放进度定位装置,所述装置包括:
[0028] 存储模块,用于调用指令存储线程,执行接收并存储每一条调整指令的操作;
[0029] 定位模块,用于调用定位线程,执行如下操作:
[0030] 在第一调整指令开始执行定位操作之后,基于所述指令存储线程,每当接收并存储一条新的调整指令,若所述第一调整指令指示的播放时刻已结束定位操作,则开始执行对所述新的调整指令指示的播放时刻的定位操作;
[0031] 否则继续等待接收新的调整指令,直到所述第一调整指令指示的播放时刻结束定位操作后,对所述指令存储线程存储的最新调整指令指示的播放时刻执行定位操作。
[0032] 进一步的,所述装置还包括:
[0033] 拆分模块,用于在接收到所述初始调整指令时,将当前播放进度对应的独立游标拆分为第一子游标和第二子游标;
[0034] 控制模块,用于每接收到一条新的调整指令,控制所述第一子游标移动到所述新的调整指令指示的播放时刻对应的位置;还用于每当执行定位操作的调整指令指示的播放时刻结束定位后,控制所述第二子游标移动到所述结束定位的播放时刻指示的位置。
[0035] 进一步的,所述装置还包括:
[0036] 合并模块,用于若所述最新调整指令指示的播放时刻定位结束后未检测到新的调整指令,则将所述第一子游标和所述第二子游标合并得到所述独立游标。
[0037] 进一步的,所述存储模块具体用于:通过所述指令存储线程将接收到的每一条调整指令指示的播放时刻顺序存储到预先创建的数据表中;
[0038] 相应的,所述装置还包括:
[0039] 读取模块,用于从所述数据表中读取最新存储的调整指令指示的播放时刻。
[0040] 进一步的,所述装置还包括:
[0041] 创建模块,用于预先创建两个分别具备第一标识和第二标识的数据表;
[0042] 所述存储模块具体用于通过所述指令存储线程将接收到的每一条调整指令指示的播放时刻顺序存储到所述具备第一标识的数据表中;
[0043] 相应的,所述定位模块还包括:
[0044] 读取模块,用于从所述具备第一标识的数据表中读取最新存储的调整指令指示的播放时刻;
[0045] 处理模块,用于对所述读取到的最新存储的调整指令指示的播放时刻开始执行定位操作,且清空所述第一数据表后与所述具备第二标识的数据表交换标识信息。
[0046] 为解决现有调整播放进度的方法响应时间长的问题,本发明实施例的终端在预设时间内有可能会接收到多条调整播放进度指令,本发明的方法在于通过调用指令存储线程,用于执行接收并存储每一条调整指令的操作;通过调用定位线程,在第一调整指令开始执行定位操作之后,基于指令存储线程,每当接收并存储一条新的调整指令,如果第一调整指令指示的播放时刻已结束定位,那么可以开始执行对该新的调整指令指示的播放时刻的定位操作,反之,如果第一调整指令指示的播放时刻未结束定位,那么需要继续等待接收新的调整指令,使得重复循环判断第一调整指令的播放时刻是否结束定位,直到结束定位后,此时会基于指令存储线程存储的最新调整指令指示的播放时刻执行定位,由于本方案在第一调整指令开始执行定位操作后,也在不断的接收并存储调整指令,每接收一个调整指令,如果第一调整指令指示的播放时刻未结束定位,那就继续等待接收新的调整指令,直到在第一调整指令结束定位后,无论已存储了多少个调整指令,都只对最新的调整指令指示的播放时刻进行定位,这样,两次定位操作之间接收到的调整指令均不会做定位处理,即,无需对应每个播放时刻均执行定位操作,从而能够缩短整个进度调整过程的响应时长,提高用户的调整体验。

附图说明

[0047] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0048] 图1为本发明实施例提供的现有的终端调整播放进度的定位方法的场景示意图;
[0049] 图2为本发明实施例提供的播放进度定位方法的方法流程图;
[0050] 图3为本发明实施例提供的播放进度定位方法的执行流程图;
[0051] 图4为本发明实施例提供的播放界面的第一种实施方式的示意图;
[0052] 图5为本发明实施例提供的播放界面的第二种实施方式的示意图;
[0053] 图6为本发明实施例提供的播放界面的第三种实施方式的示意图;
[0054] 图7为本发明实施例提供的播放界面的第四种实施方式的示意图;
[0055] 图8为本发明实施例提供的播放界面的第五种实施方式的示意图;
[0056] 图9为本发明实施例提供的播放界面的第六种实施方式的示意图;
[0057] 图10为本发明实施例提供的播放进度定位方法的方法流程图;
[0058] 图11为本发明实施例提供的播放进度定位装置的结构示意图。

具体实施方式

[0059] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0060] 参见图2,图2为本发明实施例提供的播放进度调整方法的执行流程图,本发明实施例提供的播放进度调整方法,能够缩短整个进度调整过程的响应时长。具体的,由于用户在一定时间内重复多次发送调整指令,会产生了本方案对应的技术问题,因此,本方案在预设时间段内预设时间段内,智能电视系统接收到遥控器发送的至少两条调整指令。其中,第一预设时间可以根据实际操作需求任意设置,例如,在本方案的一个可选实施方式中,可以设置为10s。
[0061] 所述方法包括两条不互相干扰执行的逻辑线程,即一个指令存储线程,一个定位线程,对于指令存储线程其执行步骤S101,调用指令存储线程,执行接收并存储每一条调整指令的操作;
[0062] 对于定位线程,其执行如下步骤:
[0063] 步骤S102,在第一调整指令开始执行定位操作之后,基于所述指令存储线程,接收并存储一条新的调整指令;
[0064] 步骤S103,若所述第一调整指令指示的播放时刻已结束定位操作,则开始执行对所述新的调整指令指示的播放时刻的定位操作;
[0065] 步骤S104,否则继续等待接收新的调整指令,相当于返回步骤S103去确定第一调整指令指示的播放时刻是否结束定位操作,如果是,则开始执行对新的调整指令指示的播放时刻的定位操作,直到所述第一调整指令指示的播放时刻结束定位操作后,对所述指令存储线程存储的最新调整指令指示的播放时刻执行定位操作。
[0066] 具体的,在本方案的一个可选实施方式中,基于该实施场景,参见图3,图3为本发明实施例提供的终端预设时间内接收多条调整播放进度指令的播放进度定位方法的执行流程图。
[0067] 开始执行本方法,智能电视系统配置两条执行线程,并调用指令存储线程执行下述操作:接收并存储每一条调整指令;同时,调用定位线程执行下述操作:获取初始调整指令对应的播放时刻,并对应该播放时刻执行定位操作。
[0068] 需要说明的是,所述定位操作实质是,解析音视频码流得到播放时刻对应的音视频关键帧,进而锁定将该关键帧,使其在智能电视系统的中显示。具体的,解析码流得到关键帧的操作有多种,且均为本领域技术人员所熟知的技术,本发明实施例此处不再详述。
[0069] 其中,无论用户多次重复触发遥控器发送调整指令,还是持续触发遥控器发送调整指令,智能电视系统通常首先获取调整指令对应的调整方向,进而按照预设算法计算得到响应该调整指令后的播放时刻。具体的,由于该过程是本领域技术人员所熟知的技术,因此,本发明实施例此处不再详述。
[0070] 在接收到第二条调整指令时,说明用户可能需要多次调整才能够达到需求的播放时刻,此时,调用指令存储线程执行下述操作:始终存储调整指令,相应的也就存储了调整指令对应的播放时刻。需要说明的是,本方案中,智能电视系统可以在一个数据表中顺序存储播放时刻,也可以在接收到第二条调整指令时,创建两个分别具备第一标识和第二标识的数据表,并将调整指令及其对应的播放时刻顺序存储到第一标识对应的数据表中。
[0071] 本实施例中,数据表可以是能够存储数据的序列表,例如,堆栈,且当设置两个数据表时,两数据表分别用于存储调整指令的播放时刻,和提供待定位的播放时刻,两个数据表通过第一标识和第二标识区分。而第一标识和第二标识分别对应,可以是任意不同的两个字符或者数字标识,例如,在本发明的一个可选示例中,第一标识可以设置为“move”; 第一标识可以设置为“play”。本发明实施例对此不做限制。
[0072] 此外,需要说明的是,通常获取调整指令对应的播放时刻等操作,消耗的时间相对较短,即,该操作过程的时长小于定位操作的时长,因此,在接收到第二条调整指令时,定位线程的操作内容依然是,初始调整指令对应初始调整指令的播放时刻执行定位操作。基于此,进一步的,当对应初始调整指令的定位操作结束时,智能电视系统可能已经接收到多条调整指令,而每接收一条调整指令,均调用指令存储线程,执行接收并存储相应的调整指令的操作。
[0073] 进一步的,在第一次定位操作结束后,智能电视系统从数据表中读取下一个待定位的播放时刻,具体的,本方案在执行时,智能电视系统可以读取当前最新存储的播放时刻,并根据该最新存储的播放时刻执行定位操作。
[0074] 具体的,由于播放时刻对应的存储数据表,可以是一个或者两个甚至于更多个数据表,而不同数量的数据表,本方案在执行读取当前最新存储的播放时刻,并根据该最新存储的播放时刻执行定位操作过程不同,下面分别对应两种实施场景进行介绍。
[0075] 当存储调整指令的数据表是一个数据表时,通过指令存储线程将接收到的每一条调整指令指示的播放时刻顺序存储到预先创建的该数据表中,每当接收并存储一条新的调整指令,即可以从数据表中读取最新存储的调整指令指示的播放时刻,如果前一次对应一调整指令的定位操作已结束定位,则开始对数据表中最新存储的调整指令指示的播放时刻进行定位,否则继续等待接收新的调整指令,直到所述第一调整指令指示的播放时刻结束定位操作后,对所述指令存储线程存储的最新调整指令指示的播放时刻执行定位操作;具体的,可以判断该最新存储的调整指令指示的播放时刻与前一次成功定位的调整指令的播放时刻是否相同,如果该最新存储的播放时刻与前一次成功定位的播放时刻不同,则说明前一次定位过程中数据表中存储了新的调整指令,因此,对应该最新存储调整指令指示的播放时刻执行定位操作,并在每一次定位操作结束后,循环执行上述过程,直到最新存储的播放时刻与前一次定位成功的播放时刻相同时,定位结束。
[0076] 当存储播放时刻的数据表是两个数据表时,可以预先创建两个分别具备第一标识和第二标识的数据表,根据指令存储线程的操作内容可知,从第二标识对应的当前的数据表创建开始,至第一次定位操作结束,智能电视系统从未向该数据表存储播放时刻,而在执行定位操作的过程中产生的播放时刻,均存储到了第一标识对应的当前的数据表中。与一个数据表不同在于,本实施例中,当第一次定位操作结束时,可以交换两数据表的标识,并再次从交换标识后的第一标识对应的数据表(该数据表其实是交换之前为第二标识的数据表)中读取最新存储的播放时刻,进而对应所读取的播放时刻执行定位操作,在定位成功后,清空当前第一标识对应的数据表后与所述具备第二标识的数据表交换标识信息,然后,循环执行上述交换两数据表的标识的操作,直到两数据表均为空时,定位结束。
[0077] 两个数据表相对于一个数据表可以节省数据存储所占用的空间,因为每次定位结束后,会清空第一标识对应的数据表,因此相对于一个数据表的方案,其数据量有限,属于优选实施方案。
[0078] 需要指出的是,由于数据表中所存储的调整指令指示的播放时刻,仅仅是从起始播放时刻到目标播放时刻的过渡时刻,因此,本实施例中,智能电视系统可以直接读取数据表中最新存储的调整指令指示的播放时刻,并对应该播放时刻执行定位操作。
[0079] 由此可见,本方案在每次执行定位操作的同时,也在不断的存储例如用户操作遥控器所触发的调整指令,基于此,在一次定位操作执行完毕之后,无论已经存储有几个调整指令,下一次仅对应当前最新的播放时刻执行定位操作,两次定位操作之间的播放时刻,均不做任何处理,即,无需对应每个播放时刻均执行定位操作,从而能够缩短整个进度调整过程的响应时长。
[0080] 在上述执行过程的基础上,由于可能出现的程序陷入死循环等原因,针对某一个播放时刻,会出现定位操作失败的现象,本发明实施例中,为了保证正常调整播放进度,当定位操作失败,智能电视系统可以判断当前是否有新的播放时刻存入,如果有,则跳过定位失败的播放时刻,直接对当前最新的播放时刻执行定位操作,如果没有,则读取定位失败的播放时刻的前一个播放时刻,并对该播放时刻执行定位操作。
[0081] 由此可见,本方案在对应某一播放时刻定位失败时,能够自动选择合适的播放时刻再次执行定位操作,从而,能够保证播放进度的正常调整。
[0082] 此外,当播放时刻已经调整到视频的起始时刻或者终止时刻,并且,下一条调整指令对应的方向依然是起始时刻的前一个时刻,或者终止时刻的后一个时刻,那么,由于该条调整指令对应的播放时刻依然是视频的起始时刻或者终止时刻,所以,可以不再执行存储播放时刻的操作。具体的,在获取第N条调整指令对应的播放时刻之后,可以读取第(N-1)条调整指令对应的播放时刻,并检测第N条调整指令对应的播放时刻与第(N-1)条调整指令对应的播放时刻是否相同,如果二者相同,则不再存储第N条调整指令对应的播放时刻,如果二者不同,则继续执行存储该播放时刻的操作。其中,本实施例中,N是大于等于2的正整数。
[0083] 进一步的,由于用户触发遥控器发送调整指令的时间可能不确定,因此,当智能电视系统定位结束后,可以判断当前是否接收到新调整指令,如果当前接收到新调整指令,则重复执行上述定位过程,如果当前未接收到新调整指令,则清空已存储的全部数据,或者删除两数据表。
[0084] 由此可见,本方案在定位结束后,还能够根据不同的情况自行进行调整,从而能够进一步优化本方案,提高用户的使用体验。
[0085] 此外,需要指出的是,现有的终端预设时间内接收多条调整播放进度指令的进度定位方法在执行时,播放器中的游标,通常随着遥控器的调整指令实时的移动到相应的播放时刻,但是,此时系统可能在对应之前的某个播放时刻执行定位操作,例如,参考图1,游标随着调整指令顺次移动到播放时刻A,播放时刻B,播放时刻C和播放时刻D,而,当游标移动到播放时刻D时,系统对应播放时刻A可能在执行定位操作。由此可见,现有技术中,一个游标无法明确的向用户展示当前已经调整到的真实进度,造成用户的使用体验不好。
[0086] 有鉴于此,请参见图4,图4为本发明实施例提供的播放界面的第一种实施方式的示意图,本发明实施例的技术方案,智能电视系统在接收到初始调整指令时,将播放器中的独立游标拆分为第一子游标01和第二子游标02,其中,当执行指令存储线程的操作时,每接收到一条新的调整指令,即每获取到一个播放时刻,控制第一子游标01移动到播放器进度条中的该播放时刻对应的位置上,并且,当执行定位线程的操作时,每当执行定位操作的调整指令指示的播放时刻结束定位后,控制第二子游标02移动到相应定位操作对应的播放时刻。
[0087] 即,采用本方案的实现方式,能够通过两个游标,分别指示调整指令对应的播放时刻和实际已经定位到的播放时刻,从而能够更加明确当前的播放进度以及目标进度,进一步提高用户的使用操作。
[0088] 为了使本领域技术人员更加清楚、详细的了解本方案,下面结合播放界面的示意图,对本方案进行描述。
[0089] 假设在本方案的一个实施例中,用户想要从播放界面中的播放时刻O调整到播放时刻F,如果用户重复多次按下向右调整的按键,那么,当智能电视系统接收到初始调整指令时,播放界面如图4所示,此处不再赘述。
[0090] 其中,参见图5,本实施例中,从播放时刻O到播放时刻F,每一条调整指令对应一个播放时刻,将会经历播放时刻A、播放时刻B、播放时刻C和播放时刻D,最后才能够到达播放时刻F,当接收到初始调整指令时,第一子游标01移动到播放时刻A,与此同时,智能电视系统获取到播放时刻A,并开始执行定位操作。
[0091] 参见图6,当对应播放时刻A成功执行定位操作之后,将第二子游标02移动到播放时刻A,在此时间段内,用户又发送了3条调整指令,该三条调整指令分别对应播放时刻B、播放时刻C和播放时刻D,第一子游标01顺次移动到播放时刻B、播放时刻C和播放时刻D。并且,从接收到播放时刻B对应的调整指令开始,顺次在数据表中存储播放时刻B、播放时刻C和播放时刻D。因此,到对应播放时刻A成功执行定位操作之后,数据表中已经存储有播放时刻B、播放时刻C和播放时刻D。
[0092] 读取数据表中最新存储的数据,即,播放时刻D,由于播放时刻D与播放时刻A不同,说明定位尚未结束,进而对应播放时刻D继续执行定位操作。与此同时,用户继续发送调整指令,智能电视系统响应该调整指令,将第一子游标01顺次移动到播放时刻E和播放时刻F,接收到调整指令后,获取调整指令对应的播放时刻E和播放时刻F,并将播放时刻E和播放时刻F存储到数据表中。
[0093] 参见图7,当对应播放时刻D成功执行定位操作之后,将第二子游标02移动到播放时刻D。重复执行从数据表中读取最新的播放时刻的操作,在本实施例中,读取到播放时刻F,在检测到播放时刻F与播放时刻D不同时,对应播放时刻F执行定位操作。
[0094] 需要说明的是,当对应播放时刻D执行定位操作失败之后,从数据表中读取最新的播放时刻,由于当前最新的播放时刻是播放时刻F,所以继续执行交换两堆栈对应的标识及其后续操作,从而跳过播放时刻D,直接对应播放时刻F执行定位操作。如果目标播放时刻是播放时刻D,那么,最新的播放时刻将是播放时刻D,此时,跳过播放时刻D,读取播放时刻C,从而对应播放时刻C执行定位操作,并在定位成功后,将第二子游标02移动到播放时刻C。
[0095] 参见图8,当对应播放时刻F成功执行定位操作之后,本次定位操作结束,进一步的,可以判断是否接收到新调整指令,如果未接收到新调整指令,清空数据表中的全部数据,并将第一子游标01和第二子游标02合并为一个独立游标,并指示在播放时刻F的位置。如果接收到新调整指令,则响应新调整指令获取播放时刻,将第一子游标01移动到该播放时刻,并存储该播放时刻。进一步的,重复执行上述操作。具体的,本发明实施例此处不再详述。
[0096] 当然,上述是针对用户重复多次按压遥控器按键的情况,参见图9,当用户发送第一个调整指令时,持续按压遥控器的按键,导致初始调整指令对应的播放时刻是播放时刻C或者播放时刻H时,用户需要进一步发送调整指令,以将播放进度调整到播放时刻F。其中,从播放时刻C或者播放时刻H,调整到播放时刻F用户依然需要多次重复发送调整指令,而响应用户重复多次调整播放时刻的过程,与上述描述类似,本方案此处不再详述。
[0097] 需要指出的是,如果播放时刻H是音视频的终止播放时刻,当到达播放时刻H后,用户持续向右调整播放进度,那么,不再继续存储播放时刻H,并且,第一子游标01也不再继续移动。
[0098] 由此可见,采用本方案的终端预设时间内接收多条调整播放进度指令的进度定位方法,在一次定位操作执行完毕之后,下一次仅对应当前最新的播放时刻执行定位操作,从而能够缩短整个进度调整过程的响应时长。并且,本方案能够通过两个游标,分别指示调整指令对应的播放时刻和实际已经定位到的播放时刻,从而能够更加明确当前的播放进度以及目标进度,进一步提高用户的使用操作。
[0099] 进一步的,参见图10,在本方案的一个可选实施方式中,图10为本发明一实施例提供的终端预设时间内接收多条调整播放进度指令的进度定位方法的方法流程图,本发明实施例从接收到的初始调整指令开始执行定位操作,从另一角度重点描述定位线程的实现过程,其中指令存储线程与上述实施方式类似,都是执行接收并存储每一条调整指令的播放时刻的操作。
[0100] 所述定位线程的执行方法包括以下步骤:
[0101] 步骤S1001,对接收到的初始调整指令的播放时刻进行定位。
[0102] 步骤S1002,判断最新存储的播放时刻与前一次成功定位的调整指令的播放时刻是否相同;若不同,执行步骤S1003,若相同,执行步骤S1004。
[0103] 步骤S1003,对所述最新存储的播放时刻进行定位,并在定位成功后,重复执行步骤S1002。
[0104] 步骤S1004,确定进度定位结束。
[0105] 当存储调整指令的数据表是一个数据表时,在初次定位结束后,从数据表中读取最新存储的调整指令指示的播放时刻,并判断该最新存储的播放时刻与前一次成功定位的调整指令的播放时刻是否相同,如果该最新存储的播放时刻与前一次成功定位的播放时刻不同,则说明前一次定位过程中数据表中存储了新的调整指令,因此,对应该最新存储调整指令指示的播放时刻执行定位操作,并在每一次定位操作结束后,循环执行上述过程,直到最新存储的播放时刻与前一次定位成功的播放时刻相同时,定位结束。
[0106] 当存储播放时刻的数据表是两个数据表时,根据指令存储线程的操作内容可知,从第二标识对应的当前的数据表创建开始,至第一次定位操作结束,智能电视系统从未向该数据表存储播放时刻,而在执行定位操作的过程中产生的播放时刻,均存储到了第一标识对应的当前的数据表中。因此,本实施例中,当第一次定位操作结束时,可以交换两数据表的标识,并再次从交换标识后的第一标识对应的数据表(该数据表其实是交换之前为第二标识的数据表)中读取最新存储的播放时刻,进而对应所读取的播放时刻执行定位操作,在定位成功后,清空当前第一标识对应的数据表,然后,循环执行上述交换两数据表的标识的操作,直到两数据表均为空时,定位结束。
[0107] 本发明实施例的终端在预设时间内有可能会接收到多条调整播放进度指令,本发明的方法在于通过调用指令存储线程,用于执行接收并存储每一条调整指令的操作;通过调用定位线程,在第一调整指令开始执行定位操作之后,基于指令存储线程,每当接收并存储一条新的调整指令,如果第一调整指令指示的播放时刻已结束定位,那么可以开始执行对该新的调整指令指示的播放时刻的定位操作,反之,如果第一调整指令指示的播放时刻未结束定位,那么需要继续等待接收新的调整指令,使得重复循环判断第一调整指令的播放时刻是否结束定位,直到结束定位后,此时会基于指令存储线程存储的最新调整指令指示的播放时刻执行定位,由于本方案在第一调整指令开始执行定位操作后,也在不断的接收并存储调整指令,每接收一个调整指令,如果第一调整指令指示的播放时刻未结束定位,那就继续等待接收新的调整指令,直到在第一调整指令结束定位后,无论已存储了多少个调整指令,都只对最新的调整指令指示的播放时刻进行定位,这样,两次定位操作之间接收到的调整指令均不会做定位处理,即,无需对应每个播放时刻均执行定位操作,从而能够缩短整个进度调整过程的响应时长,提高用户的调整体验。
[0108] 与上述实现方法相对应的,本发明实施例还提供了一种对调整指令指示的播放时刻进行用于锁定音视频关键帧的播放进度定位装置,参见图11,图11为本发明实施例提供的终端预设时间内接收多条调整播放进度指令的进度定位装置的结构示意图,装置用于执行对应的终端对调整指令指示的播放时刻进行用于锁定音视频关键帧的播放进度定位方法。
[0109] 本实施例的装置包括:存储模块11,定位模块12,其中,存储模块11,用于调用指令存储线程,执行接收并存储每一条调整指令的操作;定位模块12,用于调用定位线程,执行如下操作:
[0110] 在第一调整指令开始执行定位操作之后,基于所述指令存储线程,每当接收并存储一条新的调整指令,若所述第一调整指令指示的播放时刻已结束定位操作,则开始执行对所述新的调整指令指示的播放时刻的定位操作;
[0111] 否则继续等待接收新的调整指令,直到所述第一调整指令指示的播放时刻结束定位操作后,对所述指令存储线程存储的最新调整指令指示的播放时刻执行定位操作。
[0112] 在另一个实施例中,所述装置还包括:拆分模块,用于在接收到所述初始调整指令时,将当前播放进度对应的独立游标拆分为第一子游标和第二子游标;控制模块,用于每接收到一条新的调整指令,控制所述第一子游标移动到所述新的调整指令指示的播放时刻对应的位置;还用于每当执行定位操作的调整指令指示的播放时刻结束定位后,控制所述第二子游标移动到所述结束定位的播放时刻指示的位置。
[0113] 此外,基于上述描述,所述装置还包括:用于若所述最新调整指令定位结束后未检测到新的调整指令,则将所述第一子游标和所述第二子游标合并得到所述独立游标。
[0114] 在上述实施例的基础上,所述存储模块具体用于:通过所述指令存储线程将接收到的每一条调整指令指示的播放时刻顺序存储到预先创建的数据表中;
[0115] 相应的,所述装置还包括:
[0116] 读取模块,用于从所述数据表中读取最新存储的调整指令指示的播放时刻。
[0117] 在上述实施例的基础上,所述装置还包括:创建模块,用于预先创建两个分别具备第一标识和第二标识的数据表;
[0118] 所述存储模块具体用于通过所述指令存储线程将接收到的每一条调整指令指示的播放时刻顺序存储到所述具备第一标识的数据表中;
[0119] 相应的,所述定位模块还包括:
[0120] 读取模块,用于从所述具备第一标识的数据表中读取最新存储的调整指令指示的播放时刻;
[0121] 处理模块,用于对所述读取到的最新存储的调整指令指示的播放时刻开始执行定位操作,且清空所述第一数据表后与所述具备第二标识的数据表交换标识信息。
[0122] 上述设备可执行本发明实施例所提供的方法,并包含执行方法的功能模块。其中,详情请参见上述实施例的描述,本发明实施例此处不再详述。
[0123] 此外,本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0124] 本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0125] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0126] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0127] 综合上述,为解决现有调整播放进度的方法响应时间长的问题,本发明实施例的终端在预设时间内有可能会接收到多条调整播放进度指令,本发明的方法在于通过调用指令存储线程,用于执行接收并存储每一条调整指令的操作;通过调用定位线程,在第一调整指令开始执行定位操作之后,基于指令存储线程,每当接收并存储一条新的调整指令,如果第一调整指令指示的播放时刻已结束定位,那么可以开始执行对该新的调整指令指示的播放时刻的定位操作,反之,如果第一调整指令指示的播放时刻未结束定位,那么需要继续等待接收新的调整指令,使得重复循环判断第一调整指令的播放时刻是否结束定位,直到结束定位后,此时会基于指令存储线程存储的最新调整指令指示的播放时刻执行定位,由于本方案在第一调整指令开始执行定位操作后,也在不断的接收并存储调整指令,每接收一个调整指令,如果第一调整指令指示的播放时刻未结束定位,那就继续等待接收新的调整指令,直到在第一调整指令结束定位后,无论已存储了多少个调整指令,都只对最新的调整指令指示的播放时刻进行定位,这样,两次定位操作之间接收到的调整指令均不会做定位处理,即,无需对应每个播放时刻均执行定位操作,从而能够缩短整个进度调整过程的响应时长,提高用户的调整体验。
[0128] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0129] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。