2014-10-10 80 views
0

我試圖在一個HTML 5音頻標記中播放不同瀏覽器的三種文件格式。無法使用javascript將音頻格式添加到音頻標記

function setAudioSource(source){ 
     var audioTag = document.getElementById("myAudio"); 
     console.log(source); 
     audioTag.src = source + ".wav"; 
     audioTag.type = "audio/wav"; 
     console.log(source + ".wav"); 
     audioTag.src = source + ".mp3"; 
     audioTag.type = "audio/mp3"; 
     console.log(source + ".mp3"); 
     audioTag.src = source + ".aac"; 
     audioTag.type = "audio/aac"; 
     console.log(source + ".aac"); 
    } 

音頻標籤只選擇.aac文件而不是wav或mp3文件。它不播放wav或mp3文件如果.aac音頻不存在

+0

因爲它總是以.aac結尾,因爲這是您設置的最後一件事,請參閱:[如何以編程方式將多個源添加到HTML5音頻標記?](http:// stackoverflow .COM /問題/ 4053262 /如何-可以-I-附加多源到一個HTML5的音頻標籤,在程序上) – 2014-10-10 11:15:36

回答

0

那麼,你需要創建<source>節點並追加它。截至目前,您正在覆蓋同一個節點。

var audioTag = document.getElementById("myAudio"); 
var wavSrc = document.createElement('source'); 
wavSrc.src = source + ".wav"; 
wavSrc.type = "audio/wav"; 
audioTag.appendChild(wavSrc);