• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

javascript - 不支持来自 blob 的 Safari Audio.play()

[复制链接]
菜鸟教程小白 发表于 2022-12-11 18:18:48 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试从 safari 的缓存中播放 m4a 文件。该错误首先发生在 iOS 上(它是 Meteor Cordova 应用程序,因此它使用 Safari Webview),然后我意识到它也可以在桌面上的 Safari 中重现。我正在使用以下代码来尝试播放音频:

LocalForage.getItem(track_id, (err, value)=>{
    if(err)
        throw err;
    //the loaded value is an arraybuffer of an m4a file
    let blob = new Blob([value]);
    let url = (window.URL || window.webkitURL || window || {}).createObjectURL(blob);
    let testAudio = new Audio(url);
    testAudio.play().then(()=>{console.log("play successful")}).catch((err)=>{console.error(err)});
});

我得到的唯一错误信息是

DOMError: NotSupportedError (Message: "This operation is not supported")

如果您对用于下载到缓存中的代码感兴趣,可以找到in my other question ,那里提供的 chrome 修复程序已经实现并且可以正常工作,但是这里的测试代码已经尽可能的简化了。



Best Answer-推荐答案


这是正常行为。 Localstorage 在隐私浏览模式下被 safari 阻止。

关于javascript - 不支持来自 blob 的 Safari Audio.play(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41064463/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap