【发布时间】:2019-06-09 23:34:56
【问题描述】:
晚上好。 我正在尝试在 Safari 的反应应用程序中实现播放 ogg-opus 音频(它不支持 .ogg 格式)。我使用 create-react-app 来初始化项目。
我找到了“ogv.js”库,它实际上有助于在几乎所有现代浏览器中播放音频文件。但实际上无法让它工作 (https://github.com/brion/ogv.js/issues/525)。
在所有导入之后,我要求在我的 PlayerComponent.js 文件的顶部
var ogv = require('ogv');
在那之后,在我的play() 函数中(它是从按钮的onClick 事件中调用的)我正在尝试播放我从 API 接收的 ogg 文件:
play = () => {
var player = new OGVPlayer();
var blob = new Blob([new Uint8Array(this.props.audioData)]);
player.src = URL.createObjectURL(blob);
player.play();
}
我收到以下错误:
ogv-demuxer-ogg-wasm.js?version=1.6.0-20190226222001-c4648f0:1 Uncaught SyntaxError: Unexpected token ogv.js:1586 Uncaught TypeError: n[e] 不是 ogv.js:4593 的 classWrapper (ogv.js:1586) 的函数 ogv.js:1590 at ogv.js:207 at Array.forEach () at HTMLScriptElement.done (ogv.js:206)
问题可能是某些库文件,尤其是“ogv-demuxer-ogg-wasm.js”无法正确加载。
任何帮助都会有所帮助,也许有人有解决方案以其他方式在 Safari 中播放 .ogg 文件。谢谢!
[更新] 找到解决方案,请在下方查看。
【问题讨论】:
-
嘿,OP,欢迎来到 SO。请通读asking guide 并包含一个特定的example 代码不起作用。
-
我的错,添加了无效的代码!
-
@AliceAlice 你如何用这个显示音频控件?用于播放/暂停。我还为此提出了一个问题:stackoverflow.com/questions/58970499/…
标签: javascript reactjs safari ogg