浏览器通过原生JS实现音频播放控制功能

一. AudioContext介绍

  • AudioContext接口表示由链接在一起的音频模块构建的音频处理图,每个模块由一个AudioNode表示。音频上下文控制它包含的节点的创建和音频处理或解码的执行。在做任何其他操作之前,您需要创建一个AudioContext对象,因为所有事情都是在上下文中发生的。建议创建一个AudioContext对象并复用它,而不是每次初始化一个新的AudioContext对象,并且可以对多个不同的音频源和管道同时使用一个AudioContext对象。详情
  • AudioContext 兼容写法
createAudioContext() {
   
  if (!window.AudioContext) {
   
    window.AudioContext = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.msAudioContext;
  }
  return new window.AudioContext();
}

二. FileReader介绍

  • FileReader 对象允许Web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容,使用 File 或 Blob 对象指定要读取的文件或数据。详情
  • FileReader使用模板
let fileReader = new FileReader();
fileReader.onabort= (e) => {
    在读取操作被中断时触发的操作 };
fileReader.onloadstart = (e) => {
    在读取操作开始时触发的操作 };
fileReader.onload = (e) => {
    在读取操作完成时触发的操作 };
fileReader.onerror= (e) => {
    在读取操作发生错误时触发的操作 };
fileReader.onloadend= (e) => {
    在读取操作结束时(要么成功,要么失败)触发的操作 };
fileReader.abort(); // 终止操作.
fileReader.readAsArrayBuffer(data); // 读取指定的 Blob中的内容, 一旦完成, result 属性中保存的将是被读取文件的 ArrayBuffer 数据对象.
fileReader.readAsText(); // 读取指定的Blob中的内容。一旦完成,result属性中将包含一个字符串以表示所读取的文件内容。
...... // 等等其他操作

三. 音频播放执行流程

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值