音频相关

一、有部分手机,通过Audio标签创建音频对象,在canplaythrough之后,立马之行play,播放失败。原因是duration没有获取到,必须要通过监听durationchange事件,才能执行播放。
var audio = new Audio();
audio.addEventListener('canplaythrough', function () {
    if (audio.duration) {
        audio.play();
    } else {
    // html5 audio存在一个bug
        audio.addEventListener('durationchange', function (e) {
            audio.play();
        });
    }
}, false);
二、自动播放的坑

为了实现能自动播发:

var audio = new Audio();
if ($.os.ios) {
    document.body.addEventListener('touchstart', function (e) {
        audio.play();
    }, false);
} else {
      audio.play();
}

你可能感兴趣的:(音频相关)