2014-02-26 207 views
1

我正在開發一個基於jquery動畫的項目,它的動畫在桌面上運行良好(Firefox,Chrome,Opera,IE)也支持HTML 5音頻標籤,但是在Ipad/iphone/Android safari音頻標記不支持。它在Ipad/iphone/Android上運行良好firefox.i已在許多論壇中搜索過它沒有得到結果。我已經使用這個功能:safari瀏覽器不支持HTML5音頻標籤在iPad/iPhone,Android

function playmusic(file1,file2) 
{ 
    document.getElementById('music11').innerHTML='<audio id="music1"><source src="'+file1+'" type="audio/ogg"><source src="'+file2+'" type="audio/mpeg"></audio>'; 
    $("#music1").get(0).play(); 
} 

我已被調用的函數,如:playmusic(2.ogg」, '2.MP3'); 如果我給自動播放音頻標記它的工作原理,但玩的方法不工作,我必須使用遊戲的方法在我的應用程序需要的聲音在特定事件看到鏈接 http://solutions.hariomtech.com/jarmies/

我也改變了我的功能,並給予直接音頻在div中調用標籤並調用函數與我上面提到的相同問題。我需要在後臺沒有任何咔嗒聲的聲音播放。如果我使用自動播放方法,所以它只播放一次聲音,但我需要多次播放聲音。

回答

0

嘗試在音頻標籤添加autoplay屬性:

function playmusic(file1, file2) { 
    document.getElementById('music11').innerHTML='<audio autoplay id="music1"><source src="'+file1+'" type="audio/ogg"><source src="'+file2+'" type="audio/mpeg"></audio>'; 
} 

但我會建議建立一個適當的元素,並插入到DOM - 是這樣的:

function playmusic(file1, file2) { 

    var audio = document.createElement('audio'); 
    audio.preload = 'auto'; 
    audio.autoplay = true; 

    if (audio.canPlayType('audio/ogg')) { 
     audio.src = file1; 
    } 
    else if (audio.canPlayType('audio/mpg')) { 
     audio.src = file2; 
    } 

    document.getElementById('music11').appendChild(audio); 
}