audio标签详解(属性+js操作+生命周期+播放事件)

本文详细介绍了HTML5中的<audio/>标签,包括支持的音频格式(mp3,wav,ogg),各种属性如src,controls,autoplay,loop,preload的用法,以及JavaScript操作音频的方法如currentTime,duration,volume等。同时,文章还提及了audio加载的生命周期和播放事件,以及解决.m4a文件播放问题的策略。
摘要由CSDN通过智能技术生成

<audio/>标签详解

用来展示音频文件。目前支持的三种音频格式文件:mp3,wav和ogg;

音频格式及浏览器支持

在这里插入图片描述

属性:

src:用来指定音乐的路径。

<audio src=""/>

controls:用来显示是否显示默认的音乐面板。

<audio src="" controls/>
<audio src="" controls="controls"/>

autoplay:页面加载时自动播放音频(现在已被大部分浏览器废弃,只有页面有点击操作以后才能播放音频文件)
loop:存在此属性则开启循环播放。

<audio src="" controls loop/>

preload:设定音频的预加载方式
=“auto”:自动加载,页面加载后载入整个音频;
=“metadata”:自动加载,页面加载后只载入源数据;
=“none”:不自动加载。
!!!手机端的preload会被无视。

<audio src="" controls loop preload="none"/>

js操作(注释部分是解释,没注释部分是使用方法):

<body>
		<audio src="audio.mp3" controls loop preload="none" id="audioTag"/>
	</body>
	<script>
	// 拿到audio标签
	var audioTag=document.getElementById("audioTag");
	//currentTime:获取当前播放时间,单位是秒s,可读可写
	console.log(audioTag.currentTime);
	//duration:音频总时长,单位是秒s,注意在load()方法之前,duration的值是NaN,只读
	console.log(audioTag.duration);
	//volume:音量,返还当前音量,最小是0,最大是1。可读可写
	audioTag.volumn+=0.1;
	//playbackRate:播放速率,返还播放速度,值是速度的倍率门最大播放速度根据内核的不同而有所不同,正常来说2倍够用了。可读可写
	audioTag.playbackRate=2;
	//play():播放音频,由于autoplay()被取消以后,有的同学可能会想在window.onload里面用play(),但是不行哦,会报错。现在强制要求用户与页面互动之后才能播放音频文件哦~
	audioTag.play();
	//pause():暂停正在播放的音乐
	audioTag.pause();
	//load():设置preload的属性值
	audioTag.load("none");
	</script>

audio加载的生命周期:

<script>
	audioTag.addEventListener('loadstart',function(){//事件});
</script>

loadstart:开始加载;
durationchange:时长改变;
loadedmetadata:源数据加载完毕;
loadeddata:数据开始加载;
progress:加载中;
canplay:音频可以播放的状态;
canplaythrough:可以播放整个音频,音频播放加载完全完成了;

播放事件:

timeupdate:时间更新,指的是currentTime,最频繁的是“每250毫秒触发一次”;
waiting:等待中,由于没有数据而导致展厅时播放;
playing:播放中,从waiting状态转换到可以播放的状态时触发;
play:播放,play()方法被调用时触发;
pause:暂停,pause()方法被调用时触发;
ended:结束,音频播放完毕后触发;
volumechange:音量改变;

以上的个人整理出来的关于audio的文件处理。如果还有觉得改进的地方或者是遇到什么问题可以联系本人。

下面这个是本人整理有关audio文件无法播放.m4a文件的解决方法

关于解决audio文件无法播放.m4a文件的解决方法

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要修改audio标签的样式,可以使用CSS来实现。首先,给audio标签添加一个class或者id,方便在CSS中选择该标签。例如,给该标签添加class为"myAudio"。 然后,在CSS中使用选择器 .myAudio 来选择该标签,并设置相应的样式属性。以下是一些常用的样式修改方法: 1. 修改播放器的宽度和高度: .myAudio { width: 300px; /*设置宽度为300像素*/ height: 50px; /*设置高度为50像素*/ } 2. 修改播放按钮的样式: .myAudio::-webkit-media-controls-start-playback-button { background-color: red; /*设置播放按钮背景颜色为红色*/ color: white; /*设置播放按钮文字颜色为白色*/ } .myAudio::-webkit-media-controls-end-playback-button { background-color: blue; /*设置暂停按钮背景颜色为蓝色*/ color: white; /*设置暂停按钮文字颜色为白色*/ } 3. 隐藏音量控制按钮: .myAudio::-webkit-media-controls-volume-slider { display: none; /*隐藏音量控制按钮*/ } 4. 修改进度条的样式: .myAudio::-webkit-media-controls-play-button { background-color: yellow; /*设置进度条颜色为黄色*/ } .myAudio::-webkit-media-controls-seek-back-button { background-color: green; /*设置进度条拖拽按钮颜色为绿色*/ } 5. 修改音频控制面板的背景颜色: .myAudio::-webkit-media-controls-panel { background-color: gray; /*设置控制面板背景颜色为灰色*/ } 通过以上方法,可以对audio标签的样式进行修改,实现自定义的外观效果。记得在HTML文件中引入自定义的CSS文件或者直接将上述代码放入style标签内。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸡不敢说自己菜鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值