Safari - HTML5音频

时间:2011-08-03 20:37:04

标签: html5 audio safari

我正在使用javascript动态填充带有源信息的音频标签。在Chrome中运行良好,但在Safari中,源信息会在音频标签内发生变化,但它会播放相同的歌曲。关于为什么会发生这种情况的任何想法?

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

2 个答案:

答案 0 :(得分:3)

在Safari中,当您更改源时,您还必须在音频播放器上调用.load()以使其实际加载新源。

其他浏览器似乎不需要它。

答案 1 :(得分:0)

您是否尝试重新创建节点?

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);

或者你可以使用jQuery