我使用 Audio()
对象来在浏览器中播放一些声音文件。
var audio = new Audio(file);
audio.play()
声音文件可以来自 2 个不同的“地方”,并且格式略有不同。
当传递给 Audio
对象的 wav
文件具有以下属性(来自 Mac 上的“获取信息”)时,文件可以正确播放...
Sample rate: 8,000
Bits per sample: 16
Duration: 00:17
Audio Channels: 1
File size: 278KB
但是,当文件具有以下属性时,我什么也听不到,我在选项卡中看不到小扬声器图标,也没有控制台错误,就像什么也没发生一样。
Sample rate: 8,000
Duration: 00:29
Audio Channels: 1
File size: 31KB
注意:唯一的区别是第二个示例没有“每个样本的位数”值?另外,请注意文件大小,尽管有长度???
有人能解释一下吗?
注意:这与此问题无关... SO Link
最佳答案
每个样本的位数是播放音频所需的最重要因素之一。
每个样本的位数越多,精度就越高,从而可以更准确地表示源信号,从而产生更好的音频。
每个样本的位数越高,文件大小越大。
每个样本包含位数的那个可以毫无麻烦地工作。对于没有“每个样本位数”的声音,您听不到任何声音,因为您没有指定音频应该是什么样的。
一些真正有帮助的引用资料-
使用 JavaScript 自定义音频效果 Web Audio API
量化、采样率和 Bits Per Sample
关于javascript - HTML5 音频对象 - 支持哪些 WAV 格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34992520/