HTML5 Audio 音频

前言

  • 直到现在,仍然不存在一项旨在网页上播放音频的标准。

  • 今天,大多数音频是通过插件(比如 Flash)来播放的。然而,并非所有浏览器都拥有同样的插件。

  • HTML5 规定了在网页上嵌入音频元素的标准,即使用 audio 元素。

标签 描述 备注 🔗
<audio> </audio> 定义了声音内容 H5 新加 🔗
<source /> 定义了 media 元素的多媒体资源(<video><audio>) H5 新加 🔗
<track /> 规定 media 元素的字幕文件或其他包含文本的文件 (<video><audio>) H5 新加 🔗

1、实例

  • 实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <!DOCTYPE html>

    <html>

    <head>
    <meta charset="utf-8" />
    <title>Qian Chia 工作室</title>
    </head>

    <body>
    <audio controls>
    <source
    src="https://demo.qianchia.com/media/audio/demo1.mp3"
    type="audio/mpeg" />

    您的浏览器不支持 HTML5 audio 元素。
    </audio>
    </body>

    </html>
  • 效果

  • 解析

    • controls 属性供添加播放、暂停和音量控件。

    • <audio></audio> 之间你需要插入浏览器不支持的 <audio> 元素的提示文本。

    • <audio> 元素允许使用多个 <source> 元素。<source> 元素可以链接不同的音频文件,浏览器将使用第一个支持的音频文件。

2、音频格式

  • 目前 <audio> 元素支持三种音频格式文件: MP3,Wav 和 Ogg。
格式 MIME-type 描述
MP3 audio/mpeg
Ogg audio/ogg
Wav audio/wav
  • 浏览器对视频格式的支持
浏览器 MP3 Wav Ogg
Internet Explorer 9+ YES NO NO
Chrome 6+ YES YES YES
Firefox 3.6+ YES YES YES
Safari 5+ YES YES NO
Opera 10+ YES YES YES

3、属性

3.1 < audio > 标签属性

属性 描述 备注 🔗
autoplay autoplay 如果出现该属性,则音频在就绪后马上播放 H5 新加 🔗
controls controls 如果出现该属性,则向用户显示音频控件(比如播放/暂停按钮) H5 新加 🔗
loop loop 如果出现该属性,则每当音频结束时重新开始播放 H5 新加 🔗
muted muted 如果出现该属性,则音频输出为静音 H5 新加 🔗
preload auto
metadata
none
规定当网页加载时,音频是否默认被加载以及如何被加载 H5 新加 🔗
src URL 规定音频文件的 URL H5 新加 🔗

3.2 < source > 标签属性

属性 描述 备注 🔗
media media_query 规定媒体资源的类型,供浏览器决定是否下载 H5 新加 🔗
src URL 规定媒体文件的 URL H5 新加 🔗
type MIME_type 规定媒体资源的 MIME 类型 H5 新加 🔗

3.3 < track > 标签属性

属性 描述 备注 🔗
default default 规定该轨道是默认的。如果用户没有选择任何轨道,则使用默认轨道 H5 新加 🔗
kind captions
chapters
descriptions
metadata
subtitles
规定文本轨道的文本类型 H5 新加 🔗
label text 规定文本轨道的标签和标题 H5 新加 🔗
src URL 必需的。规定轨道文件的 URL H5 新加 🔗
srclang language_code 规定轨道文本数据的语言。如果 kind 属性值是 “subtitles”,则该属性是必需的 H5 新加 🔗

4、DOM 属性、方法、事件

  • HTML5 DOM 为 <audio><video> 元素提供了方法、属性和事件。

  • 这些方法、属性和事件允许您使用 JavaScript 来操作 <audio><video> 元素。

4.1 音频/视频 属性

属性 描述 备注 🔗
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 设置或返回音频/视频的音量 🔗

4.2 音频/视频 方法

方法 描述 备注 🔗
addTextTrack() 向音频/视频添加新的文本轨道 🔗
canPlayType() 检测浏览器是否能播放指定的音频/视频类型 🔗
load() 重新加载音频/视频元素 🔗
play() 开始播放音频/视频 🔗
pause() 暂停当前播放的音频/视频 🔗

4.3 音频/视频 事件

事件 描述 备注 🔗
abort 当音频/视频的加载已放弃时触发 🔗
canplay 当浏览器可以开始播放音频/视频时触发 🔗
canplaythrough 当浏览器可在不因缓冲而停顿的情况下进行播放时触发 🔗
durationchange 当音频/视频的时长已更改时触发 🔗
emptied 当目前的播放列表为空时触发
ended 当目前的播放列表已结束时触发 🔗
error 当在音频/视频加载期间发生错误时触发 🔗
loadeddata 当浏览器已加载音频/视频的当前帧时触发 🔗
loadedmetadata 当浏览器已加载音频/视频的元数据时触发 🔗
loadstart 当浏览器开始查找音频/视频时触发 🔗
pause 当音频/视频已暂停时触发 🔗
play 当音频/视频已开始或不再暂停时触发 🔗
playing 当音频/视频在因缓冲而暂停或停止后已就绪时触发 🔗
progress 当浏览器正在下载音频/视频时触发 🔗
ratechange 当音频/视频的播放速度已更改时触发 🔗
seeked 当用户已移动/跳跃到音频/视频中的新位置时触发 🔗
seeking 当用户开始移动/跳跃到音频/视频中的新位置时触发 🔗
stalled 当浏览器尝试获取媒体数据,但数据不可用时触发 🔗
suspend 当浏览器刻意不获取媒体数据时触发 🔗
timeupdate 当目前的播放位置已更改时触发 🔗
volumechange 当音量已更改时触发 🔗
waiting 当视频由于需要缓冲下一帧而停止时触发 🔗

5、浏览器支持

  • Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 支持 audio。

  • 注意: Internet Explorer 8 或者更早的 IE 版本不支持 audio 元素。

文章目录
  1. 1. 前言
  2. 2. 1、实例
  3. 3. 2、音频格式
  4. 4. 3、属性
    1. 4.1. 3.1 < audio > 标签属性
    2. 4.2. 3.2 < source > 标签属性
    3. 4.3. 3.3 < track > 标签属性
  5. 5. 4、DOM 属性、方法、事件
    1. 5.1. 4.1 音频/视频 属性
    2. 5.2. 4.2 音频/视频 方法
    3. 5.3. 4.3 音频/视频 事件
  6. 6. 5、浏览器支持
隐藏目录