开发者

Safari - HTML5 Audio

I'm using ja开发者_JS百科vascript to dynamically populate the audio tag with source info. Works fine in Chrome, but in Safari the source info changes within the audio tag and yet it plays the same song. Any ideas as to why this would be happening?

http://www.chicagowebguru.com/HTML5Player/


In Safari, when you change the source, you also have to call .load() on the audio player to get it to actually load the new source.

Other browsers don't need this it seems.


Have you tried recreating the node?

document.removeChild(document.getElementById("audio-player");

var dynamicAudio = document.createElement("audio");
dynamicAudio.name = "audio-player";
dynamicAudio.id = "audio-player";
var dynamicSound1 = document.createElement("source");
var dynamicSound2 = document.createElement("source");
var dynamicSound3 = document.createElement("source");
dynamicSound1.src = "http://www.chicagowebguru.com/audio/RainbowConnection.mp3";
dynamicSound2.src = "http://www.chicagowebguru.com/audio/RainbowConnection.ogg";
dynamicSound3.src = "http://www.chicagowebguru.com/audio/RainbowConnection.wav";
dynamicAudio.appendChild(dynamicSound1);
dynamicAudio.appendChild(dynamicSound2);
dynamicAudio.appendChild(dynamicSound3);

refNode = document.getElementById("message-container");
document.body.insertBefore(dynamicAudio,refNode.nextSibling);

or you could use jQuery maybe

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜