![]() |
1
2
“唯一的不同”是一个巨大的不同。
The WAV format
默认情况下,将样本存储为带符号的小端16位整数。所以,当你写一个数组
但是当你写一个数组
或者,也可以使用非默认WAV格式。你没有展示足够的代码来展示你是如何处理这个问题的,但是你可以用各种不同的格式编写WAV文件,从8位无符号整数到32位浮点,32位有符号整数是一种有效的格式。WAV文件甚至可以处理压缩(包括MP3)。 但不太常见的格式可能并不适用于所有工具;许多程序假定WAV是16位整数,不知道如何处理其他任何东西。 所以,你最好写16位整数。 或者,也许你已经在用正确的头写32位int值了,也许你的播放器处理得很好。 但是你写的是-32768和32767之间的32位int值。这意味着你只使用了动态范围的1/65536,所以一切都会非常安静。如果要写入32位int值,则需要将其规格化为32位int范围,而不是16位int范围。
所有这些问题的最简单解决方案是:将值转换回
|
![]() |
jalal · 32位wav PCM中的Android录制不工作 7 年前 |
![]() |
pseudoabdul · 在.WAV文件中计算“开始时间” 7 年前 |
|
Jay Juarez · C: WAV文件未在“rb”中打开 7 年前 |