WebAPP开发——H5标签audio(属性和API事件)
audio支持的格式
audio 定义音频 格式:mp3 wav ogg
mp3所有浏览器兼容
ogg safari不支持
wav 都支持
js 能帮助生成audio对象 new Audio(); 等同于HTML上面写上audio标签
chrom和Opera都不能直接播放 需要页面上元素交互
<button id='btn'>播放</button>
<script type="text/javascript">
//console.log(new Audio());
var myAudio = new Audio();
myAudio.src = 'data/imooc.wav';
btn.onclick = function(){
myAudio.play();
};
</script>2.audio标签属性

autoplay自动播放 只有Chrome和Opera不会自动播放,和video有 区别,有了静音属性也不会自动播放 muted静音 loop循环播放 width/height属性在标签内设置不起作用 ,需要css样式中进行设置
3.audioAPI事件

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<input type="button" id='ipt' name="" value='播放'>
<input type="button" id='pauseNode' name="" value='暂停'>
<div id='durationNode'></div>
<div id='currentNode'></div>
</head>
<body>
<!-- audio 标签 currentTime -->
<script type="text/javascript">
//生成出一个音频对象
var myAudio = new Audio();
//音频地址
myAudio.src = 'data/imooc.mp3';
//音频播放按钮
ipt.onclick = function(){
myAudio.play();
};
//音频暂停按钮
pauseNode.onclick = function(){
myAudio.pause();
};
//返回音频的长度
myAudio.addEventListener('canplay',function(){
durationNode.innerHTML = myAudio.duration;
});
myAudio.currentTime = '20';
//音频的设置和返回
setInterval(function(){
currentNode.innerHTML = myAudio.currentTime;
},100);
//音量的控制
myAudio.volume = '0.5';
</script>
</body>
</html>
currentSrc只能获取,不能设置
seeked seeking 在audio中触发频率相同
timeupdate 播放时触发的事件
volumechange 当音量改变的时候触发
requestFullscreen 全屏 必须使用audio标签 js生成的audio对象不支持
load 重新加载的函数 重新给个src也会重新加载
canplay 准备好的时候出发的事件
//ended
console.log(myAudio.ended)
myAudio.addEventListener('ended',function(){
console.log('音频播放结束');
console.log(myAudio.ended)
});
//loop 循环
myAudio.loop = true;
//playbackRate 设置倍速
myAudio.playbackRate = '15';
console.log(myAudio.playbackRate)
//timeupdate
myAudio.addEventListener('timeupdate',function(){
console.log('音频正在播放中...')
});
//seeked
myAudio.addEventListener('seeked',function(){
console.log('seeked');
sekNum++;
seekedNum.innerHTML = sekNum;
});
//seeking
myAudio.addEventListener('seeking',function(){
console.log('seeking');
sekingNum++;
seekingNum.innerHTML = sekingNum;
});
//volumechange
myAudio.addEventListener('volumechange',function(){
console.log('音频的声音改变了')
});
//全屏
btnScreen.onclick = function(){
myAudio.webkitRequestFullScreen();
};
loadBtn.onclick = function(){
myAudio.src='data/imooc.mp3';
//myAudio.load();
};————————————————
原文链接:https://blog.csdn.net/weixin_39089928/article/details/104406124

