Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript web audio api中的decodeAudioData在chrome和safari中提供不同的输出_Javascript_Safari_Web Audio Api - Fatal编程技术网

Javascript web audio api中的decodeAudioData在chrome和safari中提供不同的输出

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上有完整的代码。 有人能帮我克服这个问题吗 可能相关

我有一个应用程序,它获取存储在数据库中的音频数据,并将数据作为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);
});