在 Edge 和 Safari (emscripten) 中使用 SDL_mixer 播放 .ogg 文件
Posted
技术标签:
【中文标题】在 Edge 和 Safari (emscripten) 中使用 SDL_mixer 播放 .ogg 文件【英文标题】:Play .ogg file with SDL_mixer in Edge and Safari (emscripten) 【发布时间】:2016-06-01 09:43:59 【问题描述】:我创建了一个程序,它使用 (SDL2) SDL_mixer
播放 .ogg
声音文件。
它适用于 Chrome、Firefox 和 Opera。但它在 MS Edge 和 Safari 中不起作用,因为缺少 ogg 声音支持。
我已将此命令添加到emcc
,应该可以解决此问题:
-s USE_OGG=1
但是还是不行。
如何使 .ogg
声音文件在 Edge(和 Safari)中工作?
【问题讨论】:
似乎正在进行中。 github.com/kripken/emscripten/issues/3985 【参考方案1】:你不能。
在撰写本文时,both Safari and MS Edge won't support .ogg,正如您所提到的。
由于 Emscripten 编译为 javascript,您最好找到一种方法让您的代码接受 Safari 和 MS Edge 支持的另一个音频扩展(回退),例如 .mp3 或 .m4a AAC(这是 mp4 的音频组件)。
【讨论】:
我不是 Emscripten 的专家,但如果它的代码编译成 web 技术,目前不可能让 .ogg 扩展在 Safari 和 Edge 上工作,他们根本不支持它。也许您公开的代码允许您在支持的地方启用 .ogg,但它不能强制浏览器识别它。你最好再寻找一个备用方案。 如果.ogg
在浏览器中可用,那么它可以在没有 -s USE_OGG=1
的情况下工作以上是关于在 Edge 和 Safari (emscripten) 中使用 SDL_mixer 播放 .ogg 文件的主要内容,如果未能解决你的问题,请参考以下文章
在 Edge 和 Safari (emscripten) 中使用 SDL_mixer 播放 .ogg 文件
在 Chrome、Safari 和 Edge 中显示 flex 对齐不正确,但在 Firefox 中正确
浏览器各个版本和系统(chrome/safari/edge/qq/360)
IE、Edge 和 Safari 中 document.querySelectorAll 的兼容性
Http/2 站点仅在 Safari 9 上无法加载 - 在 Chrome、IE、Edge、Firefox 上加载正常
在 Safari、Firefox 和 Edge VS Chrome 上带有(溢出-y)滚动的 flexbox 的不同行为