我对 iPad 和 Android Tables 等设备有疑问,您无法更改视频标签的音量,因为此设备不支持 Volume API。你知道我如何检测这是否不支持吗?
问问题
1030 次
1 回答
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 的经验。谁知道 Firefox 在 Android 手机或不同 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
是真的)。
于 2013-03-20T23:32:58.697 回答