随机播放系统及方法

文档序号:6773850阅读:251来源:国知局
专利名称:随机播放系统及方法
技术领域
本发明是关于一种随机播放系统及方法,特别是关于一种可实现无重复随机播放系统及方法。
背景技术
由于电子科技的快速发展,媒体播放器已成为人们日常生活中必不可少的娱乐设备之一。目前市面上的媒体播放器如MP3播放器大部份都具有随机播放功能,它是通过特定的程序产生一随机数,依据该产生的随机数从播放列表中寻找对应的媒体文件进行播放,达到随机播放的功效。然而上述方法无法确保该特定程序在同一个循环内生成的所有随机数都没有重复,因此消费者在听音乐时,常常会感到个别曲目可能已重复播放多次,但有些曲目却从未被播放过,导致消费者为能够听到所有的曲目,不得不取消随机播放的功能,影响了随机播放功能的应有价值。
因此,如何让媒体播放器在提供随机播放功能的同时,确保在每一次循环中,存储在播放列表中的各媒体文件都能被播放,是本本发明要解决的问题。

发明内容
为克服上述现有技术的缺点,本发明的主要目的在于提供一种随机播放系统及方法,在媒体播放器执行随机播放功能时,同一循环中播放的各媒体文件不重复。
本发明的另一目的在于提供一种随机播放系统及方法,它基于位移的方式选择待播放的媒体文件,运行速度较快。
为达到上述所有目的及其它相关的目的,本发明提供一种随机播放系统及方法。本发明的随机播放系统,对播放的媒体文件组成的播放列表(Playlist)进行处理,决定该媒体文件的播放状态,其中,该系统包括第一缓存器,用来记录该播放列表中包含的媒体文件数量;第二缓存器,由多个位(Bit)组成,该各个位分别对应于该播放列表中的一媒体文件,用来标示该播放列表中各媒体文件的当前播放状态;选择模块,用来在执行播放任务时,根据该播放列表中随机选取一媒体文件;分析模块,用来依据该第二缓存器的存储数据分析该选择模块选取的媒体文件的播放状态;以及播放模块,用来在该分析模块的分析结果为该媒体文件未播放过时,播放该媒体文件。
其中,该第二缓存器的位存储值为第一值时,表示该对应的媒体文件未播放过;该第二缓存器的位存储值为第二值时,表示该对应的媒体文件已播放过。该选择模块还包括生成一随机数的随机数生成器及依据预设的算法将该生成的随机数换算为该播放列表中对应的一播放序号的换算单元。
再者,该随机播放系统还包括处理模块及调整模块,该处理模块具有在该播放列表中的媒体文件被播放时,将该第二缓存器中对应位的存储值由第一值变为第二值的标示单元;记录该播放模块已播放的媒体文件数目的计数器;对比该计数器记录已播放的文件数目是否大于该第一缓存器记录的数量的对比单元;以及该对比单元的对比结果是该已播放的媒体文件数目大于该第一缓存器记录的数量时,将该第二缓存器中的各位存储值初始为第一值的初始单元;该调整模块在该分析模块的分析结果为该媒体文件为己播放过时,依据预设的算法调整该播放序号,并将该序号传送到该分析模块进行分析。
该随机播放方法应用于随机播放系统,对播放的媒体文件组成的播放列表(Playlist)进行处理,决定该媒体文件的播放状态,该方法包括该随机播放系统记录该播放列表中包含的媒体文件数量;该随机播放系统标示该播放列表中各媒体文件的播放状态,并将标示的数据存储到标记缓存器中;该随机播放系统在执行播放任务时,从该播放列表中随机选取一媒体文件;该随机播放系统依据该标记缓存器的存储数据分析该选取的媒体文件的播放状态;以及该随机播放系统在分析该选取的媒体文件尚未播放过时,播放该媒体文件。其中,在上述该随机播放系统选择待播放的媒体文件中,该播放列表至少包括播放曲目及其对应的播放序号。
再者,在上述该随机播放系统标示该播放列表中各媒体文件的播放状态中,该标记缓存器由多个位(Bit)组成,该各位分别对应该播放列表中的各媒体文件,用来标示该播放列表中各媒体文件的播放状态,该标记缓存器的位存储值为第一值时,表示该对应的媒体文件未播放过;该标记缓存器的位存储值为第二值时,表示该对应的媒体文件已播放过。
再者,上述该随机播放系统在执行播放任务中还包括该随机播放系统借由一随机数生成器生成一随机数;其次,该随机播放系统依据预设的算法将该生成的随机数换算为该播放列表中对应的一播放序号。
另外,该随机播放方法还包括该随机播放系统在该播放列表中的一媒体文件播放时,在该标记缓存器中标示该对应位的播放状态;该随机播放系统借由一计数器记录该播放列表中已播放的媒体文件的数目;该随机播放系统对比该记录的已播放媒体文件的数量是否大于该播放列表中包含的媒体文件的数量;该随机播放系统在该对比结果是该已播放媒体文件数目大于该播放列表中包含的媒体文件的数量时,将该标记缓存器中各位的存储值初始为第一值;以及该随机播放系统将该计数器的计数值清零。
此外,该方法还包括该随机播放系统在该分析结果为该媒体文件为已播放过时,依据预设的算法调整该播放序号,并返回上述该随机播放系统依据该标记缓存器的存储数据分析该选取的媒体文件的播放状态。
本发明的随机播放系统及方法是基于位移的方式选择待播放的媒体文件,在媒体播放器执行随机播放操作时,不仅可实现在同一循环中各播放曲目不重复的功效,且不会影响播放速度。


图1是本发明的随机播放系统所需的基本架构方块示意图;以及图2是本发明的随机播放方法的操作流程示意图。
具体实施例方式
实施例图1是本发明的随机播放系统100所需的基本架构方块示意图。如图所示,本发明的随机播放系统100适用于一媒体播放器1中,该媒体播放器1可以是MP3播放器或运行在个人计算机中的媒体播放程序(如Windows Media Player、Winamp等)。在本实施例中,该随机播放系统100包括数据库110、第一缓存器121、第二缓存器122、设置模块123、选择模块130、分析模块140、播放模块150、处理模块160及调整模块170。
该数据库110用来存储该媒体播放器1待播放的媒体文件组成的播放列表(Playlist)。在本实施例中,该播放列表(未标出)包括“播放序号”、“播放曲目”及“播放长度”等字段,其中,该“播放曲目”显示该媒体播放器1中存储的待播放的媒体文件名称;该“播放序号”是一自动生成的流水号,其中,各“播放序号”与该播放列表中的各媒体文件——对应;该“播放长度”栏中显示该对应的媒体文件的播放时间长度。在此须提出说明的是,该播放列表是现有的处理程序,因此以下不对其功能及建立方式作进一步说明。再者,除了将该播放列表存储在本实施例所述的数据库外,也可存储在任何可存储数据的存储器中。
该第一缓存器121用来记录该播放列表中包含的媒体文件的数量,一般,该第一缓存器121中记录的数量值与该播放列表中“播放序号”的最大值相等。
该第二缓存器122是一多个位(Bit)组成的标记缓存器,其中,该各位分别对应于该播放列表中的各媒体文件,用来标示该播放列表中各媒体文件当前的播放状态。在本实施例中,当该位存储值为“0”时,表示该对应的媒体文件尚未播放过;当该位存储值为“1”时,表示该对应的媒体文件已播放过。在此须提出说明的是,位存储值“0”和“1”的不同是作为媒体文件播放与否的识别,但并非仅限于此,如当该位存储值为“1”时,也可表示该对应的媒体文件尚未播放过;当该位存储值为“0”时,也可表示该对应的媒体文件已播放过。因此,可设定第一值及第二值作为媒体文件播放与否的识别。
此外,该设置模块123可依据该第一缓存器121中记录的媒体文件数量,设置该第二缓存器122的数据类型,由于该第二缓存器122中的每一位分别对应该播放列表中一个播放曲目,因此只需确保该第二缓存器122中具有的位的数量不小于该播放列表中的曲目数即可,达到节省存储空间的目的。如该第一缓存器121中记录的媒体文件数量不大于16,则该设置模块123将该第二缓存器122的数据类型设定为短整型(Short),其具有16个位;若该第一缓存器121中记录的媒体文件数量不大于32,则该设置模块123将该第二缓存器122的数据类型设定为整型(int),其具有32个位;第一缓存器121中记录的媒体文件数量不大于64,该设置模块123将该第二缓存器122的数据类型设定为长整型(Long),其具有64个位,并以此类推。
该选择模块130用来在该媒体播放器1执行播放任务时,从该播放列表中随机选取一媒体文件。在本实施例中,该选择模块130还包括一随机数生成器131及一换算单元132,在本实施例中,该随机数生成器131是参考当前的时间生成一相应的随机数,使每次生成的随机数不会重复,减少出现重复选取同一播放曲目的机率。该换算单元132利用预设的算法,将该生成的随机数换算为该播放列表中对应的一个播放序号,通过模运算的方式将该随机数生成器131生成的随机数限定在该播放序号范围内,例如,假设该播放列表包含的播放曲目数量(以下以参数t作为代表)即该播放列表中的播放序号范围是1~100,当该随机数生成器131依据当前时间生成的随机数(以下以参数s作为代表)为120时,该换算单元132利用模运算公式,换算出当前对应的播放序号(以下以参数c作为代表),该播放序号(c)取得方式为随机数(s)除以播放曲目总数(t)后剩下的余数(该公式为(c)=(s)%(t)),由以上数据可得出该对应的播放序号(c)为20。
该分析模块140用来依据该选择模块130选取的播放序号,从该第二缓存器122中寻找该对应位的存储值为第一值(例如“0”)或第二值(例如“1”),分析该选取的播放序号对应的媒体文件是否已经播放过。
该播放模块150用来在该分析模块140的分析结果为该选取的媒体文件尚未播放过时,开始播放该媒体文件。
该处理模块160包括标示单元161、计数器162、对比单元163及初始单元164。该标示单元161用来在该播放列表中的媒体文件被播放时,即将该第二缓存器122中对应位的存储值由未播放状态变为已播放状态;该计数器162用来记录该播放模块150已播放的媒体文件数量,即每当该播放模块150开始播放该播放列表中一播放曲目或当该播放列表中一播放曲目被播放完毕时,该计数器162的计数值自动加1,统计己播放的媒体文件总数;该对比单元163用来对比该计数器162记录的已播放媒体文件的总数是否大于该第一缓存器121记录的数量;该初始单元164在该对比单元163的对比结果为该已播放的媒体文件总数大于该第一缓存器121记录的数量时,将该第二缓存器122中各位的存储值由第二值(例如“1”)初始为第一值(例如“0”)。
该调整模块170用来在该分析模块140的分析结果为该媒体文件为已播放过时,可依据一预设程序算法调整选取另一播放序号(后面详述),并将该播放序号传送到该分析模块140进行重新分析,判断该对应的播放曲目是否已播放过。
图2是本发明的随机播放方法的操作流程示意图。本发明的随机播放方法应用在一具有随机播放系统100的媒体播放器1中,如图所示,首先进行步骤S210,选取该媒体播放器1待播放的媒体文件,止该随机播放系统100自动生成一对应的播放列表(未标出),其中,该播放列表中各播放曲目与该选取的媒体文件相对应,并针对各播放曲目自动生成一对应的播放序号,在本实施例中,该序号是一自动排列的流水号。该播放列表中包括“播放序号”、“播放曲目”及“播放长度”(播放时间),接着进到步骤S220。
在该步骤S220中,记录该播放列表中包含的播放曲目总数(t),接着进到步骤S230。
在该步骤S230中,依据该播放曲目总数(t)设置用来标示各播放曲目当前播放状态的标记(Flag)缓存器的数据类型,此时该第二缓存器122组成的标记缓存器中各位的存储值都为“0”,接着进到步骤S240。
在该步骤S240中,借由一随机数生成器131依据当前时间生成一相应的随机数(s),接着进到步骤S250。
在该步骤S250中,计算该随机数(s)对应的播放序号(c),其计算公式为(c)=(s)%(t),接着进到步骤S260。
在该步骤S260中,读取该第二缓存器122组成的标记缓存器中对应该播放序号(c)的位存储值,判断该对应的播放曲目的当前播放状态,若该位值为第一值(例如“0”),即代表该对应的播放曲目尚未播放过,则进到步骤S270;若该位值为第二值(例如“1”),则代表该播放曲目已被播放过,接着进到步骤S261。
在该步骤S261中,计算公式(c)=(c)+1,在该播放列表中选取另一播放序号,接着进到步骤S262。
在该步骤S262中,判断该播放序号(c)是否大于该播放曲目数量(t),若是,则进到步骤S263,否则返回到步骤S260。
在该步骤S263中,计算公式(c)=(t)/2,接着返回到步骤S260。
在该步骤S270中,播放该选取的播放曲目,并进到步骤S280。
在该步骤S280中,寻找该第二缓存器122组成的标记缓存器中对应该播放曲目的位,并将该位的存储值由代表未播放状态的“0”,标示为代表已播放状态的“1”,接着进到步骤S290。
在该步骤S290中,通过计数器162统计该播放列表中已播放过的播放曲目数量(p),接着进到步骤S300。
在该步骤S300中,判断(p)是否大于(t),若是即代表该播放列表中的所有播放曲目在同一循环中已全部被播放过,接着进到步骤S310,否则返回到步骤S240。
在该步骤S310中,将该第二缓存器122组成标记的标记缓存器中各标示该播放曲目的播放状态的位值由第二值(例如“1”)初始为第一值(例如“0”),接着进到步骤S320。
在该步骤S320中,将该计数器162的计数值清零,并返回到步骤S240,重新开始一轮播放循环。
综上所述,本发明的随机播放系统及方法具有以下的功效(1)提供媒体播放器在进行随机播放时,实现无重复播放的功效,并可确保播放列表中的所有媒体文件在同一循环中都被播放到;(2)基于位运算的方式来选取播放列表中待播放的媒体文件,保证程序的运行速度不受影响;(3)无须增设额外的硬件,因此不会增加成本负担。
权利要求
1.一种随机播放系统,对播放媒体文件组成的播放列表进行处理,决定该媒体文件的播放状态,其特征在于,该随机播放系统包括第一缓存器,用来记录该播放列表中包含的媒体文件数量;第二缓存器,由多个位组成,该各位分别对应于该播放列表中的一个媒体文件,用来标示该播放列表中各媒体文件的当前播放状态;选择模块,用来在执行播放任务时,根据从该播放列表中随机选取一媒体文件;分析模块,用来依据该第二缓存器的存储数据,分析该选择模块选取的媒体文件的播放状态;以及播放模块,用来在该分析模块的分析结果为该媒体文件未播放过时,播放该媒体文件。
2.如权利要求1所述的随机播放系统,其特征在于,该播放列表至少包括播放曲目及对应的播放序号。
3.如权利要求1所述的随机播放系统,其特征在于,该第二缓存器是标记缓存器。
4.如权利要求3所述的随机播放系统,其特征在于,该第二缓存器的位存储值为第一值时,表示该对应的媒体文件未播放过;该第二缓存器的位存储值为第二值时,表示该对应的媒体文件已播放过。
5.如权利要求1所述的随机播放系统,,其特征在于,该随机播放系统还包括设置模块,该设置模块依据该第一缓存器记录的数量,设置该第二缓存器的数据类型。
6.如权利要求5所述的随机播放系统,其特征在于,该数据类型是短整型、整型或长整型。
7.如权利要求1所述的随机播放系统,其特征在于,该选择模块还包括随机数生成器,用来生成一随机数;以及换算单元,用来依据预设的算法,将该生成的随机数换算为该播放列表中对应的一播放序号。
8.如权利要求7所述的随机播放系统,其特征在于,该随机数生成器是参考当前时间生成相应的随机数。
9.如权利要求8所述的随机播放系统,其特征在于,该换算单元是通过模运算的方法,将该随机数生成器生成的随机数限定在该播放序号范围内。
10.如权利要求1所述的随机播放系统,其特征在于,该随机播放系统还包括处理模块,该处理模块包括标示单元,用来在该播放列表中的媒体文件被播放时,将该第二缓存器中对应位的存储值由第一值变为第二值;计数器,用来记录该播放模块已播放的媒体文件数目;对比单元,用来对比该计数器记录的已播放文件的数目是否大于该第一缓存器记录的数量;以及初始单元,该对比单元的对比结果是该已播放的媒体文件数目大于该第一缓存器记录的数量时,将该第二缓存器中各位的存储值初始为第一值。
11.如权利要求1所述的随机播放系统,其特征在于,该随机播放系统还包括调整模块,该调整模块在该分析模块的分析结果为该媒体文件为已播放过时,依据预设的算法调整该播放序号,并将该调整得出的播放序号传送到该分析模块进行分析。
12.一种随机播放方法,应用于随机播放系统,对播放的媒体文件组成的播放列表进行处理,决定该媒体文件的播放状态,其特征在于,该随机播放方法包括该随机播放系统记录该播放列表中包含的媒体文件数量;该随机播放系统标示该播放列表中各媒体文件的播放状态,并将标示的数据存储到标记缓存器中;该随机播放系统在执行播放任务时,从该播放列表中随机选取一媒体文件;该随机播放系统依据该标记缓存器的存储数据,分析该选取的媒体文件的播放状态;以及该随机播放系统在分析该选取的媒体文件尚未播放过时,播放该媒体文件。
13.如权利要求12所述的随机播放方法,其特征在于,该播放列表至少包括播放曲目及对应的播放序号。
14.如权利要求12所述的随机播放方法,其特征在于,该标记缓存器由多个位组成,该各位分别对应该播放列表中的各媒体文件,用来标示该播放列表中各媒体文件的播放状态。
15.如权利要求14所述的随机播放方法,其特征在于,该标记缓存器的位存储值为第一值时,表示该对应的媒体文件未播放过;该标记缓存器的位存储值为第二值时,表示该对应的媒体文件已播放过。
16.如权利要求12所述的随机播放方法,其特征在于,该随机播放方法还包括该随机播放系统依据该播放列表中包含的媒体文件数量,设置该标记缓存器的数据类型。
17.如权利要求16所述的随机播放方法,其特征在于,该数据类型是短整型、整型或长整型。
18.如权利要求12所述的随机播放方法,其特征在于,该随机播放系统执行播放任务过程中还包括该随机播放系统借由一随机数生成器生成一随机数;以及该随机播放系统依据预设的算法,将该生成的随机数换算为该播放列表中对应的一播放序号。
19.如权利要求18所述的随机播放方法,其特征在于,该随机数生成器是参考当前时间生成相应的随机数。
20.如权利要求18所述的随机播放方法,其特征在于,该随机播放方法是通过模运算的方法,将该生成的随机数限定在该播放序号范围内。
21.如权利要求12所述的随机播放方法,其特征在于,该随机播放方法还包括以下步骤该随机播放系统在该播放列表中的一媒体文件被播放时,在该标记缓存器中标示该对应的播放状态;该随机播放系统记录该播放列表中已播放的媒体文件的数目;该随机播放系统对比该记录的已播放媒体文件的数量是否大于该播放列表中包含的媒体文件的数量;该随机播放系统在该比对结果是该已播放媒体文件数目大于该播放列表中包含的媒体文件数量时,将该标记缓存器中的存储值初始为第一值;以及该随机播放系统将该记录的已播放的媒体文件数值清零。
22.如权利要求12所述的随机播放方法,其特征在于,该随机播放方法还包括让该随机播放系统在该分析结果为该媒体文件为已播放过时,依据预设的算法调整该播放序号,该随机播放系统依据该标记缓存器存储的数据分析该选取的媒体文件的播放状态。
全文摘要
一种随机播放系统及方法,对播放的媒体文件组成的播放列表进行处理,决定该媒体文件的播放状态。该系统包括第一缓存器,记录该播放列表中包含的媒体文件数量;第二缓存器,由多个位组成,该各个位分别对应于该播放列表中的一媒体文件,标示该播放列表中各媒体文件的当前播放状态;选择模块,在执行播放任务时,根据该播放列表中随机选取一媒体文件;分析模块,依据该第二缓存器的存储数据分析该选择模块选取的媒体文件的播放状态;以及播放模块,用来在该分析模块的分析结果为该媒体文件未播放过时,播放该媒体文件;本发明的随机播放系统及方法可实现播放列表中各媒体文件在同一循环中,都能被播放,达到无重复随机播放的功效。
文档编号G11C7/00GK1967520SQ20051012323
公开日2007年5月23日 申请日期2005年11月15日 优先权日2005年11月15日
发明者邱全成, 蔡宜平 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1