CN104837063A - 请求处理方法、装置及电子设备 - Google Patents
请求处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN104837063A CN104837063A CN201410334482.4A CN201410334482A CN104837063A CN 104837063 A CN104837063 A CN 104837063A CN 201410334482 A CN201410334482 A CN 201410334482A CN 104837063 A CN104837063 A CN 104837063A
- Authority
- CN
- China
- Prior art keywords
- seek
- request
- buffer queue
- seek request
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种请求处理方法、装置及电子设备,属于多媒体播放领域。所述方法包括:接收对播放进度条的拖动操作;根据所述拖动操作产生至少一个查找Seek请求;动态缓存所述至少一个查找Seek请求中的最近n个Seek请求,n≥1;按序处理所述最近n个Seek请求。本发明达到了用户在进行拖动操作时,多媒体播放器能够根据实际处理能力,尽可能处理拖动操作所产生的Seek请求,充分发挥了多媒体播放器的计算能力的效果。
Description
技术领域
本发明涉及多媒体播放领域,特别涉及一种请求处理方法、装置及电子设备。
背景技术
在多媒体播放器中,通过拖动播放进度条上的滑块进行快进或者快退,是最为常用的基本功能。
由于系统和平台的不同,当用户快速拖动滑块时,可能会触发多媒体播放器的UI(User Interface,用户界面)产生大量的Seek(查找)请求,给多媒体播放器的内核带来巨大压力,导致视频卡死或者播放失败。为了解决这种现象,目前的方法为:多媒体播放器的UI在接收到用户对滑块的拖动操作时,按照预先限制的频率产生Seek请求,比如,每0.2秒最多产生1个Seek请求,从而减少Seek请求的数量。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:上述方法直接限制了Seek请求的产生,没有考虑多媒体播放器的实际处理能力,无法充分发挥多媒体播放器的计算能力。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种请求处理方法、装置及电子设备。所述技术方案如下:
根据本发明实施例的第一方面,提供一种请求处理的方法,所述方法包括:
接收对播放进度条的拖动操作;
根据所述拖动操作产生至少一个查找Seek请求;
动态缓存所述至少一个Seek请求中的最近n个Seek请求,n≥1;
按序处理所述最近n个Seek请求。
根据本发明实施例的第二方面,提供一种请求处理装置,所述装置包括:
拖动操作接收模块,用于接收对播放进度条的拖动操作;
Seek请求产生模块,用于根据所述拖动操作产生至少一个查找Seek请求;
动态缓存模块,用于动态缓存所述至少一个Seek请求中的最近n个Seek请求,n≥1;
Seek请求处理模块,用于按序处理所述最近n个Seek请求。
根据本发明实施例的第三方面,提供一种请求处理电子设备,所述电子设备包括如第二方面所述的请求处理装置。
本发明实施例提供的技术方案带来的有益效果是:
通过采用队列管理和先进先出的思想,动态缓存拖动操作产生的Seek请求中的最近n个Seek请求,n≥1,按序处理最近n个Seek请求;解决了直接限制Seek请求的产生,没有考虑多媒体播放器的实际处理能力,无法充分发挥多媒体播放器的计算能力的问题;达到了用户在进行拖动操作时,多媒体播放器能够根据实际处理能力,尽可能处理拖动操作所产生的Seek请求,充分发挥了多媒体播放器的计算能力的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的请求处理方法的方法流程图;
图2是本发明另一个实施例提供的请求处理方法的方法流程图;
图3A是本发明实施例提供的请求处理方法所涉及的一个界面示意图;
图3B是本发明实施例提供的请求处理方法实施时的一个实施示意图;
图3C是本发明实施例提供的请求处理方法实施时的另一个实施示意图;
图3D是本发明实施例提供的请求处理方法所涉及的另一个界面示意图;
图4是本发明再一个实施例提供的请求处理方法的方法流程图;
图5是本发明实施例提供的请求处理方法实施时的一个实施示意图;
图6是本发明一个实施例提供的请求处理装置的结构方框图;
图7是本发明另一实施例提供的请求处理装置的结构方框图;
图8是本发明一个实施例提供的电子设备的结构方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明各个实施例提供的请求处理方法,可以由多媒体播放器来实现。该多媒体播放器可以是具有多媒体播放能力的应用程序或者具有多媒体播放能力的电子设备。该电子设备可以是智能手机、智能电视、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器和膝上型便携计算机(相机、摄像机)等等。
为了简化描述,下文中仅以请求处理方法由多媒体播放器执行来举例说明,但对此不构成限定。
请参考图1,其示出了本发明一个实施例提供的请求处理方法的方法流程图。该方法包括:
步骤102,接收对播放进度条的拖动操作;
步骤104,根据拖动操作产生至少一个查找Seek请求;
步骤106,动态缓存至少一个Seek请求中的最近n个Seek请求,n≥1;
步骤108,按序处理最近n个Seek请求。
综上所述,本实施例提供的请求处理的方法,通过采用队列管理和先进先出的思想,动态缓存拖动操作产生的Seek请求中的最近n个Seek请求,n≥1,按序处理最近n个Seek请求;解决了直接限制了Seek请求的产生,没有考虑多媒体播放器的实际处理能力,无法充分发挥多媒体播放器的计算能力的问题;达到了用户在进行拖动操作时,多媒体播放器能够根据实际处理能力,尽可能处理拖动操作所产生的Seek请求,充分发挥了多媒体播放器的计算能力的效果。
由于在拖动操作中会产生大量的Seek请求,处理每次Seek请求且返回一帧图像数据将会对播放器内核造成巨大的压力,因此本发明实施例一方面通过使用队列缓存的方式,按照先进先出的原则,仅缓存多个Seek请求中的最近n个Seek请求,将来不及处理的Seek请求进行丢弃;另一方面,根据播放器自身的计算能力,尽可能地从队列的头部读取Seek请求并对其进行处理,虽然只处理了部分的Seek请求,但却是按照播放器自身的计算能力,尽可能多的处理Seek请求,来达到最佳的处理效果。以下的实施例将对该方法进行详细描述。
请参考图2,其示出了本发明另一实施例提供的请求处理方法的方法流程图。本实施例以该请求处理方法应用于具有多媒体能力的应用程序为例来举例说明,该方法包括:
步骤201,接收对播放进度条的拖动操作。
用户可以在多媒体播放器中通过拖动播放进度条上的滑块进行快进或者快退操作。
以具有多媒体播放能力的应用程序为例,结合参考图3A,用户可以在应用程序的一个界面31上通过拖动进度条32上的滑块33来进行快进或者快退操作。
在其它实施例中,还可以在具有多媒体播放能力的电子设备上进行拖动操作,拖动滑块的信号的方式也可以是按压电子设备上的实体按键等等。
步骤202,根据拖动操作产生至少一个Seek请求。
多媒体播放器在接收到对播放进度条的拖动操作后产生多个Seek请求,每个Seek请求都携带有拖动位置信息。
拖动位置信息是指滑块在拖动的过程中在进度条上处于的位置,该位置可以是滑块在进度条上位置的对应的时间点。
以具有多媒体播放能力的应用程序为例,结合参考图3A,用户在拖动滑块33时,产生的Seek请求携带的拖动位置信息为滑块在进度条32上的位置对应的时间点,即时间点为05:32。
步骤203,动态缓存Seek请求中的最近n个Seek请求,n≥1。
多媒体播放器可以采用长度为n的缓存队列动态缓存Seek请求,n≥1。
在使用长度为n的缓存队列进行缓存时,对于每一次存储Seek请求的过程,多媒体播放器判断该缓存队列是否已满。
若缓存队列未满,则多媒体播放器将Seek请求存储入该缓存队列的最先一个空位中;
若缓存队列已满,则多媒体播放器将缓存队列中位于队首的Seek请求丢弃,将该缓存队列中的其它Seek请求向前移动一位,然后将Seek请求存储入缓存队列中位于队尾的空位中。
结合参考图3B,其示出了缓存队列存储Seek请求的过程的示意图。比如,该缓存队列的长度为5,此时在缓存队列34中存有序号为1、2、3的3个Seek请求35,当序号为4、5的的Seek请求35进入该缓存队列时,由于缓存队列未满,Seek请求将存储到该缓存队列的最先一个空位中。又比如,该缓存队列的长度为5,此时在缓存队列34中存有序号为1、2、3、4、5的5个Seek请求35,当序号为6、7的的Seek请求35进入该缓存队列时,由于该缓存队列已满,需要将缓存队列中位于队首的Seek请求丢弃,即,将序号为1、2的Seek请求丢弃,并将该缓存队列中的其它Seek请求向前移动一位,然后将Seek请求存储入缓存队列中位于队尾的空位中。
显然,通过上述缓存过程,不论触发了多少个Seek请求,多媒体播放器总是缓存最近的n个Seek请求,其它来不及处理的Seek请求都将会被丢弃。
步骤204,检测缓存队列中是否缓存有Seek请求,若缓存队列中缓存有Seek请求,则读取缓存队列中位于队首的Seek请求。
另一方面,多媒体播放器会尽可能地处理缓存队列中的Seek请求。
当缓存队列中缓存有Seek请求,多媒体播放器将会从该缓存队列的队首读取一次Seek请求,并将该Seek请求从缓存队列中删除,此时处于该缓存队列队首后一位的Seek请求将会进入到该缓存队列的队首,其它的Seek请求也将向该缓存队列的队首移动一个位置。
结合参考图3C,其示出了多媒体播放器从缓存队列的队首获取一次请求的方法示意图。多媒体播放器将处于缓存队列34队首的序号为1的Seek请求35取出,缓存队列删除此序号为1的Seek请求,此时序号为2的Seek请求将移到缓存队列的队首,缓存队列中其它位置的Seek请求也向前移动一个位置。
步骤205,解析Seek请求,得到Seek请求所携带的拖动位置。
多媒体播放器对读取的Seek请求进行解析,获取该Seek请求所携带的拖动位置信息,该拖动位置指滑块在进度条上拖动的位置。
步骤206,根据拖动位置从正在播放的多媒体文件中解码出对应的视频帧,将该视频帧进行显示。
多媒体播放器根据获取的拖动位置在进度条上所对应的时间点,从正在播放的多媒体文件中解码出该时间点对应的视频帧,将该视频帧进行显示。
结合参考图3D,其示出了多媒体播放器显示拖动位置对应视频帧的示意图。比如,滑块33拖动位置在进度条32上对应的时间点为05:45,多媒体播放器将会解码出正在播放的多媒体文件中时间点为05:45所对应的视频帧,并将该视频帧在界面31上进行显示。又比如,滑块33拖动位置在进度条32上对应的时间点为05:51,多媒体播放器将会解码出正在播放的多媒体文件中时间点为05:51所对应的视频帧,并将该视频帧在界面31上进行显示。
处理完本次的Seek请求之后,多媒体播放器再次执行步骤204,继续对当前缓存的Seek请求进行处理,直至缓存队列中缓存的Seek请求全部处理完毕。
步骤207,若缓存队列中缓存的Seek请求为零,则对正在播放的多媒体文件进行正常解码播放。
多媒体播放器根据上一次获取的Seek请求的拖动位置,对正在播放的多媒体文件进行正常解码播放。
综上所述,本实施例提供的请求处理的方法,通过采用队列管理和先进先出的思想,动态缓存拖动操作产生的Seek请求中的最近n个Seek请求,n≥1,按序处理最近n个Seek请求;解决了直接限制了Seek请求的产生,没有考虑多媒体播放器的实际处理能力,无法充分发挥多媒体播放器的计算能力的问题;达到了用户在进行拖动操作时,多媒体播放器能够根据实际处理能力,尽可能处理拖动操作所产生的Seek请求,充分发挥了多媒体播放器的计算能力的效果。
本实施例还通过每次获取缓存队列队首的缓存的Seek请求,对该Seek请求进行处理,充分发挥多媒体播放器的计算能力,且在处理完成之后还能显示拖动位置对应的视频帧,让用户感觉到Seek的顺利进行,使用户在使用的过程中将会更加直观具体地了解到拖动过程中视频播放的内容,方便用户的观看。
多媒体播放器在实现请求处理的过程中,会调用多媒体播放器内部的多个线程进行处理,多媒体播放器内部可能包括播放器UI、缓存队列、拖动处理线程和播放器内核。以下实施例将详细说明多媒体播放器内部的线程进行请求处理的方法。
请参考图4,其示出了本发明再一实施例提供的请求处理方法的方法流程图。
步骤401,播放器UI接收对播放进度条的拖动操作;
用户在播放器UI上对播放进度条进行拖动操作,向播放器UI发送拖动操作信号,该拖动操作可以是用户在屏幕上对播放器UI播放进度条上的滑块进行拖动或通过点击实体按钮拖动播放进度条等等。
对应地,播放器UI将接收该拖动操作信号。
步骤402,播放器UI根据拖动操作产生至少一个Seek请求;
播放器UI接收该拖动操作信号之后,产生至少一个Seek请求,该至少一个Seek请求包括播放进度条被拖动位置的信息。
步骤403,缓存队列动态缓存Seek请求中的最近n个Seek请求,n≥1;
播放器UI将产生的至少一个Seek请求发送给缓存队列,该缓存队列将对Seek请求进行动态缓存,将Seek请求中最近的n个Seek请求缓存到缓存队列。
在使用长度为n的拖动事件请求队列进行缓存时,对于每一次存储Seek请求的过程,缓存队列判断队列是否已满。
若缓存队列未满,则缓存队列将Seek请求存储入该缓存队列的最先一个空位中;
若缓存队列已满,则缓存队列将缓存队列中位于队首的Seek请求丢弃,将该缓存队列中的其它Seek请求向前移动一位,然后将Seek请求存储入缓存队列中位于队尾的空位中。
结合参考图5,其示出了缓存队列存储Seek请求的过程的示意图。比如,该缓存队列的长度为5,此时在缓存队列51中存有序号为5、6、7、8、9的5个Seek请求52,当序号为10、11的Seek请求52进入该缓存队列时,由于该缓存队列已满,需要将缓存队列中位于队首的Seek请求丢弃,即,将序号为2、3、4的Seek请求丢弃,并将该缓存队列中的其它Seek请求向前移动一位,然后将Seek请求存储入缓存队列中位于队尾的空位中。
步骤404,拖动处理线程检测缓存队列中是否缓存有Seek请求,若缓存队列中缓存有Seek请求,则读取该队列中位于队首的Seek请求;
当缓存队列中缓存有Seek请求,拖动处理线程将会从该缓存队列的队首读取一次Seek请求,并将该Seek请求从缓存队列中删除,此时处于该缓存队列首后一位的Seek请求将会进入到该缓存队列的队首,其它的Seek请求也将向该缓存队列的队首移动一个位置。
结合参考图5,其示出了拖动处理线程53从缓存队列51的队首获取一次请求的方法示意图。拖动处理线程53将处于缓存队列51队首的序号为1的Seek请求52取出,缓存队列51删除此序号为1的Seek请求,此时序号为2的Seek请求将移到缓存队列的队首,缓存队列中其它位置的Seek请求也向前移动一个位置,此时拖动处理线程将处理取出的序号为1的Seek请求。缓存队列中不断有新的Seek请求进入,当拖动处理线程处理完毕后,此时序号为2、3、4的Seek请求被丢弃,拖动处理线程取出此时位于缓存队列队首的序号为5的Seek请求,并将其删除。
步骤405,拖动处理线程解析Seek请求,得到Seek请求所携带的拖动位置,并调用播放器内核;
拖动处理线程对读取的Seek请求进行解析,获取该Seek请求所携带的拖动位置信息,该拖动位置指滑块在播放进度条上所对应的时间点。
步骤406,播放器内核从正在播放的多媒体文件中解码出对应的视频帧,将该视频帧发送给播放器UI进行显示;
播放器内核根据获取的拖动位置在播放进度条上所对应的时间点,调用解码线程从正在播放的多媒体文件中解码出该时间点对应的视频帧,将该视频帧发送给播放器UI进行显示。
结合参考图5,其示出了播放器内核处理Seek请求并显示拖动位置对应视频帧的示意图。拖动处理线程53将处于缓存队列51队首的序号为1的Seek请求52取出,缓存队列51删除此序号为1的Seek请求,此时序号为2的Seek请求将移到缓存队列的队首,缓存队列中其它位置的Seek请求也向前移动一个位置。拖动处理线程调用播放器内核,解码出该Seek请求对应拖动位置的图像帧数据54,并将该图像帧数据发送给播放器UI进行显示。缓存队列中不断有新的Seek请求进入,当序号为1的Seek请求处理完毕后,此时序号为2、3、4的Seek请求被丢弃,拖动处理线程取出此时位于缓存队列队首的序号为5的Seek请求,并将其删除。拖动处理线程调用播放器内核,解码出该Seek请求对应拖动位置的图像帧数据54,并将该图像帧数据发送给播放器UI进行显示。
步骤407,若缓存队列中缓存的Seek请求为零,拖动处理线程调用播放器内核,对正在播放的多媒体文件进行正常解码播放。
拖动处理线程调用播放器内核,播放器内核根据上一次获取的Seek请求的拖动位置,对正在播放的多媒体文件进行正常解码播放。
综上所述,本实施例提供的请求处理方法,通过采用队列管理和先进先出的思想,动态缓存拖动操作产生的Seek请求中的最近n个Seek请求,n≥1,按序处理最近n个Seek请求;解决了直接限制了Seek请求的产生,没有考虑多媒体播放器的实际处理能力,无法充分发挥多媒体播放器的计算能力的问题;达到了用户在进行拖动操作时,多媒体播放器能够根据实际处理能力,尽可能处理拖动操作所产生的Seek请求,充分发挥了多媒体播放器的计算能力的效果。
本实施例还通过每次获取缓存队列队首的缓存的Seek请求,对该Seek请求进行处理,充分发挥多媒体播放器的计算能力,且在处理完成之后还能显示拖动位置对应的视频帧,让用户感觉到Seek的顺利进行,使用户在使用的过程中将会更加直观具体地了解到拖动过程中视频播放的内容,方便用户的观看。
请参考图6,其示出了本发明一个实施例所提供的请求处理装置的结构方框图。该请求处理装置可以通过软件、硬件或者两者的结合实现成为多媒体播放器的全部或者一部分。该请求处理装置,包括:
拖动操作接收模块620,用于接收对播放进度条的拖动操作;
Seek请求产生模块640,用于根据拖动操作产生至少一个查找Seek请求;
动态缓存模块660,用于动态缓存至少一个Seek请求中的最近n个Seek请求,n≥1;
Seek请求处理模块680,用于按序处理最近n个Seek请求。
综上所述,本实施例提供的请求处理装置,通过采用队列管理和先进先出的思想,动态缓存拖动操作产生的Seek请求中的最近n个Seek请求,n≥1,按序处理所述最近n个Seek请求;解决了直接限制了Seek请求的产生,没有考虑多媒体播放器的实际处理能力,无法充分发挥多媒体播放器的计算能力的问题;达到了用户在进行拖动操作时,多媒体播放器能够根据实际处理能力,处理进行拖动操作时产生的Seek请求,充分发挥了多媒体播放器的计算能力。
请参考图7,其示出了本发明另一个实施例所提供的请求处理装置的结构方框图。该请求处理装置可以通过软件、硬件或者两者的结合实现成为多媒体播放器的全部或者一部分。该请求处理装置,包括:
拖动操作接收模块620,用于接收对播放进度条的拖动操作;
Seek请求产生模块640,用于根据拖动操作产生至少一个查找Seek请求;
动态缓存模块660,用于动态缓存至少一个Seek请求中的最近n个Seek请求,n≥1;
Seek请求处理模块680,用于按序处理最近n个Seek请求。
可选地,所述动态缓存模块660,包括:
队列判断单元661,用于在使用长度为n的缓存队列进行缓存时,对于每一次存储Seek请求的过程,判断缓存队列是否已满:
第一入队单元662,用于若缓存队列未满,则将Seek请求存储入缓存队列的最先一个空位中;
第二入队单元663,用于若缓存队列已满,则将缓存队列中位于队首的Seek请求丢弃,将缓存队列中的其它Seek请求向前移动一位,然后将Seek请求存储入缓存队列中位于队尾的空位中。
可选地,所述Seek请求处理模块680,包括:
缓存队列检测单元681,用于检测缓存队列中是否缓存有Seek请求;
Seek请求读取单元682,用于若缓存队列中缓存有Seek请求,则读取缓存队列中位于队首的Seek请求;
Seek请求处理单元683,用于处理Seek请求;
缓存队列检测单元,还用于在Seek请求处理单元处理完Seek请求之后,再次执行检测缓存队列中是否缓存有Seek请求的步骤。
可选地,所述Seek请求处理单元683,包括:
Seek请求解析子单元683a,用于解析所述Seek请求,得到所述Seek请求所携带的拖动位置;
解码子单元683b,用于根据所述拖动位置从正在播放的多媒体文件中解码出对应的视频帧;
视频帧显示子单元683c,用于将所述视频帧进行显示。
可选地,所述装置,还包括:
正常播放模块690,用于若所述缓存队列中缓存的Seek请求为零,则对正在播放的多媒体文件进行正常解码播放。
综上所述,本实施例提供的请求处理装置,通过采用队列管理和先进先出的思想,动态缓存拖动操作产生的Seek请求中的最近n个Seek请求,n≥1,按序处理最近n个Seek请求;解决了直接限制了Seek请求的产生,没有考虑多媒体播放器的实际处理能力,无法充分发挥多媒体播放器的计算能力的问题;达到了用户在进行拖动操作时,多媒体播放器能够根据实际处理能力,尽可能处理拖动操作所产生的Seek请求,充分发挥了多媒体播放器的计算能力。
本实施例还通过每次获取缓存队列队首的缓存的Seek请求,对该Seek请求进行处理,充分发挥多媒体播放器的计算能力,且在处理完成之后还能显示拖动位置对应的视频帧,让用户感觉到Seek的顺利进行,使用户在使用的过程中将会更加直观具体地了解到拖动过程中视频播放的内容,方便用户的观看。
需要说明的是:上述实施例提供的请求处理装置在处理请求时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将具有多媒体播放能力的电子设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的请求处理装置与请求处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图8,其示出了本发明一个实施例提供的电子设备的结构示意图。该电子设备用于实施上述实施例中提供的请求处理方法。具体来讲:
电子设备800可以包括RF(Radio Frequency,射频)电路810、包括有一个或一个以上计算机可读存储介质的存储器820、输入单元830、显示单元840、传感器850、音频电路860、WiFi(wireless fidelity,无线保真)模块870、包括有一个或者一个以上处理核心的处理器880、以及电源890等部件。本领域技术人员可以理解,图8中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器880处理;另外,将涉及上行的数据发送给基站。通常,RF电路810包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路810还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband CodeDivision Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备800的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器820还可以包括存储器控制器,以提供处理器880和输入单元830对存储器820的访问。
输入单元830可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元830可包括图像输入设备831以及其他输入设备832。图像输入设备831可以是摄像头,也可以是光电扫描设备。除了图像输入设备831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元840可用于显示由用户输入的信息或提供给用户的信息以及电子设备800的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元840可包括显示面板841,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板841。
电子设备800还可包括至少一种传感器850,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在电子设备800移动到耳边时,关闭显示面板841和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备800还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路860、扬声器861,传声器862可提供用户与电子设备800之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器880处理后,经RF电路810以发送给比如另一电子设备,或者将音频数据输出至存储器820以便进一步处理。音频电路860还可能包括耳塞插孔,以提供外设耳机与电子设备800的通信。
WiFi属于短距离无线传输技术,电子设备800通过WiFi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了WiFi模块870,但是可以理解的是,其并不属于电子设备800的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器880是电子设备800的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行电子设备800的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器880可包括一个或多个处理核心;优选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。
电子设备800还包括给各个部件供电的电源890(比如电池),优选的,电源可以通过电源管理系统与处理器880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源890还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,电子设备800还可以包括蓝牙模块等,在此不再赘述。
具体在本实施例中,电子设备800还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于进行以下操作的指令:
接收对播放进度条的拖动操作;
根据所述拖动操作产生至少一个查找Seek请求;
动态缓存所述至少一个Seek请求中的最近n个Seek请求,n≥1;
按序处理所述最近n个Seek请求。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,所述电子设备的存储器中,还包含用于执行以下操作的指令:
在使用长度为n的缓存队列进行缓存时,对于每一次存储Seek请求的过程,判断所述缓存队列是否已满:
若所述缓存队列未满,则将所述Seek请求存储入所述缓存队列的最先一个空位中;
若所述缓存队列已满,则将所述缓存队列中位于队首的Seek请求丢弃,将所述缓存队列中的其它所述Seek请求向前移动一位,然后将所述Seek请求存储入所述缓存队列中位于队尾的空位中。
在第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,所述电子设备的存储器中,还包含用于执行以下操作的指令:
检测所述缓存队列中是否缓存有Seek请求;
若所述缓存队列中缓存有Seek请求,则读取所述缓存队列中位于队首的Seek请求;
处理所述Seek请求;
处理完所述Seek请求之后,再次执行所述检测所述缓存队列中是否缓存有Seek请求的步骤。
在第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,所述电子设备的存储器中,包含用于执行以下操作的指令:
解析所述Seek请求,得到所述Seek请求所携带的拖动位置;
根据所述拖动位置从正在播放的多媒体文件中解码出对应的视频帧;
将所述视频帧进行显示。
在第三种可能的实施方式作为基础而提供的第五种可能的实施方式中,所述电子设备的存储器中,还包含用于执行以下操作的指令:
若所述缓存队列中缓存的Seek请求为零,则对正在播放的多媒体文件进行正常解码播放。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”(“a”、“an”、“the”)旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种请求处理方法,其特征在于,所述方法包括:
接收对播放进度条的拖动操作;
根据所述拖动操作产生至少一个查找Seek请求;
动态缓存所述至少一个Seek请求中的最近n个Seek请求,n≥1;
按序处理所述最近n个Seek请求。
2.根据权利要求1所述的方法,其特征在于,所述动态缓存所述至少一个Seek请求中的最近n个Seek请求,包括:
在使用长度为n的缓存队列进行缓存时,对于每一次存储Seek请求的过程,判断所述缓存队列是否已满:
若所述缓存队列未满,则将所述Seek请求存储入所述缓存队列的最先一个空位中;
若所述缓存队列已满,则将所述缓存队列中位于队首的Seek请求丢弃,将所述缓存队列中的其它所述Seek请求向前移动一位,然后将所述Seek请求存储入所述缓存队列中位于队尾的空位中。
3.根据权利要求1所述的方法,其特征在于,所述按序处理所述最近n个Seek请求,包括:
检测所述缓存队列中是否缓存有Seek请求;
若所述缓存队列中缓存有Seek请求,则读取所述缓存队列中位于队首的Seek请求;
处理所述Seek请求;
处理完所述Seek请求之后,再次执行所述检测所述缓存队列中是否缓存有Seek请求的步骤。
4.根据权利要求3所述的方法,其特征在于,所述处理所述Seek请求,包括:
解析所述Seek请求,得到所述Seek请求所携带的拖动位置;
根据所述拖动位置从正在播放的多媒体文件中解码出对应的视频帧;
将所述视频帧进行显示。
5.根据权利要求3所述的方法,其特征在于,所述检测所述缓存队列中是否缓存有Seek请求之后,还包括:
若所述缓存队列中缓存的Seek请求为零,则对正在播放的多媒体文件进行正常解码播放。
6.一种请求处理装置,其特征在于,所述装置包括:
拖动操作接收模块,用于接收对播放进度条的拖动操作;
Seek请求产生模块,用于根据所述拖动操作产生至少一个查找Seek请求;
动态缓存模块,用于动态缓存所述至少一个Seek请求中的最近n个Seek请求,n≥1;
Seek请求处理模块,用于按序处理所述最近n个Seek请求。
7.根据权利要求6所述的装置,其特征在于,所述动态缓存模块,包括:
队列判断单元、第一入队单元和第二入队单元;
所述队列判断单元,用于在使用长度为n的缓存队列进行缓存时,对于每一次存储Seek请求的过程,判断所述缓存队列是否已满:
所述第一入队单元,用于若所述队列检测单元判断出所述缓存队列未满,则将所述Seek请求存储入所述缓存队列的最先一个空位中;
所述第二入队单元,用于若所述队列检测单元判断出所述缓存队列已满,则将所述缓存队列中位于队首的Seek请求丢弃,将所述缓存队列中的其它所述Seek请求向前移动一位,然后将所述Seek请求存储入所述缓存队列中位于队尾的空位中。
8.根据权利要求6所述的装置,其特征在于,所述Seek请求处理模块,包括:
缓存队列检测单元,用于检测所述缓存队列中是否缓存有Seek请求;
Seek请求读取单元,用于若所述缓存队列中缓存有Seek请求,则读取所述缓存队列中位于队首的Seek请求;
Seek请求处理单元,用于处理所述Seek请求;
所述缓存队列检测单元,还用于在所述Seek请求处理单元处理完所述Seek请求之后,再次执行所述检测所述缓存队列中是否缓存有Seek请求的步骤。
9.根据权利要求8所述的装置,其特征在于,所述Seek请求处理单元,包括:
Seek请求解析子单元,用于解析所述Seek请求,得到所述Seek请求所携带的拖动位置;
解码子单元,用于根据所述拖动位置从正在播放的多媒体文件中解码出对应的视频帧;
视频帧显示子单元,用于将所述视频帧进行显示。
10.根据权利要求8所述的装置,其特征在于,所述装置,还包括:
正常播放模块,用于若所述缓存队列中缓存的Seek请求为零,则对正在播放的多媒体文件进行正常解码播放。
11.一种电子设备,其特征在于,所述电子设备包括如权利要求6至10任一所述请求处理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410334482.4A CN104837063B (zh) | 2014-07-15 | 2014-07-15 | 请求处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410334482.4A CN104837063B (zh) | 2014-07-15 | 2014-07-15 | 请求处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104837063A true CN104837063A (zh) | 2015-08-12 |
CN104837063B CN104837063B (zh) | 2018-10-09 |
Family
ID=53814656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410334482.4A Active CN104837063B (zh) | 2014-07-15 | 2014-07-15 | 请求处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104837063B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110418186A (zh) * | 2019-02-01 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 音视频播放方法、装置、计算机设备和存储介质 |
CN111417011A (zh) * | 2020-03-23 | 2020-07-14 | 湖南国科微电子股份有限公司 | seek请求响应方法及装置、设备及可读存储介质,播放器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101345853A (zh) * | 2008-08-07 | 2009-01-14 | 深圳市迅雷网络技术有限公司 | 一种获取视频资源截取时间点的方法及系统 |
US20110105225A1 (en) * | 2009-10-31 | 2011-05-05 | Yasong Huang | Device, method, and system for positioning playing video |
CN102131106A (zh) * | 2010-12-22 | 2011-07-20 | 华为技术有限公司 | 流媒体内容的播放方法、装置及系统 |
CN102137302A (zh) * | 2010-12-09 | 2011-07-27 | 华为技术有限公司 | 流媒体视频内容的播放方法和装置 |
CN103001925A (zh) * | 2011-09-08 | 2013-03-27 | 百度在线网络技术(北京)有限公司 | 基于统计来确定多媒体数据的播放跳转信息的方法和设备 |
-
2014
- 2014-07-15 CN CN201410334482.4A patent/CN104837063B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101345853A (zh) * | 2008-08-07 | 2009-01-14 | 深圳市迅雷网络技术有限公司 | 一种获取视频资源截取时间点的方法及系统 |
US20110105225A1 (en) * | 2009-10-31 | 2011-05-05 | Yasong Huang | Device, method, and system for positioning playing video |
CN102137302A (zh) * | 2010-12-09 | 2011-07-27 | 华为技术有限公司 | 流媒体视频内容的播放方法和装置 |
CN102131106A (zh) * | 2010-12-22 | 2011-07-20 | 华为技术有限公司 | 流媒体内容的播放方法、装置及系统 |
CN103001925A (zh) * | 2011-09-08 | 2013-03-27 | 百度在线网络技术(北京)有限公司 | 基于统计来确定多媒体数据的播放跳转信息的方法和设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110418186A (zh) * | 2019-02-01 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 音视频播放方法、装置、计算机设备和存储介质 |
CN111417011A (zh) * | 2020-03-23 | 2020-07-14 | 湖南国科微电子股份有限公司 | seek请求响应方法及装置、设备及可读存储介质,播放器 |
CN111417011B (zh) * | 2020-03-23 | 2022-03-25 | 湖南国科微电子股份有限公司 | seek请求响应方法及装置、设备及可读存储介质,播放器 |
Also Published As
Publication number | Publication date |
---|---|
CN104837063B (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104065982B (zh) | 流媒体直播的方法和装置 | |
CN105338368A (zh) | 一种视频的直播流转点播数据的方法、装置及系统 | |
CN104869468A (zh) | 一种显示弹幕信息的方法和装置 | |
CN106162316A (zh) | 一种视频流的数据处理方法、装置和系统 | |
CN103458305A (zh) | 视频播放方法、装置、终端设备和服务器 | |
CN104618794A (zh) | 播放视频的方法和装置 | |
CN105554550A (zh) | 视频播放方法及装置 | |
CN104519404A (zh) | 图像互换格式文件的播放方法及装置 | |
CN103699309B (zh) | 一种同步视频的录制方法、装置及移动终端 | |
CN104243671A (zh) | 音量调节方法、装置及电子设备 | |
CN103475914A (zh) | 视频播放方法、装置、终端设备和服务器 | |
CN105554522A (zh) | 在群组内播放音频的方法、服务器及终端 | |
CN104238893A (zh) | 一种对视频预览图片进行显示的方法和装置 | |
CN104252341A (zh) | 应用程序的换肤方法、装置及应用程序的客户端设备 | |
CN105516784A (zh) | 虚拟物品显示方法及装置 | |
CN104967865A (zh) | 视频预览方法和装置 | |
CN103068016B (zh) | 移动终端及其降低功耗的方法 | |
CN104869465A (zh) | 视频播放控制方法和装置 | |
CN104935955A (zh) | 一种传输直播视频流的方法、装置和系统 | |
CN104602135A (zh) | 控制全屏播放的方法及装置 | |
CN106507204A (zh) | 一种视频倒放方法和装置 | |
CN103945241A (zh) | 一种流媒体数据的统计方法、系统及相关装置 | |
CN104965642A (zh) | 下拉列表生成方法及装置 | |
CN103399911A (zh) | 基于浏览器客户端的访问处理方法、装置及终端设备 | |
CN104967864A (zh) | 一种合并视频的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |