使用createElement而不是getElementById动态创建音频元素

时间:2012-06-10 04:41:56

标签: javascript html html5 html5-audio

我有一些javascript,运行方式如下:

document.getElementById("audio").innerHTML = ("<audio id=\"player\" src=\"data:audio/x-wav;base64,"+encode64(wav)+"\">");
return document.getElementById("player");

我想将其更改为:

audio = document.createElement("audio");
audio.src = "data:audio/x-wav;base64,"+encode64(wav)+"\">";
document.body.appendChild(audio);
return audio;

但是,这不会以同样的方式起作用。为什么在使用play方法返回元素时这实际上不等同?

2 个答案:

答案 0 :(得分:2)

src不应包含关闭标记部分:

//                                                  ↓↓↓↓↓↓
audio.src = "data:audio/x-wav;base64,"+encode64(wav)+"\">";

答案 1 :(得分:0)

最后额外"\">"

audio.src = "data:audio/x-wav;base64,"+encode64(wav)+"\">";