gpt4 book ai didi

safari - 如何让 URL.createObjectURL(blob) 在 Safari 中工作

转载 作者:行者123 更新时间:2023-12-01 22:06:26 47 4
gpt4 key购买 nike

以下代码由用户点击按钮触发。它适用于 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();

以下代码适用于所有 3 种浏览器:

const audio = new Audio();
audio.src = 'test.mp3';
audio.load();
audio.play();

因此,问题出在 Safari 中的 URL.createObjectURL(blob) 上。 audio.play() 抛出的 Safari console.log 错误是:

Unhandled Promise Rejection: NotSupportedError: The operation is not supported.

如果 audio.play() 被注释掉,则不会抛出任何错误。

谢谢

最佳答案

对于mp3类型,你应该使用mime类型audio/mpeg

let audioBlob = new Blob([blob], { type: 'audio/mpeg' });
audio.src = URL.createObjectURL(audioBlob);

关于safari - 如何让 URL.createObjectURL(blob) 在 Safari 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51485755/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com