一种多媒体数据的随机播放方法和装置制造方法及图纸

技术编号:13793167 阅读:45 留言:0更新日期:2016-10-06 05:58
本发明专利技术实施例提供了一种多媒体数据的随机播放方法和装置,该方法包括:在预置的多媒体数据中识别未播放的第一多媒体数据;在连续的区间中记录所述第一多媒体数据在所述多媒体数据中的数据序号;在所述区间的范围内随机生成一目标数值;查询所述目标数值对应的数据序号;播放所述数据序号对应的第一多媒体数据。本发明专利技术实施例减少了循环遍历的次数,减少了时间复杂度,同时,并没有更改播放列表及其长度这两个变量,避免增加模块之间的耦合度,避免模块之间相互产生影响,因此,并没有影响到其他模块的使用,保证了安全性。

【技术实现步骤摘要】

本专利技术涉及计算机处理的
,特别是涉及一种多媒体数据的随机播放方法和一种多媒体数据的随机播放装置。
技术介绍
随着移动通信技术的发展,电子产品在人们的生活、学习、工作中的应用越来越多。在电子产品中,用户经常随机播放音乐、壁纸、屏保等多媒体数据。在随机播放时,需要使用播放列表及其长度这两个变量,而这两个变量的变化涉及多个模块,为了减少耦合度,避免模块之间相互产生影响,现有随机播放时不会改变这两个变量的值,多次进行循环遍历,时间复杂度比较高。
技术实现思路
鉴于上述问题,为了解决上述随机播放的时间复杂度比较高的问题,本专利技术实施例提出了一种多媒体数据的随机播放方法和相应的一种多媒体数据的随机播放装置。一方面,本专利技术实施例公开了一种多媒体数据的随机播放方法,包括:在预置的多媒体数据中识别未播放的第一多媒体数据;在连续的区间中记录所述第一多媒体数据在所述多媒体数据中的数据序号;在所述区间的范围内随机生成一目标数值;查询所述目标数值对应的数据序号;播放所述数据序号对应的第一多媒体数据。另一方面,本专利技术实施例公开了一种多媒体数据的随机播放装置,包括:多媒体数据识别模块,用于在预置的多媒体数据中识别未播放的第一多媒体数据;数据序号记录模块,用于在连续的区间中记录所述第一多媒体数据在所述多媒体数据中的数据序号;目标数值随机生成模块,用于在所述区间的范围内随机生成一目标数值;数据序号查询模块,用于查询所述目标数值对应的数据序号;多媒体数据播放模块,用于播放所述数据序号对应的第一多媒体数据。本专利技术实施例包括以下优点:本专利技术实施例在预置的多媒体数据中识别未播放的第一多媒体数据,在连续的区间中记录第一多媒体数据在多媒体数据中的数据序号,在区间的范围内随机生成一目标数值,播放该目标数值对应的数据序号的第一多媒体数据,减少了循环遍历的次数,减少了时间复杂度,同时,并没有更改播放列表及其长度这两个变量,避免增加模块之间的耦合度,避免模块之间相互产生影响,因此,并没有影响到其他模块的使用,保证了安全性。附图说明图1是本专利技术的一种多媒体数据的随机播放方法实施例的步骤流程图;图2是本专利技术实施例的一种未播放的第一多媒体数据的识别流程图;图3是本专利技术实施例的一种第一多媒体数据的数据序号的记录流程图;图4是本专利技术的一种多媒体数据的随机播放装置实施例的结构框图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。参照图1,示出了本专利技术的一种多媒体数据的随机播放方法实施例的步骤流程图,具体可以包括如下步骤:步骤101,在预置的多媒体数据中识别未播放的第一多媒体数据;在具体实现中,本专利技术实施例可以应用在电子设备中,具体可以包括移动设备,例如,手机、平板电脑、智能手表等等,也可以包括固定设备,例
如,电视、个人电脑等等,本专利技术实施例对此不加以限制。这些电子设备的操作系统可以包括Android(安卓)、IOS、Windows Phone、Windows等等,通常可以支持各种应用的运行,例如,音频播放器、视频播放器等等。在这些电子设备中,预先存储有多媒体数据,该多媒体数据包括图像数据、音频数据、视频数据,等等,经常用于随机播放。例如,对于图像数据,其可以表现为壁纸、屏保等形式。又例如,对于音频数据,其可以表现为音乐、歌曲等形式。又例如,对于视频数据,其可以表现为MV(Music Video,音乐录像带)、电影等形式。随机播放的要求,一般是随机播放播放列表中的多媒体数据,不能重复播放之前已播放过的多媒体数据,直至所有多媒体数播放结束,因此,下一个播放对象一般是未播放的多媒体数据。在本专利技术实施例中,未播放的多媒体数据可以称之为第一多媒体数据,此外,已播放的多媒体数据可以称之为第二多媒体数据。在本专利技术的一个实施例中,如图2所示,步骤101可以包括如下子步骤:子步骤S11,读取预置的多媒体数据的播放列表和历史播放记录;在随机播放中,一般要应用几个变量:1、播放列表mPlayList[i](i=0,1,2,3…);播放列表mPlayList中按照一定的顺序存放着要播放的所有多媒体数据的地址。2、播放列表mPlayList的长度为mPlayListlen;播放列表mPlayList的长度为mPlayListlen一般指播放列表mPlayList[i]所包含的多媒体数据的数量。3、播放历史记录mHistory;播放历史记录mHistory中存放着已播放的第二多媒体数据在播放列表mPlayList[i]中的数据序号mPlayPos(又称下标)。子步骤S12,按照所述播放列表的长度创建一数组;在本专利技术实施例中,依据播放列表的长度创建一数组,即该数组中键值对(数组序号与数值)的数量与该播放列表的长度相等。在数组中,数组序号一般从0开始递增,因此,数组序号的范围为0-(mPlayListLen-1),因此,在本专利技术实施例中可以创建数组tracks[i],其中,i=0,1,2,3,…,(mPlayListLen-1)。子步骤S13,从所述历史播放记录中读取已播放的第二多媒体数据在所述播放列表中的数据序号;子步骤S14,依次判断所述数组序号与所述数据序号是否匹配;若否,则执行子步骤S15,若是,则执行子步骤S16;子步骤S15,将所述数组序号的数值赋值为第一数值;子步骤S16,将所述数组序号的数值赋值为第二数值。如果数组序号与数据序号不匹配,则可以在该数组序号的数值赋值为表示未播放的第一多媒体数据的第一数值。如果数组序号与数据序号匹配,则可以在该数组序号的数值赋值为表示已播放的第二多媒体数据的第二数值。通常情况下,为了将第二数值与数组序号区分,在本专利技术实施例的一个示例中,第一数值可以小于或等于值最小的数组序号、大于或等于值最大的数组序号,假设第一数值为a,组序号的范围为0-(mPlayListLen-1),则a≤0,a≥mPlayListLen-1,即a是除0-(mPlayListLen-1)之外的任意数值。当第一数值小于或等于值最小的数组序号时,第二数值小于第一数值;当第一数值大于或等于值最大的数组序号时,第二数值大于第一数值。假设第二数值为b,则当a≤0时,b<a;当a≥mPlayListLen-1时,b>a。在Android系统中,在java语言中,创建的数组在初始化之前,所有的数值均为0。在本专利技术实施例中,为了减少计算量,可以将第一数值设置为0,将第二数值设置为-1,因此,可以在播放历史记录mHistory中提取已播放的第二多媒体数据的数组序号,将数组中相应的数组序号对应的数值设置为第二数
值-1。步骤102,在连续的区间中记录所述第一多媒体数据在所述多媒体数据中的数据序号;在具体实现中,可以在多媒体数据中识别出未播放的第一多媒体数据,并在连续的区间中记录其在多媒体数据中的数据序号,即数据序号之间并未间断。在本专利技术的一个实施例中,如图3所示,步骤102可以包括如下子步骤:子步骤S21,在所述数组中依次读取所述数组序号的数值;在本专利技术实施例中,可以循环判断数组中数组序号的数值是否为表征未播放的第一多媒体数据的第一数值,以将数组序号(即多媒体数据的下标)赋值至数组的前M个数组序号本文档来自技高网
...

【技术保护点】
一种多媒体数据的随机播放方法,其特征在于,包括:在预置的多媒体数据中识别未播放的第一多媒体数据;在连续的区间中记录所述第一多媒体数据在所述多媒体数据中的数据序号;在所述区间的范围内随机生成一目标数值;查询所述目标数值对应的数据序号;播放所述数据序号对应的第一多媒体数据。

【技术特征摘要】
1.一种多媒体数据的随机播放方法,其特征在于,包括:在预置的多媒体数据中识别未播放的第一多媒体数据;在连续的区间中记录所述第一多媒体数据在所述多媒体数据中的数据序号;在所述区间的范围内随机生成一目标数值;查询所述目标数值对应的数据序号;播放所述数据序号对应的第一多媒体数据。2.根据权利要求1所述的方法,其特征在于,所述在预置的多媒体数据中识别未播放的第一多媒体数据的步骤包括:读取预置的多媒体数据的播放列表和历史播放记录;按照所述播放列表的长度创建一数组;从所述历史播放记录中读取已播放的第二多媒体数据在所述播放列表中的数据序号;依次判断所述数组序号与所述数据序号是否匹配;若否,则将所述数组序号的数值赋值为第一数值;若是,则将所述数组序号的数值赋值为第二数值。3.根据权利要求2所述的方法,其特征在于,所述在连续的区间中记录所述第一多媒体数据在所述多媒体数据中的数据序号的步骤包括:在所述数组中依次读取所述数组序号的数值;识别所述数值的属性;当确定所述数值为第一数值时,按照所述数组序号计算所述第一多媒体数据在所述播放列表中的数据序号;将所述数据序号赋值给所述数组中前M个数组序号的数值,M为所述第一多媒体数据的数量;判断是否记录所述第一多媒体数据的数据序号完毕;若是,则结束记录所述第一多媒体数据在所述多媒体数据中的数据序号;若否,则返回执行所述依次读取所述数组中数组序号对应的数值的步
\t骤;当确定所述数值为第二数值时,返回执行所述依次读取所述数组中数组序号对应的数值的步骤。4.根据权利要求3所述的方法,其特征在于,所述第一数值小于或等于值最小的数组序号、大于或等于值最大的数组序号;当所述第一数值小于或等于值最小的数组序号时,所述第二数值小于所述第一数值;当所述第一数值大于或等于值最大的数组序号时,所述第二数值大于所述第一数值;所述识别所述数值的属性的步骤包括:判断所述数值是否小于所述第一数值;若是,则确定所述数值为第二数值;若否,则确定所述数值为第一数值。5.根据权利要求3所述的方法,其特征在于,所述在所述区间的范围内随机生成一目标数值的步骤包括:在所述数组中前M个数组序号的范围内随机生成一目标数值。6.根据权利要求3或4或5所述的方法,其特征在于,所述查询所述目...

【专利技术属性】
技术研发人员:孙卓张博
申请(专利权)人:青岛海信移动通信技术股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1