普通小游戏开发
开放能力(必读)
社交转发裂变
数据分析
视频拍摄器
API
多端支持

AudioContext.decodeAudioData

基础库 1.34.0 开始支持本方法,低版本需做兼容处理

用于异步解码音频文件, 并以 ArrayBuffer 的形式返回音频文件中的内容。该方法返回一个 Promise 对象。

其中,音频文件数据可以通过 XMLHttpRequest 来获取。解码得到的 AudioBuffer 的数据可以通过 AudioBufferSourceNode 进行播放。

语法

AudioContext.decodeAudioData(audioData)

参数说明

属性类型必填说明
audioDataArrayBuffer要解码的音频数据

返回值

解码完成后返回的 ArrayBuffer 格式的数据。

代码示例

开发者工具中预览

//  创建一个 AudioContext
const ctx = tt.getAudioContext();
let request = new XMLHttpRequest();
request.open("GET", "test.ogg", true);
request.responseType = "arraybuffer";

request.onload = function () {
  let audioData = request.response;
  ctx
    .decodeAudioData(audioData)
    .then((audioBuffer) => {
      console.log(audioBuffer);
      const source = ctx.createBufferSource();
      source.buffer = audioBuffer;
      source.connect(ctx.destination);
      source.loop = true;
      source.start();
      source.onended = function () {
        console.log("onended called", this);
      };
    })
    .catch((err) => {
      console.error("解码出错", err);
    });
};

request.send();

Bug & Tip

暂无。

点击纠错
该文档是否对你的开发有所帮助?
有帮助
没帮助
该文档是否对你的开发有所帮助?
有帮助
没帮助