音频与视频
HTML5 提供了相关标签支持在网页中实现音频与视频的播放。
音频标签
音频标签支持的文件格式有:WAV 、MP3 、ogg 。
音频标签的简单使用方法:
<audio src="../assets/xxxx.mp3" controls></audio>
音频标签的标准使用方法:
<audio controls>
<source src="xxx.mp3" type="audio/mpeg"/>
<source src="xxx.wav" type="audio/wav"/>
<source src="xxx.ogg" type="audio/ogg"/>
什么破浏览器,换一个吧~
</audio>
audio 的常用属性
<audio controls 是否显示播放器控制面板
src=""
autoplay 是否在加载完毕后自动播放
muted 是否静音
loop 是否单曲循环
preload="预加载模式"></audio>
preload :
none 不预加载metadata 只预加载元数据auto 尽可能的加载音频数据
视频标签
简写方式:
<video src="" 视频文件的链接路径
controls
autoplay
muted
loop
width="" 视频播放器的宽度
height="" 视频播放器的高度
poster="" 海报帧图片路径
></video>
音视频相关的DOM 操作
我们可以通过Javascript 获取音视频的DOM 对象。
可以通过访问对象的属性,调用对象的方法来访问音视频播放状态,控制音视频的播放。
<audio id="audio" src="./let.mp3"></audio>
<script>
let audio = document.getElementById('audio')
audio.duration 属性 返回时长
audio.play() 方法 播放视频
</script>
查看DOM 相关文档:
https://www.w3school.com.cn/tags/html_ref_audio_video_dom.asp
HTML5 Audio/Video 属性
let audio = document.getElementById('audio')
audio.currentTime
audio.duration
HTML5 Audio/Video 方法
HTML5 Audio/Video 事件
audio.addEventListener('abort', function (){
当音频/视频的加载已放弃时执行
})
audio.addEventListener('play', function(){
})
audio.addEventListener('pause', function(){
})
事件 | 描述 |
---|
abort | 当音频/视频的加载已放弃时 | canplay | 当浏览器可以播放音频/视频时 | canplaythrough | 当浏览器可在不因缓冲而停顿的情况下进行播放时 | durationchange | 当音频/视频的时长已更改时 | emptied | 当目前的播放列表为空时 | ended | 当目前的播放列表已结束时 | error | 当在音频/视频加载期间发生错误时 | loadeddata | 当浏览器已加载音频/视频的当前帧时 | loadedmetadata | 当浏览器已加载音频/视频的元数据时 | loadstart | 当浏览器开始查找音频/视频时 | pause | 当音频/视频已暂停时 | play | 当音频/视频已开始或不再暂停时 | playing | 当音频/视频在已因缓冲而暂停或停止后已就绪时 | progress | 当浏览器正在下载音频/视频时 | ratechange | 当音频/视频的播放速度已更改时 | seeked | 当用户已移动/跳跃到音频/视频中的新位置时 | seeking | 当用户开始移动/跳跃到音频/视频中的新位置时 | stalled | 当浏览器尝试获取媒体数据,但数据不可用时 | suspend | 当浏览器刻意不获取媒体数据时 | timeupdate | 当目前的播放位置已更改时 | volumechange | 当音量已更改时 | waiting | 当视频由于需要缓冲下一帧而停止 |
实现简易音乐播放器
https://neteasecloudmusicapi.vercel.app/#/?id=license
Canvas
canvas 意为“画布”。我们可以使用javascript 操作画布上的任何一个像素,从而实现在网页中绘制图像。常用于:
- 网页特效。
- 网页游戏。
- 图形图表。
canvas 的基本使用
<canvas id="cvs" width="640" height="360"></canvas>
绘制API :
let cvs = document.getElementById('cvs')
let ctx = cvs.getContext('2d')
ctx.fillStyle = 'red'
ctx.fillRect()
绘制填充
ctx.fillStyle = 'red'
ctx.fillRect(x, y, width, height)
绘制描边
ctx.strokeStyle = 'blue'
ctx.strokeRect(x, y, width, height)
绘制文本
ctx.font = '24px 微软雅黑'
ctx.fillText('文本内容', x, y)
ctx.strokeText('文本内容', x, y)
Canvas 路径
什么是路径?
将一些连续的点按照顺序连接起来所形成的图形称为路径。 路径没有颜色,可以通过API对路径进行描边。若想要填充路径,需要先闭合路径。
绘制路径的基本写法
- 调用
ctx.beginPath() 开启一条新路径。 - 调用
ctx.moveTo(x, y) 将画笔移动到某一个坐标点。 - 调用ctx的相关方法(例如
ctx.lineTo(x, y) )绘制路径。 - 路径绘制完毕后,调用
stroke() 或fill() 来进行描边或填充。
|