我正在尝试在Javascript中创建HTML 5音频标记。我无法让它工作和预加载:
var audioElement = document.createElement('audio');
var source1 = document.createElement('source');
source1.type= 'audio/ogg';
source1.src= 'assets/audio/ost.ogg';
source1.setAttribute("preload","auto");
audioElement.appendChild(source1);
var source2 = document.createElement('source');
source2.type= 'audio/mpeg';
source2.src= 'assets/audio/ost.mp3';
source2.setAttribute("preload","auto");
audioElement.appendChild(source2);
audioElement.preload = auto;
audioElement.load();
有什么想法吗?
谢谢。
编辑:
这是我最终为任何想知道的人做的事情。适用于FF3.6,ff4,safari 5,ie9,chrome 11,opera 11.11(pc)
var audioElement = document.createElement('audio');
audioElement.setAttribute("preload", "auto");
audioElement.autobuffer = true;
var source1 = document.createElement('source');
source1.type= 'audio/ogg';
source1.src= 'assets/audio/ost.ogg';
audioElement.appendChild(source1);
var source2 = document.createElement('source');
source2.type= 'audio/mpeg';
source2.src= 'assets/audio/ost.mp3';
audioElement.appendChild(source2);
然后:
audioElement.load();
感谢您的帮助,凯文。
答案 0 :(得分:2)
<source>
个元素不能包含属性preload
,而您忘记在音频对象的preload属性周围添加引号。
因此,请从setAttribute('preload', 'auto')
个对象中移除sourceX
并在preload
属性周围加上引号,如下所示:
audioElement.preload = 'auto';