一种过滤音乐文件的方法及系统与流程

文档序号:12364075阅读:345来源:国知局
一种过滤音乐文件的方法及系统与流程

本发明涉及智能应用技术领域,更具体地说,涉及一种过滤音乐文件的方法及系统。



背景技术:

在播放多媒体文件时,例如音乐文件时,由于多媒体文件的内容多样性,为了判断音乐文件是否适合儿童,或者是否适合公众场合,不得不预先播放音乐文件,再通过人的主观来进行筛选是否适合,进而适合则选取,不适合则舍弃,工作量大,筛选的效率低。若某音乐文件的音调非常好,但是歌词中某个词语却带有某种色彩,例如暴力、色情、辱骂等色彩,此时,并不适合播放该音乐文件给儿童。

因此,如何在不舍弃音乐文件的前提下,避免播放不合适的歌词成为一个需要解决的问题。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术中筛选合适的音乐文件时效率低的问题,使得音乐文件播放不因歌词的色彩而被舍弃,提供一种过滤音乐文件的方法及系统。

本发明解决上述问题所采用的技术方案是提供了一种过滤音乐文件的方法,包括:

获取待播放的音乐文件,并解析所述音乐文件的音源文件以得到所述音源文件的歌词;

从已建立的包含过滤关键词的关键词库中提取所述过滤关键词;

比对所述音源文件中的所有歌词与所述过滤关键词,并在所述音源文件中的歌词与所述过滤关键词相同时,过滤所述音源文件中与所述过滤关键词相同的歌词。

其中,所述解析所述音乐文件的音源文件以得到所述音源文件的歌词的步骤包括:

将所述音源文件读取到内存中,且所述音源文件以一第一数据结构进行存储;

从所述第一数据结构中得到所述音源文件的歌词。

其中,所述过滤所述音源文件中与所述过滤关键词相同的歌词的步骤包括:

启动一组件,并在所述组件中定义与所述第一数据结构相同的第二数据结构;

将所述第一数据结构中的所述音源文件复制到所述第二数据结构中;

在所述第二数据结构中将所述音源文件中与所述过滤关键词相同的歌词删除并用空格来替代。

其中,建立包含过滤关键词的关键词库的步骤包括:

输入至少一个需被过滤的关键词,并且所述关键词之间以分隔符隔开;

提取所述关键词,并判断所述关键词库中是否存在所述关键词;

在所述关键词库中不存在所述关键词时,将所述关键词保存到所述关键词库中;

在所述关键词库中存在所述关键词时,将所述关键词以红色进行显示以提示已存在。

其中,还包括:

在播放所述音乐文件时,启动音乐播放和歌词显示的线程,并调用所述第二数据结构以进行音乐播放。

为解决上述问题,本发明所采用的另一技术方案为提供了一种过滤音乐文件的系统,包括:

解析模块,用于获取待播放的音乐文件,并解析所述音乐文件的音源文件以得到所述音源文件的歌词;

提取模块,用于从已建立的包含过滤关键词的关键词库中提取所述过滤关键词;

过滤模块,用于比对所述音源文件中的所有歌词与所述过滤关键词,并在所述音源文件中的歌词与所述过滤关键词相同时,过滤所述音源文件中与所述过滤关键词相同的歌词。

其中,所述解析模块包括:

读取单元,用于将所述音源文件读取到内存中,且所述音源文件以一第一数据结构进行存储;

获取单元,用于从所述第一数据结构中得到所述音源文件的歌词。

其中,所述过滤模块包括:

定义单元,用于启动一组件,并在所述组件中定义与所述第一数据结构相同的第二数据结构;

复制单元,用于将所述第一数据结构中的所述音源文件复制到所述第二数据结构中;

删除单元,用于在所述第二数据结构中将所述音源文件中与所述过滤关键词相同的歌词删除并用空格来替代。

其中,还包括:

建立模块,用于建立包含过滤关键词的关键词库;

所述建立模块包括:

输入单元,用于输入至少一个需被过滤的关键词,并且所述关键词之间以分隔符隔开;

判断单元,用于提取所述关键词,并判断所述关键词库中是否存在所述关键词,在所述关键词库中不存在所述关键词时,将所述关键词保存到所述关键词库中,并在所述关键词库中存在所述关键词时,将所述关键词以红色进行显示以提示已存在。

其中,还包括:

播放模块,用于在播放所述音乐文件时,启动音乐播放和歌词显示的线程,并调用所述第二数据结构以进行音乐播放。

本发明的有益效果有:通过将音源文件的歌词与关键词库中的过滤关键词进行比对以进行过滤,即在音源文件中进行过滤,从而使得在播放音乐文件时,在歌词显示上直接显示空格,在音源上则直接跳过,这样将不合适的歌词过滤且不舍弃音乐文件本身,无需预先播放来进行筛选,提高筛选效率以及音乐文件的使用率。

附图说明

下面将结合附图及实施方式对本发明作进一步说明,附图中:

图1是本发明的过滤音乐文件的方法实施方式的流程图;

图2是本发明的建立关键词库的实施方式的流程图;

图3是本发明的过滤音乐文件的系统一实施方式的结构示意图;

图4是本发明的过滤音乐文件的系统另一实施方式的结构示意图;

图5是本发明的智能终端实施方式的结构示意图。

具体实施方式

应当理解,此处所描述的具体实施方式仅用以解释本发明,并不用于限定本发明。

如图1所示,是本发明的过滤音乐文件的方法实施方式的流程图,包括以下步骤:

S102:获取待播放的音乐文件,并解析所述音乐文件的音源文件以得到所述音源文件的歌词;

在使用一多媒体应用时,点击某一音乐文件以进行播放,进而获取到该待播放的音乐文件,该音乐文件的音源文件是LRC(lyric,歌词)格式,即音源文件是LRC文件,解析该音源文件,从而得到相应的歌词,具体地,首先,将该音源文件读取到内存中,其中,该音源文件采用第一数据结构sentence来进行存储,第一数据结构sentence的成员变量包括fromtime、totime和content,其中,fromtime表示起始时间,totime表示截止时间,content表示歌词内容。

其次,从第一数据库结构sentence中得到该音源文件的歌词,即content成员变量中的内容。在本实施方式中,通过重写onDraw方法来获取该音源文件的歌词,而在该重写onDraw方法中,调用函数getNowSentenceInex(t)来获得歌词的索引。

S104:从已建立的包含过滤关键词的关键词库中提取所述过滤关键词;

关键词库中包含各种过滤关键词,例如,“把衣服脱掉”“我很暴力”“滚开”等,用户可根据需要添加过滤关键词,该关键词库可位于网络上,也可位于一终端内。在本实施方式中,在步骤S102之前包括:建立包含过滤关键词的关键词库。

该步骤可通过终端内的多媒体应用的一个选项来实现,其内部的具体的实现流程,如图2所示,包括:

S201:输入至少一个需被过滤的关键词,并且所述关键词之间以分隔符隔开。可通过多媒体应用的选项中的输入栏来进行输入需要被过滤的关键词,在仅输入一个关键词时,在关键词的末尾输入分隔符;在输入多个关键词时,关键词之间用分隔符来隔开,以方便后续提取关键词,其中,分隔符可以采用标点符号,如逗号,也可以采用空格等特殊符号。

S202:提取所述关键词。将分隔符之间的词语作为关键词进行提取,若仅输入一个关键词时,提取分隔符前的词语。

S203:判断所述关键词库中是否存在所述关键词,若不存在,则执行步骤S204,若存在,则执行步骤S205。

S204:在所述关键词库中不存在所述关键词时,将所述关键词保存到所述关键词库中。在关键词保存到关键词库后,结束此流程。

S205:在所述关键词库中存在所述关键词时,将所述关键词以红色进行显示以提示已存在。关键词库中包含输入的关键词时,在关键词库中以红色来显示该关键词,则该输入的关键词为无效输入,可避免关键词库中存在重复的关键词,提高关键词库的存储效率。

S106:比对所述音源文件中的所有歌词与所述过滤关键词,并在所述音源文件中的歌词与所述过滤关键词相同时,过滤所述音源文件中与所述过滤关键词相同的歌词。

提取到的过滤关键词与音源文件中的所有歌词进行逐一比较,若某个歌词与过滤关键词相同,则该歌词需要被过滤掉,具体地,过滤所述音源文件中与所述过滤关键词相同的歌词的步骤包括:首先,启动一组件,并在所述组件中定义与所述第一数据结构sentence相同的第二数据结构user-sentence,第二数据结构user-sentence同样包括3个成员变量,分别为fromtime、totime和content。随后,将所述第一数据结构sentence中的所述音源文件复制到所述第二数据结构user-sentence中。最后,在所述第二数据结构user-sentence中将所述音源文件中与所述过滤关键词相同的歌词删除并用空格来替代,这样第二数据结构user-sentence中存储的是过滤后的音源文件,即包含空格,空格的数量与删除的歌词的字数相同,例如,删除“我很暴力”,则空格的数量为4。

进一步地,在本实施方式中,在步骤S106之后还包括:在播放所述音乐文件时,启动音乐播放和歌词显示的线程,并调用所述第二数据结构user-sentence以进行音乐播放。为了实现歌词与音频播放同步,将第二数据结构user-sentence中的成员变量fromtime设置到歌词显示View的成员变量中。

在本实施方式中,通过比对关键词库中的过滤关键词与以第一数据结构存储在内存中的音源文件中的歌词,启动组件,将第一数据结构内的音源文件复制到与第一数据库结构相同的第二数据库结构中,并在第二数据库结构中将与过滤关键词相同的歌词删除并用空格替代,进而过滤与过滤关键词相同的歌词,可以看出,是在音源文件中进行过滤,从而使得在播放音乐文件时,在歌词显示上直接显示空格,在音源上则直接跳过,这样将不合适的歌词过滤且不舍弃音乐文件本身,无需预先播放来进行筛选,提高筛选效率以及音乐文件的使用率。

如图3所示,是本发明的过滤音乐文件的系统一实施方式的结构示意图,该系统100通过上述方法来过滤音乐文件,包括解析模块10、提取模块20和过滤模块30,解析模块10和提取模块20分别与过滤模块30连接。

解析模块10用于获取待播放的音乐文件,并解析所述音乐文件的音源文件以得到所述音源文件的歌词。解析模块10解析该音源文件,从而得到相应的歌词,解析模块10包括读取单元11和获取单元12,读取单元11和获取单元12相互连接,其中,读取单元11用于将所述音源文件读取到内存中,且所述音源文件以一第一数据结构sentence进行存储;该第一数据库结构sentence在上面已作说明,在此不再进行说明。获取单元12用于从所述第一数据结构sentence中得到所述音源文件的歌词。在本实施方式中,该获取单元12可通过重写onDraw方法来获取该音源文件的歌词。

提取模块20用于从已建立的包含过滤关键词的关键词库中提取所述过滤关键词;

过滤模块30用于比对所述音源文件中的所有歌词与所述过滤关键词,并在所述音源文件中的歌词与所述过滤关键词相同时,过滤所述音源文件中与所述过滤关键词相同的歌词。在本实施方式中,该过滤模块30包括比对单元31、定义单元32、复制单元33和删除单元34,比对单元31、定义单元32、复制单元33和删除单元34依次连接,其中,比对单元31用于比对所述音源文件中的所有歌词与所述过滤关键词。在比对单元31比对到音源文件中的歌词与过滤关键词相同时,此时定义单元32、复制单元32和删除单元33协同执行过滤操作以过滤与过滤关键词相同的歌词,具体地,定义单元32用于启动一组件,并在所述组件中定义与所述第一数据结构sentence相同的第二数据结构user-sentence;复制单元33用于将所述第一数据结构sentence中的所述音源文件复制到所述第二数据结构user-sentence中;删除单元34用于在所述第二数据结构user-sentence中将所述音源文件中与所述过滤关键词相同的歌词删除并用空格来替代。

如图4所示,在本发明的其他实施方式中,该系统100还包括建立模块40,该建立模块40与提取模块20连接,用于建立包含过滤关键词的关键词库。如图4所示,建立模块40包括输入单元41、判断单元42和存储单元43,输入单元41、判断单元42和存储单元43依次连接,其中,输入单元41用于输入至少一个需被过滤的关键词,并且所述关键词之间以分隔符隔开;判断单元42用于提取所述关键词,并判断所述关键词库中是否存在所述关键词,在所述关键词库中不存在所述关键词时,将所述关键词保存到所述关键词库中,并在所述关键词库中存在所述关键词时,将所述关键词以红色进行显示以提示已存在;存储单元43用于存储关键词库,在关键词库不存在关键词时,将该关键词保存到关键词库中,进而存储到存储单元43。

进一步地,在本实施方式中,该系统还包括播放模块(图未示出),该播放模块与过滤模块连接,用于在播放所述音乐文件时,启动音乐播放和歌词显示的线程,并调用所述第二数据结构user-sentence以进行音乐播放。

如图5所示,是本发明的智能终端实施方式的结构示意图,该智能终端通过上述的方法来过滤音乐文件,包括处理器51和存储器52,存储器52与处理器51连接。

存储器52用于存储待播放的音乐文件以及已建立的包含过滤关键词的关键词库;

处理器51用于从存储器52中获取待播放的音乐文件,并解析所述音乐文件的音源文件以得到所述音源文件的歌词,以及从所述存储器的关键词库中提取过滤关键词。其中,处理器51解析音源文件,首先,将该音源文件读取到其内存中,其中,该音源文件采用第一数据结构sentence来进行存储;其次,从第一数据库结构sentence中得到该音源文件的歌词。

处理器51进一步比对所述音源文件中的所有歌词与所述过滤关键词,并在所述音源文件中的歌词与所述过滤关键词相同时,过滤所述音源文件中与所述过滤关键词相同的歌词。具体地,处理器51过滤所述音源文件中与所述过滤关键词相同的歌词,首先,启动一组件,并在所述组件中定义与所述第一数据结构sentence相同的第二数据结构user-sentence,第二数据结构user-sentence同样包括3个成员变量,分别为fromtime、totime和content。随后,将所述第一数据结构sentence中的所述音源文件复制到所述第二数据结构user-sentence中。最后,在所述第二数据结构user-sentence中将所述音源文件中与所述过滤关键词相同的歌词删除并用空格来替代。

在本实施方式中,该智能终端还包括扬声器53,该扬声器53与处理器51连接,处理器51在播放音乐文件时,启动音乐播放和歌词显示的线程,并调用所述第二数据结构以通过该扬声器53进行音乐播放。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1