IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> HTML5(音视频,canvas画布,定位....) -> 正文阅读

[移动开发]HTML5(音视频,canvas画布,定位....)

音频与视频

HTML5提供了相关标签支持在网页中实现音频与视频的播放。

音频标签

音频标签支持的文件格式有:WAVMP3ogg

音频标签的简单使用方法:

<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:

  1. none 不预加载
  2. metadata 只预加载元数据
  3. 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
属性描述
audioTracks返回表示可用音轨的 AudioTrackList 对象
autoplay设置或返回是否在加载完成后随即播放音频/视频
buffered返回表示音频/视频已缓冲部分的 TimeRanges 对象
controller返回表示音频/视频当前媒体控制器的 MediaController 对象
controls设置或返回音频/视频是否显示控件(比如播放/暂停等)
crossOrigin设置或返回音频/视频的 CORS 设置
currentSrc返回当前音频/视频的 URL
currentTime设置或返回音频/视频中的当前播放位置(以秒计)
defaultMuted设置或返回音频/视频默认是否静音
defaultPlaybackRate设置或返回音频/视频的默认播放速度
duration返回当前音频/视频的长度(以秒计)
ended返回音频/视频的播放是否已结束
error返回表示音频/视频错误状态的 MediaError 对象
loop设置或返回音频/视频是否应在结束时重新播放
mediaGroup设置或返回音频/视频所属的组合(用于连接多个音频/视频元素)
muted设置或返回音频/视频是否静音
networkState返回音频/视频的当前网络状态
paused设置或返回音频/视频是否暂停
playbackRate设置或返回音频/视频播放的速度
played返回表示音频/视频已播放部分的 TimeRanges 对象
preload设置或返回音频/视频是否应该在页面加载后进行加载
readyState返回音频/视频当前的就绪状态
seekable返回表示音频/视频可寻址部分的 TimeRanges 对象
seeking返回用户是否正在音频/视频中进行查找
src设置或返回音频/视频元素的当前来源
startDate返回表示当前时间偏移的 Date 对象
textTracks返回表示可用文本轨道的 TextTrackList 对象
videoTracks返回表示可用视频轨道的 VideoTrackList 对象
volume设置或返回音频/视频的音量

HTML5 Audio/Video 方法

方法描述
play()开始播放音频/视频
pause()暂停当前播放的音频/视频

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操作画布上的任何一个像素,从而实现在网页中绘制图像。常用于:

  1. 网页特效。
  2. 网页游戏。
  3. 图形图表。

canvas的基本使用

<canvas id="cvs" width="640" height="360"></canvas>

绘制API

let cvs = document.getElementById('cvs')
let ctx = cvs.getContext('2d')    //  获取绘制Canvas所需要的Context对象
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对路径进行描边。若想要填充路径,需要先闭合路径。

绘制路径的基本写法

  1. 调用ctx.beginPath()开启一条新路径。
  2. 调用ctx.moveTo(x, y)将画笔移动到某一个坐标点。
  3. 调用ctx的相关方法(例如ctx.lineTo(x, y) )绘制路径。
  4. 路径绘制完毕后,调用stroke()fill()来进行描边或填充。
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:02:21  更:2022-03-21 21:06:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 20:09:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码