2012-09-06 197 views
1

我有一個問題 像iPad和Android的一些設備你不能改變視頻標籤音量因爲這個設備上不支持音量API。喲一個想法如何我可以檢測,如果這不是支持?HTML5視頻標籤音量支持

回答

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瀏覽器」和「海豚「,它不能改變音量,但有audio.volume === 0.5爲真)。