一种WEB端音视频文件片段式重复播放方法及系统
技术领域
本发明涉及音频文件播放技术领域,尤其涉及一种WEB端音视频文件片段式重复播放方法及系统。
背景技术
现在网络上学习的人数越来越多并且也越来越普及。尤其是外语类的学习,可以从网络上获得大量廉价学习资料和听力资料。但在练习听力的时候,大家以前使用复读机并不能支持自动化片段复读,即不能指定一个段落进行完整的复读,网络播放器也没有这个功能,只有简单的标记复读。这样很不方便重复整句与整句跳播复读,对用户需要针对自己情况进行音频文件片段复读带来极大的不便。
因此,现有技术还有待于改进和发展。
发明内容
鉴于现有技术的不足,本发明目的在于提供一种WEB端音视频文件片段式重复播放方法及系统,旨在解决现有技术中不能按需求而设定重复播放对应的音视频片段的技术问题。
本发明的技术方案如下:
一种WEB端音视频文件片段式重复播放方法,其中,方法包括:
A、WEB端音视频文件播放过程中,检测到用户输入的音视频文件片段重复播放请求时,基于所述重复播放请求的输入类型在服务器上查询对应的音视频文件片段;
B、WEB端重复播放所查询的音视频文件片段。
所述的WEB端音视频文件片段式重复播放方法,其中,所述步骤A具体包括:
A1、WEB端音视频文件播放过程中,实时检测用户的输入;
A2、当检测到用户点击播放时间轴时,获取点击时间,在服务器上查询所述点击时间对应的时间区间,WEB端获取将对应的时间区间的音视频文件片段。
所述的WEB端音视频文件片段式重复播放方法,其中,所述步骤A具体包括:
A11、WEB端音视频文件播放过程中,实时检测用户的输入;
A12、当检测到用户输入数字时,在服务器上查询数字对应的片段序列号;
A13、根据片段序列号获取对应的时间区间,WEB端获取将对应的时间区间的音视频文件片段。
所述的WEB端音视频文件片段式重复播放方法,其中,所述步骤A之后,步骤B之前还包括:
B0、WEB端接收用户的指令对播放次数进行设置。
所述的WEB端音视频文件片段式重复播放方法,其中,所述步骤A之前还包括:
S、预先将WEB端音视频文件分成若干个片段,并按播放时间先后顺序进行编号形成片段序列号,获取各个片段的播放起始时间和播放结束时间并存储在服务器上。
所述的WEB端音视频文件片段式重复播放方法,其中,所述步骤S之后、步骤A之前还包括:还包括:
S0、预先设置一快捷键操作,当检测到用户进行快捷键操作时,重复上一次设定的操作。
一种WEB端音视频文件片段式重复播放系统,其中,系统包括:
检测与查询模块,用于WEB端音视频文件播放过程中,检测到用户输入的音视频文件片段重复播放请求时,基于所述重复播放请求的输入类型在服务器上查询对应的音视频文件片段;
播放模块,用于WEB端重复播放所查询的音视频文件片段。
所述的WEB端音视频文件片段式重复播放系统,其中,所述检测与查询模块具体包括:
第一检测单元,用于WEB端音视频文件播放过程中,实时检测用户的输入;
第一查询单元,用于当检测到用户点击播放时间轴时,获取点击时间,在服务器上查询所述点击时间对应的时间区间,WEB端获取将对应的时间区间的音视频文件片段。
所述的WEB端音视频文件片段式重复播放系统,其中,所述检测与查询模块具体包括:
第二检测单元,用于WEB端音视频文件播放过程中,实时检测用户的输入;
第二查询单元,用于当检测到用户输入数字时,在服务器上查询数字对应的片段序列号;
获取单元,用于根据片段序列号获取对应的时间区间,WEB端获取将对应的时间区间的音视频文件片段。
所述的WEB端音视频文件片段式重复播放系统,其中,所述系统还包括:
播放次数设置模块,用于WEB端接收用户的指令对播放次数进行设置;
预先存储模块,用于预先将WEB端音视频文件分成若干个片段,并按播放时间先后顺序进行编号形成片段序列号,获取各个片段的播放起始时间和播放结束时间并存储在服务器上;
快捷键设置模块,用于预先设置一快捷键操作,当检测到用户进行快捷键操作时,重复上一次设定的操作。
本发明提供了一种WEB端音视频文件片段式重复播放方法及系统,本发明用户通过键盘输入片段序列号或是鼠标点击音视频文件的播放时间轴,实现音视频文件片段式重复播放,为用户重复播放音视频文件提供了方便。
附图说明
图1为本发明的一种WEB端音视频文件片段式重复播放方法的较佳实施例的流程图。
图2为本发明的一种WEB端音视频文件片段式重复播放方法的具体应用实施例一的流程图。
图3为本发明的一种WEB端音视频文件片段式重复播放方法的具体应用实施例二的流程图。
图4为本发明的一种WEB端音视频文件片段式重复播放方法的具体应用实施例三的数据库层设计示意图。
图5为本发明的一种WEB端音视频文件片段式重复播放系统的较佳实施例的功能原理框图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种WEB端音视频文件片段式重复播放方法的较佳实施例的流程图,如图1所示,方法包括:
步骤S100、WEB端音视频文件播放过程中,检测到用户输入的音视频文件片段重复播放请求时,基于所述重复播放请求的输入类型在服务器上查询对应的音视频文件片段。
具体实施时,WEB端音视频文件播放过程中,检测用户输入的事件,用户点击播放时间轴上的时间或是输入具体的数值的方式,来触发音视频文件片段重复播放请求。根据播放请求在服务器上查询对应的音视频文件片段,将查询后的结果返回至WEB端。其中所述重复播放请求的输入类型包括用户通过鼠标点击音频播放时间轴上的时间,或是通过鼠标点击WEB端上显示的数字键,也可以是接收用户通过键盘输入数字值。
进一步地,步骤S100之前还包括:
步骤S1、预先将WEB端音视频文件分成若干个片段,并按播放时间先后顺序进行编号形成片段序列号,获取各个片段的播放起始时间和播放结束时间并存储在服务器上。
具体实施时,预先在WEB端获取一个音视频文件,按照一定的规则,将音视频文件分成若干个音视频文件片段,其中音视频文件也可简记为片段。下述片段的定义与音视频文件片段相同。优选的,将一个完整的句子作为一个片段。并按播放时间先后顺序对片段进行编号,形成每个片段唯一的片段序列号。获取每个片段对应的播放起始时间和播放结束时间并存储在服务器上。优选的,将音视频文件的一个完整句子中的片段序列号,播放起始时间、播放结束时间存储在一个时间阵列模型TimeArrayModel中。
具体实施时,音视频整句时间段模型如下,全部整句构成一个完整的复读对象(TimeArrayModel)结构,结构如下:
[
{
"serialNo": 1,
"startTime": 23,
"endTime": 30
},
… …
{
"serialNo": n,
"startTime": 50,
"endTime": 60
}
]
其中,serialNo: 复读片段识别号,用来给每个片段一个标号用以和数字键事件进行匹配,startTime:该复读片段的起始时间点,endTime:该复读片段的结束时间点。
步骤S200、WEB端重复播放所查询的音视频文件片段。
具体实施时,WEB端接收到需要重复播放的音视频文件片段进行 播放。
进一步的实施例中,当用户是通过点击播放轴上的时间来请求音视频文件片段重复播放时,所述步骤S100具体包括:
步骤S101、WEB端音视频文件播放过程中,实时检测用户的输入;
步骤S102、当检测到用户点击播放时间轴时,获取点击时间,在服务器上查询所述点击时间对应的时间区间,WEB端获取将对应的时间区间的音视频文件片段。
具体实施时,WEB端音视频文件播放过程中,实时检测用户的输入,当检测到用户点击播放时间轴时,从时间轴上获取的点击时间在服务器给的一个时间区间内,获取这个时间区间的startTime及当前时间区间的endTime。
进一步的实施例中,当用户是通过键盘上数据键进行操作时,所述步骤S100具体包括:
步骤S111、WEB端音视频文件播放过程中,实时检测用户的输入;
步骤S112、当检测到用户输入数字时,在服务器上查询数字对应的片段序列号;
步骤S113、根据片段序列号获取对应的时间区间,WEB端获取将对应的时间区间的音视频文件片段。
具体实施时,当用户不是使用鼠标进行操作,而是使用数据键的时候,当前数字键值与服务器给的数据serialNo能匹配上的时候,取出匹配上的serialNo对应的startTime为开始播放时间,对应的endTime为结尾时间。
具体地,可在WEB页面端向服务器请求音视频文件的时候向服务器同时请求同Id的该文件,段落数据文件名与音视频文件同id。
进一步的实施例,所述步骤S100之后,步骤S200之前还包括:
步骤S130、WEB端接收用户的指令对播放次数进行设置。
具体实施时,在判断完选择片段是否合法后,WEB端页面会给用户弹出复读次数提示。用户输入完复读次数后开始复读流程 。当然在弹出复读次数提示框后,也可以在其中选择为后续默认选项,这样后面选择的所有复读选项都不必要再填写,也不会再弹出提示。这样可以进一步简化用户操作行为。
具体地,所述步骤S1之后,步骤S100之前还包括:
步骤S11、预先设置一快捷键操作,当检测到用户进行快捷键操作时,重复上一次设定的操作。
具体实施时,在听完设定的N次后,如果还想再继续让其复读N次,再做上次同样的操作是不人性化的,所以增加了R操作(不一定是R键可以定义为其它键),即再重复一次上次设定的操作。比如,上次重复读[startTime,endTime]3次,那么R键代表再重复[startTime,endTime]3次。
本发明还提供了一种WEB端音视频文件片段式重复播放方法的具体实施例一的流程图,如图2所示,其中方法包括:
步骤S10、开始;
步骤S20、从服务器获取时间阵列模型,时间阵列模型需预先存储在服务器中,而时间阵列模型具体包括音视频文件片段对应的序列号、播放开始时间、播放结束时间等数据;
步骤S30、启动一鼠标事件监听程序,判断鼠标是否点击播放器时间轴,如果否,则执行步骤S40,如果是,则执行步骤S50;
步骤S40、判断是否数字按键,具体地,启动一键盘事件监听,用于捕获键盘事件,判断用户是否在键盘上点击数字按键,如果是,则执行步骤S70,如果否,则执行步骤S92;
步骤S50、获取时间轴上的点击时间点;
步骤S60、判断该时间阵列模型是否存在上述点击时间点所在的时间区间,具体地,查询服务器中的时间阵列模块是否存在用户点击的时间点所在的时间区间,其中时间区间对应音视频文件的播放开始时间直到播放结束时间,如果是,则执行步骤S90,如果否,则执行步骤S92;
步骤S70、判断该时间阵列模型是否存在对应的片段序列号等于按键值,判断用户点击的数字键的按键值是否存在于服务器中的时间阵列模型中,如果是,则执行步骤S80,如果否,则执行步骤S92;
步骤S80、获取片段序列号对应的播放开始时间;
步骤S90、设定播放器跳转到播放开始时间点;具体地,开始时间点是指上述在服务器中预先存储的start time,是指音视频某一片段的起始播放时间;
步骤S91、播放指定时间音视频,具体地,指定时间是指点击时间点所在的时间区间;
步骤S92、结束。
需要说明的是,本实施例中首先判断用户的操作时点击播放器的时间轴,当判断为否是再判断是否有数字按键,本实施例并不局限于此顺序,还可以先判断是否有数字按键,当判断为否时再判断是否点击播放器的时间轴,但无论哪种顺序,均可实现根据用户需求进行复读的目的,此处对此不作限制。
进一步地,当听完设定的N次后,如果还想再继续让其复读N次,再做上次同样的操作是不人性化的,所以增加了R操作(不一定是R键可以定义为其它键),即再重复一次上次设定的操作。比如,上次重复读[startTime,endTime]3次,那么R键代表再重复[startTime,endTime]3次。本发明还提供了一种WEB端音视频文件片段式重复播放方法的具体实施例二的流程图,其中R键为预先设置的快捷键,用于重复上次的设定操作,如图3所示,其中方法包括:
步骤S11、开始;
步骤S12、从服务器获取时间阵列模型,时间阵列模型需预先存储在服务器中,而时间阵列模型具体包括音视频文件片段对应的序列号、播放开始时间、播放结束时间等数据;
步骤S13、启动一鼠标事件监听程序,判断鼠标是否点击播放器时间轴,如果否,则执行步骤S14,如果是,则执行步骤S15;
步骤S14、判断是否数字按键,具体地,启动一键盘事件监听,用于捕获键盘事件,判断用户是否在键盘上点击数字按键,如果是,则执行步骤S17,如果否,则执行步骤S141;
步骤S141、判断是否为R键,如果是,则执行步骤S142,如果否,则执行步骤S195;
步骤S142、获取上次设定的播放时间区间与重复播放次数,之后执行步骤S191;
步骤S15、获取时间轴上的点击时间点;
步骤S16、判断该时间阵列模型是否存在上述点击时间点所在的时间区间,具体地,查询服务器中的时间阵列模块是否存在用户点击的时间点所在的时间区间,其中时间区间对应音视频文件的播放开始时间直到播放结束时间,则执行步骤S19,如果否,则执行步骤S195;
步骤S17、判断该时间阵列模型是否存在对应的片段序列号等于按键值,判断用户点击的数字键的按键值是否存在于服务器中的时间阵列模型中,,则执行步骤S18,如果否,则执行步骤S195;
步骤S18、获取片段序列号对应的播放开始时间;
步骤S19、弹出播放次数;
步骤S191、判断播放次数是否为0,如果是,则执行步骤S195,如果否,则执行步骤S192;
步骤S192、设定播放器跳转到播放开始时间点,具体地,开始时间点是指上述在服务器中预先存储的start time,是指音视频某一片段的起始播放时间;
步骤S193、播放指定时间音视频,具体地,指定时间是指点击时间点所在的时间区间;
步骤S194、播放次数-1;
步骤S195、结束。
需要说明的是,本实施例中首先判断用户的操作时点击播放器的时间轴,当判断为否是再判断是否有数字按键,本实施例并不局限于此顺序,还可以先判断是否有数字按键,当判断为否时再判断是否点击播放器的时间轴,但无论哪种顺序,均可实现根据用户需求进行复读的目的,此处对此不作限制。
本发明提供了一种WEB端音视频文件片段式重复播放方法的具体应用实施例三。在本实施例中为了简化输入方式,这里以数字,单位(秒,分)加自定义分割符的方式,并且自动添加开头与结尾(这样可以少输入两个点)。以下为一个以“|”为分割符的示例,时间单位为s,整个音频时长为60s。数据在后台的存储方式具体如下所述:假设音频中存在5个片段,播放时长分别为10s,12s,13s,15 s,10s。则存储方式如下
10|22|35|50。
以上的值会转化为如下字符串,这样方便加速后台返回时间,减少了后台对据的解析时间。具体的时间阵列模型的存储形式为:
[
{
"serialNo": 1,
"startTime": 0,
"endTime": 10
},
{
"serialNo": 2,
"startTime": 10,
"endTime": 22
},
{
"serialNo": 3,
"startTime": 22,
"endTime": 35
},
{
"serialNo": 4,
"startTime": 35,
"endTime": 50
},
{
"serialNo": 5,
"startTime": 50,
"endTime": 60
}
]
并以key:value形式存入数据库(Database,简称DB),这样可以方便的在RDB与NOSQL DB这间进行切换,其中,RDB是指关系数据库(Relational Database,简称RDB),关系数据库就是基于关系型的数据库,是利用数据库进行数据组织的一种方式,是现代的数据库管理系统中应用最为普遍的一种,也是最有效的数据组织形式之一。NoSQL DB是指非关系型数据库(Not only Structured Query Language Database,简称NoSQL DB),这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。具体地还可以使用内存缓存技术代替DB或者为DB做一层缓存接口,加速数据提取。
假如上面的示例的音视频名称为englishOne。则存为如下形式
englishOne:
[
[
{
"serialNo": 1,
"startTime": 0,
"endTime": 10
},
{
"serialNo": 2,
"startTime": 10,
"endTime": 22
},
{
"serialNo": 3,
"startTime": 22,
"endTime": 35
},
{
"serialNo": 4,
"startTime": 35,
"endTime": 50
},
{
"serialNo": 5,
"startTime": 50,
"endTime": 60
}
]
数据库DAO层设计如图4所示,其中DAO层是数据库的分层架构,Dao层是使用了对象关系映射框架Hibernate连接数据库、操作数据库(增删改查),以上设计的好处可以在图4中看出:
RDB和NoSQL DB可以替换 ,而1整体又可以和2整体进行替换,设计灵活多变,可以适应小型与大型应用场景。即使用的数据量较大时可以使用1。而在1中如果写入比较频繁则可以使用NoSQLDB来代替RDB。其中Cache Layer为缓存层。
本发明还提供了一种WEB端音视频文件片段式重复播放系统的较佳实施例的功能原理框图,如图5所示,其中,系统包括:
检测与查询模块100,用于WEB端音视频文件播放过程中,检测到用户输入的音视频文件片段重复播放请求时,基于所述重复播放请求的输入类型在服务器上查询对应的音视频文件片段;具体如上所述。
播放模块200,用于WEB端重复播放所查询的音视频文件片段;具体如上所述。
所述的WEB端音视频文件片段式重复播放系统,其中,所述检测与查询模块具体包括:
第一检测单元,用于WEB端音视频文件播放过程中,实时检测用户的输入;具体如上所述。
第一查询单元,用于当检测到用户点击播放时间轴时,获取点击时间,在服务器上查询所述点击时间对应的时间区间,WEB端获取将对应的时间区间的音视频文件片段;具体如上所述。
所述的WEB端音视频文件片段式重复播放系统,其中,所述检测与查询模块具体包括:
第二检测单元,用于WEB端音视频文件播放过程中,实时检测用户的输入;具体如上所述。
第二查询单元,用于当检测到用户输入数字时,在服务器上查询数字对应的片段序列号;具体如上所述。
获取单元,用于根据片段序列号获取对应的时间区间,WEB端获取将对应的时间区间的音视频文件片段;具体如上所述。
所述的WEB端音视频文件片段式重复播放系统,其中,所述系统还包括:
播放次数设置模块,用于WEB端接收用户的指令对播放次数进行设置;具体如上所述。
预先存储模块,用于预先将WEB端音视频文件分成若干个片段,并按播放时间先后顺序进行编号形成片段序列号,获取各个片段的播放起始时间和播放结束时间并存储在服务器上;具体如上所述。
快捷键设置模块,用于预先设置一快捷键操作,当检测到用户进行快捷键操作时,重复上一次设定的操作;具体如上所述。
综上所述,本发明提供了一种WEB端音视频文件片段式重复播放方法及系统,所述方法包括:WEB端音视频文件播放过程中,检测到用户输入的音视频文件片段重复播放请求时,基于所述重复播放请求的输入类型在服务器上查询对应的音视频文件片段; WEB端重复播放所查询的音视频文件片段。本发明用户通过键盘输入片段序列号或是鼠标点击音视频文件的播放时间轴,实现音视频文件片段式重复播放,为用户重复播放音视频文件提供了方便。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。