我在DOM之外创建html5音频元素:
var audio = new Audio();
$(audio).attr('src',ogg_path);
但我如何为不同的浏览器使用几种不同的来源? .attr('src',mp3_path)和ogg_path怎么样?
在html中我可以写
和audio.has_many_sources。但是在$(audio).attr('src')是唯一的src,而不是Array,唉,据我所见。
感谢您的帮助
答案 0 :(得分:1)
请勿使用source属性指定音频文件,而应使用source element。
因此,而不是HTML:
<audio src='/path/to/audio.ogg' />
使用:
<audio>
<source src='/path/to/audio.ogg' type='audio/ogg' />
<source src='/path/to/audio.mp3' type='audio/mpeg' />
</audio>
快速(非jquery)生成此方法:
function createAudio(sources) {
var audio = document.createElement('audio');
for (var i in sources) {
var source = document.createElement('source');
source.src = sources[i];
source.type = sources[i].match(/ogg$/) ? 'audio/ogg' : 'audio/mp3';
audio.appendChild(source);
}
return audio;
}
var yourNewAudioElement = createAudio(["/path/to/audio.ogg", "/path/to/audio.mp3"]);