HTML5视频标签卷支持

时间:2012-09-06 13:41:13

标签: html5 video volume

我有一个问题 在某些设备上,如iPad和Android表,你无法更改视频标签的音量,因为此设备不支持Volume API。你知道如何检测这是不是支持吗?

1 个答案:

答案 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为真)