• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

audio常用的事件和方法

武飞扬头像
偷懒的付程序猿
帮助1

audio

属性

可读写属性: 

src: 播放文件地址

autoplay: 基于用户体验角度 各大浏览器禁止自动播放

controls: 控制器显示

muted: 是否静音

loop: 是否循环播放

currentSrc: 当前播放地址

currentTime: 当前播放时长 单位 s

duration: 音频时长 单位 s

volume: 音乐音量 [0, 1] 最小值 0 最大值 1

playbackRate: 播放速度

只读属性: 

paused: 音乐是否暂停播放 true--暂停 false--播放

ended: 音乐是否结束播放 true--结束 false--没有结束 设置了loop 音频重复循环播放 不会结束()

  1.  
    <!DOCTYPE html>
  2.  
    <html lang="en">
  3.  
    <head>
  4.  
    <meta charset="UTF-8">
  5.  
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.  
    <title>Document</title>
  8.  
    </head>
  9.  
    <body>
  10.  
    <button>更改播放地址</button>
  11.  
    <button>从50%开始播放</button>
  12.  
    <button>静音</button>
  13.  
    <button>0.5</button>
  14.  
    <button>1</button>
  15.  
    <button>2</button>
  16.  
    <button>开始播放</button>
  17.  
    <button>结束播放</button>
  18.  
    <button>播放速度 0.1</button>
  19.  
    <button>播放速度 1</button>
  20.  
    <button>播放速度 10</button>
  21.  
    <br>
  22.  
     
  23.  
    <audio src="./李学仕-直觉.mp3" controls autoplay></audio>
  24.  
     
  25.  
    </body>
  26.  
    </html>
学新通
  1.  
    // 获取元素
  2.  
    var audio = document.querySelector('audio');
  3.  
     
  4.  
    // 获取属性
  5.  
    console.log(audio.src);
  6.  
    audio.autoplay = false;
  7.  
    console.log(audio.autoplay);
  8.  
    // audio.controls = false;
  9.  
    console.log(audio.controls);
  10.  
    // audio.muted = true;
  11.  
    console.log(audio.muted);
  12.  
    audio.loop = true;
  13.  
    console.log(audio.loop);
  14.  
    console.log(audio.currentSrc);
  15.  
    console.log(audio.currentTime);
  16.  
    console.log(audio.duration);
  17.  
    console.log(audio.volume); // 音乐音量 [0, 1] 最小值 0 最大值 1
  18.  
    console.log(audio.paused); // 音乐是否暂停播放 true--暂停 false--播放
  19.  
    console.log(audio.ended); // 音乐是否结束播放 true--结束 false--没有结束 设置了loop 音频重复循环播放 不会结束
  20.  
    console.log(audio.playbackRate); // 播放速度
  21.  
     
  22.  
    btns[0].onclick = function () {
  23.  
    audio.src = './金玟岐-岁月神偷 (Demo).mp3';
  24.  
    };
  25.  
     
  26.  
    btns[1].onclick = function () {
  27.  
    audio.currentTime = audio.duration / 2;
  28.  
    };
  29.  
     
  30.  
    btns[2].onclick = function () {
  31.  
    audio.volume = 0;
  32.  
    };
  33.  
     
  34.  
    btns[3].onclick = function () {
  35.  
    audio.volume = 0.5;
  36.  
    };
  37.  
     
  38.  
    btns[4].onclick = function () {
  39.  
    audio.volume = 1;
  40.  
    };
  41.  
     
  42.  
    btns[5].onclick = function () {
  43.  
    // 报错: The volume provided (2) is outside the range [0, 1]. 音量只能设置[0,1]之间的值
  44.  
    audio.volume = 2;
  45.  
    };
  46.  
     
  47.  
    btns[8].onclick = function () {
  48.  
    audio.playbackRate = 0.1;
  49.  
    };
  50.  
     
  51.  
    btns[9].onclick = function () {
  52.  
    audio.playbackRate = 1;
  53.  
    };
  54.  
     
  55.  
    btns[10].onclick = function () {
  56.  
    audio.playbackRate = 10;
  57.  
    };
学新通

方法

load: 重新加载音频

pause: 暂停播放

play: 播放音乐

  1.  
    btns[6].onclick = function () {
  2.  
    audio.load(); // 重新加载音频
  3.  
    audio.play(); // 播放音乐
  4.  
    };
  5.  
     
  6.  
    btns[7].onclick = function () {
  7.  
    audio.pause(); // 暂停播放
  8.  
    };

事件

oncanplay: 音频可以播放事件(缓冲已足够开始时)

oncanplaythrough: 音频可以不缓冲直接从头执行到尾

ondurationchange: 当媒体时长被改变

ontimeupdate: 播放时间更新的事件

onended: 当音频结束播放事件

onpause: 当音频播放暂停事件

onvolumechange: 当音量发生改变时触发

  1.  
    // 当音量改变时
  2.  
    audio.onvolumechange = function () {
  3.  
    console.log(audio.volume);
  4.  
    };
  5.  
     
  6.  
    // 音频可以播放事件
  7.  
    audio.oncanplay = function () {
  8.  
    console.log(audio.currentSrc);
  9.  
    console.log(audio.duration);
  10.  
    };
  11.  
     
  12.  
    // 播放时间更新的事件
  13.  
    audio.ontimeupdate = function () {
  14.  
    console.log(audio.currentTime);
  15.  
    console.log(audio.paused);
  16.  
    };
  17.  
     
  18.  
    // 当音频结束播放事件
  19.  
    audio.onended = function () {
  20.  
    console.log(audio.ended);
  21.  
    };
  22.  
     
  23.  
     
  24.  
    // 当音频播放暂停事件
  25.  
    audio.onpause = function () {
  26.  
    console.log(audio.paused);
  27.  
    };
学新通

望各位不吝赐教。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgffaaj
系列文章
更多 icon
同类精品
更多 icon
继续加载