【发布时间】:2013-02-21 07:10:24
【问题描述】:
我有一个大小为 728 的压缩文件,不知何故我知道这是一个音频文件,它持续 1040 毫秒
压缩文件结构很简单:
由14字节块组成,每个块以0x0C开头:
0c xx xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx xx xx 0c xx xx xx xx xx xx xx xx xx xx xx xx xx
(xx) 可以是任何十六进制数
您可以在这里下载压缩的二进制文件:
http://dusijun.files.wordpress.com/2013/02/29-aud-bin.doc(请重命名为 *.aud )
或文档格式的文本视图
http://dusijun.files.wordpress.com/2013/02/29-aud.doc
没有标题或元信息。块的数量取决于实际音频的长度。 文件大小的音频持续时间约为 1.42
例如
如果文件大小 = 9506,那么音频可以持续 9506*1.42 = 13580 毫秒,大约 13 秒
有人知道它可能是什么编解码器吗?
PS:
二进制文件为微信(ios)音频文件。
参考
1)如何提取/播放 .aud 文件?
http://www.boards.ie/vbulletin/showthread.php?t=2055891600
2) 微信ios
【问题讨论】:
-
我猜它是原始的 PCM 格式,你试过把它通过 FFMPEG 吗?
-
不错的尝试,虽然原始 PCM 不会有这样的帧结构,尤其是每个帧都有一个前导字符 0X0c 。如果它是原始 PCM,那么在一秒钟内,文件大小(采样率 (bits per sample/8) 1 s )将至少为数千字节,而不是给定示例中的 728 字节.
-
我没有标记您的问题,但我认为它不太适合堆栈溢出。我建议阅读常见问题解答。
-
728*8/1.04 = 5600 位/秒 = 700 字节每秒。没有分数,这确实暗示了某种未压缩的格式。另一方面,任何低于约 32 kbps(=32000 位/秒)的未压缩格式听起来都比普通的旧电话线更糟糕……不知道该怎么做。它实际上可能是另一个具有实际数据的文件的偏移量? (只是猜测)