Javascript web audio api中的decodeAudioData在chrome和safari中提供不同的输出
我有一个应用程序,它获取存储在数据库中的音频数据,并将数据作为base64_编码的数据发送到浏览器,然后浏览器使用javascript将其转换为arrayBuffer,然后使用web audio api播放音频。它在chrome中工作正常,但在safari中音频不能完全播放。我调试发现,在chrome中使用webkitAudioContext对音频数据进行解码时,持续时间为2.45秒,在safari中为0.86399秒 代码: JSFIDLE上有完整的代码。Javascript web audio api中的decodeAudioData在chrome和safari中提供不同的输出,javascript,safari,web-audio-api,Javascript,Safari,Web Audio Api,我有一个应用程序,它获取存储在数据库中的音频数据,并将数据作为base64_编码的数据发送到浏览器,然后浏览器使用javascript将其转换为arrayBuffer,然后使用web audio api播放音频。它在chrome中工作正常,但在safari中音频不能完全播放。我调试发现,在chrome中使用webkitAudioContext对音频数据进行解码时,持续时间为2.45秒,在safari中为0.86399秒 代码: JSFIDLE上有完整的代码。 有人能帮我克服这个问题吗 可能相关
有人能帮我克服这个问题吗 可能相关:它可能与不同浏览器使用的WAV解码器有关。我再次检查返回的ArrayBuffer似乎具有相同的长度2844字节。所以这不应该是问题所在。
var arrayBuff = Base64Binary.decodeArrayBuffer(sound);
myAudioContext.decodeAudioData(arrayBuff, function(audioData) {
myBuffer = audioData;
alert(audioData.duration);
});