答案 0 :(得分:2)
我能想到的最好的是:
function volumeChangeSupported () {
var ua = navigator.userAgent.toLowerCase();
// got information from jplayer:
var noVolume = /ipad|iphone|ipod|android|blackberry|windows ce|windows phone|webos|playbook/.exec(ua);
if (noVolume) {
if (noVolume[0] === 'android' && /gecko/.test(ua)) {
// Firefox on android DOES support changing the volume:
return true;
}
else {
return false;
}
}
return true;
}
这并不能真正“检测”支持更改音量。我从jPlayer部分获得了这些信息,部分来自我自己在旧的Android 3平板电脑上测试Firefox 19的经验。谁知道Android手机上的Firefox或不同的Android版本是否表现不同。
但在此之前,我试图像这样检测音量变化支持:
function volumeChangeSupported () {
var audio = new Audio();
audio.volume = 0.5;
return audio.volume === 0.5;
}
这为iPhone Safari和Android Firefox产生了正确的结果,但不适用于其他Android浏览器(“Android浏览器”和“Dolphin”,它们无法更改音量但audio.volume === 0.5
为真)