【发布时间】:2017-04-25 04:06:09
【问题描述】:
我正在尝试从 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 修复程序已经实现并且可以工作,但这里的测试代码已尽可能简化。
【问题讨论】:
-
你有没有发现,是哪一行导致了你所面临的错误?
-
在倒数第二行,catch() 记录了错误。
标签: javascript ios cordova meteor safari