我试图在Samsung Galaxy SII 4G上使用最新版Chrome(34.0.1847.114)中的AudioContext(),但由于某种原因,AudioContext()不存在,webkitAudioContext也不存在。完全相同的代码在Nexus 5和较旧的手机(如Galaxy Nexus)上完全正常,但不是SII。某些设备不支持HTML5音频吗?如果没有,任何人都可以解释原因或指向我关于AudioContext支持的一些文档吗?
确切代码我使用:
window.AudioContext = window.AudioContext || window.webkitAudioContext;
context = new AudioContext();
同样,这在其他Android手机上运行得非常好。在S2上我得到" Uncaught TypeError:undefined不是函数"。
答案 0 :(得分:9)
Webaudio API仍然是一个工作草案。在此处查看support list。
显然并非所有的Android设备都准备好了......见here for an example。 与任何新的(令人兴奋的)功能一样,您需要在设备上使用它们之前测试支持:
var contextClass = (window.AudioContext ||
window.webkitAudioContext ||
window.mozAudioContext ||
window.oAudioContext ||
window.msAudioContext);
if (contextClass) {
// Web Audio API is available.
var context = new contextClass();
} else {
// Web Audio API is not available. Fallback
}
答案 1 :(得分:1)
这取决于您使用的浏览器。 Android Native浏览器不支持Web Audio,但最新的Chrome是最新设备上的默认浏览器支持。
我在SoundJS上工作,这可以让你构建可以在任何地方使用的音频。
希望有所帮助。