System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机领域,尤其涉及一种损坏的m4a文件修复方法、装置、设备及存储介质。
技术介绍
1、m4a文件是一种很常见的音频文件格式,通常使用于aac编码器进行音频数据的压缩和存储,m4a的文件通常和itunes、苹果设备相关联,是苹果公司推出的用于音频存储和播放的文件格式之一,这种格式使用的音频压缩可以保持相对较高的音质下减少文件的大小,用来节省我们的储存空间。
2、随着多媒体技术的不断进步,人们对于音视频的要求越来越高,m4a文件也越来越大,m4a文件越大,在数据传输过程中更加容易出现损坏;一些设备质量的缺陷也会导致辛辛苦苦录制的素材不能完整导出,从而功亏一篑。目前常见的m4a文件修复方式仅仅对音频头部进行样例替换修复,修复成功率非常低下,另外一种是对文件进行全部解析的,速度相对较慢。
技术实现思路
1、本专利技术的主要目的在于解决损坏m4a文件修复效率低的技术问题。
2、本专利技术第一方面提供了一种损坏的m4a文件修复方法,所述损坏的m4a文件修复方法包括:
3、获取样例m4a音频文件,并将所述样例m4a音频文件转换成aac文件,所述样例m4a音频文件是指设备在相同配置下录制的能正常播放的m4a音频文件;
4、解析样例aac文件,得到损坏文件音频数据块的分割符;
5、读取损坏m4a音频文件,得到损坏文件音频数据块,并通过所述分割符,将所述损坏文件音频数据块中黏在一起的音频数据进行分割;
6、将分割的
7、可选的,在本专利技术第一方面的第一种实现方式中,所述解析样例aac文件,得到损坏文件音频数据块的分割符包括:
8、解析样例aac文件,获取所述样例aac文件的adts数据帧;
9、去除每一个所述adts数据帧中的流开始标志字节;
10、取出去除流开始标志字节后adts数据帧预设位置上的字节,并将所述字节存储到预设set数据集中;
11、根据所述预设set数据集,得到损坏文件音频数据块的分割符。
12、可选的,在本专利技术第一方面的第二种实现方式中,所述读取损坏m4a音频文件,得到损坏文件音频数据块,并通过所述分割符,将所述损坏文件音频数据块中黏在一起的音频数据进行分割包括:
13、读取损坏m4a音频文件,获取损坏文件音频数据块的位置,并将所述损坏文件音频数据块的位置作为当前解析位置;
14、根据所述损坏文件音频数据块的位置,得到损坏文件音频数据块;
15、根据所述当前解析位置、所述损坏文件音频数据块及预设读取字节长度,通过所述分割符,将所述损坏文件音频数据块中黏在一起的音频数据进行分割。
16、可选的,在本专利技术第一方面的第三种实现方式中,所述根据所述当前解析位置、所述损坏文件音频数据块及预设读取字节长度,通过所述分割符,将所述损坏文件音频数据块中黏在一起的音频数据进行分割包括:
17、从所述当前解析位置开始,依次读取所述损坏文件音频数据块对应预设读取字节长度的字节;
18、根据所述损坏文件音频数据块对应预设读取字节长度的字节、以及所述分割符,标记音频数据分割的位置及长度;
19、根据所述音频数据分割的位置及长度,得到音频数据分割表;
20、根据所述音频数据分割表,将所述损坏文件音频数据块中黏在一起的音频数据进行分割。
21、可选的,在本专利技术第一方面的第四种实现方式中,所述根据所述损坏文件音频数据块对应预设读取字节长度的字节、以及所述分割符,标记音频数据分割的位置及长度包括:
22、将所述损坏文件音频数据块对应预设读取字节长度的字节与所有所述分割符比对;
23、若存在所述分割符与所述损坏文件音频数据块对应预设读取字节长度的字节相同,则标记对应预设读取字节长度的字节位置,将所述字节位置作为音频数据分割的位置;
24、根据所述音频数据分割的位置,得到音频数据分割的长度。
25、可选的,在本专利技术第一方面的第五种实现方式中,所述将分割的音频数据进行组装,输出为aac文件,并将输出的aac文件转换成m4a文件,完成音频修复包括:
26、根据所述样例aac文件,得到解码参数;
27、将分割的音频数据进行组装,并写入所述解码参数,输出为aac文件;
28、将输出的aac文件转换成m4a文件,完成音频修复。
29、可选的,在本专利技术第一方面的第六种实现方式中,所述获取样例m4a音频文件,并将所述样例m4a音频文件转换成aac文件包括:
30、推送样例输入界面,通过所述样例输入界面,获取输入的样例m4a音频文件;
31、通过ffmpeg命令行以拷贝的形式将所述样例m4a音频文件转换成aac文件。
32、本专利技术第二方面提供了一种损坏的m4a文件修复设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述损坏的m4a文件修复设备执行上述的损坏的m4a文件修复方法。
33、本专利技术的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的损坏的m4a文件修复方法。
34、在本专利技术实施例中,获取样例m4a音频文件,并将所述样例m4a音频文件转换成aac文件,所述样例m4a音频文件是指设备在相同配置下录制的能正常播放的m4a音频文件;解析样例aac文件,得到损坏文件音频数据块的分割符;读取损坏m4a音频文件,得到损坏文件音频数据块,并通过所述分割符,将所述损坏文件音频数据块中黏在一起的音频数据进行分割;将分割的音频数据进行组装,输出为aac文件,并将输出的aac文件转换成m4a文件,完成音频修复。本专利技术中,将样例m4a音频文件转换成aac文件,解析样例aac文件,得到损坏文件音频数据块的分割符,然后通过分割符,将损坏文件音频数据块中黏在一起的音频数据进行分割并组装,完成音频修复,能只需通过分析损坏文件音频数据块,得到修复m4a文件,无须对整个m4a文件进行解析,从而提高损坏m4a文件修复效率。
本文档来自技高网...【技术保护点】
1.一种损坏的M4A文件修复方法,其特征在于,所述损坏的M4A文件修复方法包括:
2.根据权利要求1所述的损坏的M4A文件修复方法,其特征在于,所述解析样例AAC文件,得到损坏文件音频数据块的分割符包括:
3.根据权利要求1所述的损坏的M4A文件修复方法,其特征在于,所述读取损坏M4A音频文件,得到损坏文件音频数据块,并通过所述分割符,将所述损坏文件音频数据块中黏在一起的音频数据进行分割包括:
4.根据权利要求3所述的损坏的M4A文件修复方法,其特征在于,所述根据所述当前解析位置、所述损坏文件音频数据块及预设读取字节长度,通过所述分割符,将所述损坏文件音频数据块中黏在一起的音频数据进行分割包括:
5.根据权利要求4所述的损坏的M4A文件修复方法,其特征在于,所述根据所述损坏文件音频数据块对应预设读取字节长度的字节、以及所述分割符,标记音频数据分割的位置及长度包括:
6.根据权利要求1所述的损坏的M4A文件修复方法,其特征在于,所述将分割的音频数据进行组装,输出为AAC文件,并将输出的AAC文件转换成M4A文件,完成音频修
7.根据权利要求1所述的损坏的M4A文件修复方法,其特征在于,所述获取样例M4A音频文件,并将所述样例M4A音频文件转换成AAC文件包括:
8.一种损坏的M4A文件修复装置,其特征在于,所述损坏的M4A文件修复装置包括:
9.一种损坏的M4A文件修复设备,其特征在于,所述损坏的M4A文件修复设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的损坏的M4A文件修复方法。
...【技术特征摘要】
1.一种损坏的m4a文件修复方法,其特征在于,所述损坏的m4a文件修复方法包括:
2.根据权利要求1所述的损坏的m4a文件修复方法,其特征在于,所述解析样例aac文件,得到损坏文件音频数据块的分割符包括:
3.根据权利要求1所述的损坏的m4a文件修复方法,其特征在于,所述读取损坏m4a音频文件,得到损坏文件音频数据块,并通过所述分割符,将所述损坏文件音频数据块中黏在一起的音频数据进行分割包括:
4.根据权利要求3所述的损坏的m4a文件修复方法,其特征在于,所述根据所述当前解析位置、所述损坏文件音频数据块及预设读取字节长度,通过所述分割符,将所述损坏文件音频数据块中黏在一起的音频数据进行分割包括:
5.根据权利要求4所述的损坏的m4a文件修复方法,其特征在于,所述根据所述损坏文件音频数据块对应预设读取字节长度的字节、以及所述分割符,标记音频数据分割的位置...
【专利技术属性】
技术研发人员:朱金武,黄德安,陈子文,姜亚明,
申请(专利权)人:深圳麦风科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。