RIFF WAV 文件中是否保证格式参数的字节序?我听到了相互矛盾的答案,包括对RIFX文件格式的引用。
问问题
5757 次
1 回答
19
是的。
如果文件以 RIFF 开头,那么它是小端。如果它以 FFIR 或 RIFX 开头,则可能不是。通常,支持 WAV 格式意味着支持 RIFF 文件,尽管添加 RIFX 支持应该不难。
BWF(广播波形格式)的 AES31 规范引用了 RIFF 的此规范:http ://www.tactilemedia.com/info/MCI_Control_Info.html
由此:
RIFF 有一个对应物 RIFX,用于定义使用 Motorola 整数字节排序格式而不是 Intel 格式的 RIFF 文件格式。RIFX 文件与 RIFF 文件相同,只是前四个字节是“RIFX”而不是“RIFF”,并且整数字节顺序以摩托罗拉格式表示。
您引用的 KVR 文章是指作者在大端系统(摩托罗拉 PPC)上错误使用 int*,它将检索字节交换值。在编写跨端代码时,始终需要注意正确处理字节交换。
如果磁盘上文件的第 0 个字节是“R”,第 3 个字节是“F”,则可以确定其余内容将以小端方式存储。
RIFX 没有被广泛使用。大多数大端 RIFF 实现将字节交换到磁盘,并生成正确的 RIFF 文件。
于 2009-07-10T19:45:19.657 回答