DOM之外html5音频元素的多个源

DOM之外html5音频元素的多个源,html,audio,Html,Audio,我在DOM之外创建html5音频元素: var audio=新音频() $(音频).attr('src',ogg_路径) 但是我如何才能为不同的浏览器使用不同的资源呢?那么.attr('src',mp3\u路径)和ogg\u路径呢 我可以用html写 还有音频。有很多来源。但是在$(audio.attr('src')中,就我所见,它是唯一的src,而不是数组 感谢您的帮助不要使用“源”属性来指定音频文件,而是使用 因此,HTML不是: <audio src='/path/to/audi

我在DOM之外创建html5音频元素:

var audio=新音频()

$(音频).attr('src',ogg_路径)

但是我如何才能为不同的浏览器使用不同的资源呢?那么.attr('src',mp3\u路径)和ogg\u路径呢

我可以用html写

还有音频。有很多来源。但是在$(audio.attr('src')中,就我所见,它是唯一的src,而不是数组


感谢您的帮助

不要使用“源”属性来指定音频文件,而是使用

因此,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>
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"]);