javascript - 如果 HTML5 不可用,SoundManager2 能否使用 Flash 作为相同声音的备份?

标签 javascript html audio soundmanager2

SoundManager2 看起来很棒,但我希望使用 solo HTML5 以外的东西的主要原因是兼容性。我希望 SM2 做的是使用 HTML5 音频(如果可用),否则回退到 Flash(对于相同的声音)。看起来应该可以,但是我还没有想出怎么做。

例如,我会创建一个名为“moo”的声音并链接到该声音文件。然后 SM2 将查看它是否可以使用 HTML5 播放该声音。如果没有,它会加载 Flash 来播放声音。从我的应用程序的 Angular 来看,我应该只请求播放“moo”,SM2 会负责确保它播放。

我怀疑我可能需要生成不止一种格式的音频剪辑(可能是 HTML5 的 .ogg 和 Flash 的 MP3?)。如果需要,我可以这样做。

或者,我可以使用自己的 JavaScript 代码来检测浏览器是否能够使用 HTML5 播放声音并将不同的配置传递给 SM2,但我更喜欢更简洁的方法。

提前致谢:-)

最佳答案

是的,SM2 使用了 Flash 回退:

Using HTML5 and Flash, SoundManager 2 provides reliable cross-platform audio under a single JavaScript API

SM2 和 jPlayer 都会给你想要的,这只是归结为 API 偏好。

一般来说,如果跨浏览器兼容性对您来说至关重要,我会选择 jPlayer - SM2 对于 HTML5 音频世界来说相对较新。如果您乐于使用 Flash 并想要更高级的功能,例如访问音频的原始样本(用于构建电平表或可视化)。

关于javascript - 如果 HTML5 不可用,SoundManager2 能否使用 Flash 作为相同声音的备份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9811897/

相关文章:

javascript - 无法使用 requirejs 加载插件 jquery-visible

javascript - 如何从 HTML 页面中删除所有 JavaScript?

c++ - 使用QtAudioOutput处理大型QByteArray会导致std::bad_alloc

python - Windows或Mac上没有终端的Python Bell声音

javascript - 运行示例 Reapp 项目时出错

javascript - 在JQuery中使用switch语句时如何将元素数据传递到case中?

javascript - 我如何水平滚动到页面中的下一篇文章(或 # 等)?

javascript - 通过 jquery 禁用按钮

javascript - 替换 observableArray?

ios - 歌曲不会在 slider 拖动 iOS 上快进