开发
API

RecorderManager.onFrameRecorded

监听已录制完指定帧大小的文件事件。如果设置了 frameSize,则会回调此事件,不设置则没有此回调。

语法

RecorderManager.onFrameRecorded(callback)

参数说明

Function callback

代码示例

<button type="primary" bindtap="startRecord">开始录音</button>
<view tt:if="{{frameNum > 0}}">接收到的帧数:{{frameNum}}</view>
// index.js
Page({
  data: {
    frameNum: 0,
  },
  startRecord() {
    const recorderManager = tt.getRecorderManager();
    const options = {
      duration: 60000,
      sampleRate: 12000,
      numberOfChannels: 1,
      encodeBitRate: 25000,
      frameSize: 100,
    };
    recorderManager.start(options);
    tt.showToast({ title: "开始录音" });
    recorderManager.onFrameRecorded((frame) => {
      let { isLastFrame } = frame;
      this.setData({
        frameNum: this.data.frameNum + 1,
      });
      isLastFrame && tt.showToast({ title: "录音结束" });
    });
  },
});

Bug & Tip

  • Tip: 若设置的 frameSize 大于整个音频的大小,则在音频结束时一次性输出。
点击纠错
评价此篇文档