【发布时间】:2013-03-27 05:37:52
【问题描述】:
背景: 我正在解析 Riff/Wave 文件。有 documentation 标识 Riff 块中的 FourCC 值。以下是波形文件更重要的块。
两个 .wav 特定块的 FourCC ID:
Chunk ID "fmt " (0x666D7420)
Chunk ID "data" (0x64617461)
所以,这些 fmt 值应该是相等的:
string "fmt "
Hex "666D7420"
int "1718449184"
而且,这些数据值应该是相等的:
string "data"
Hex "64617461"
int "1684108385"
现在,当我读入有效的 .wav 文件时,FourCC fmtChunkID fmt int 总是:
fmt int:
int "544501094"
而数据 int 总是:
data int:
int "1635017060"
问题: 为什么记录的 Hex 值与我从流中返回的 int 不匹配?我猜我对 Hex 到 Int 的转换一无所知。
额外: 我在网上找到了具有可疑 fmt 值“1718449184”的 .wav 解析器代码。但我发现更多 fmt 值“544501094”。最后,谷歌搜索“1718449184 AND 544501094”;什么都没有。
感谢您的帮助。
【问题讨论】:
标签: parsing hex wave chunks riff