Ric*_*rdZ 2 safari html5-audio
以下代码由用户单击按钮触发。它适用于 Chrome 和 Firefox。它在 Safari (11.1) 中不起作用。
const blob = new Blob([binary], {type: 'audio/ogg'});
const audio = new Audio();
audio.src = URL.createObjectURL(blob);
audio.load();
audio.play();
Run Code Online (Sandbox Code Playgroud)
以下代码适用于所有 3 个浏览器:
const audio = new Audio();
audio.src = 'test.mp3';
audio.load();
audio.play();
Run Code Online (Sandbox Code Playgroud)
因此,问题出在 Safari 中的 URL.createObjectURL(blob) 上。audio.play() 抛出的 Safari console.log 错误是:
未处理的承诺拒绝:NotSupportedError:不支持该操作。
如果audio.play()被注释掉,则不会抛出错误。
谢谢
对于 mp3 类型,您应该使用 mime type audio/mpeg
。
let audioBlob = new Blob([blob], { type: 'audio/mpeg' });
audio.src = URL.createObjectURL(audioBlob);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3810 次 |
最近记录: |