普通小游戏开发
API
开放能力
数据分析
视频拍摄器
多端支持

tt.resumeMicrophone

基础库 2.4.0 开始支持本方法,低版本需做

说明

恢复对系统麦克风的使用,调用该 API 后,会再次获取麦克风设备的权限。

输出

示例

async function main() {
  const streamID = await tt.requestMicrophone();
  const context = tt.getAudioContext();
  const sourceNode = context.createMediaStreamSource(streamID);
  // sourceNode.connect(context.destination);

  /**
   * 检测音量以确认麦克风确实起效了
   */
  const volumeDetectionNode = context.createVolumeDetection();
  sourceNode.connect(volumeDetectionNode);
  volumeDetectionNode.connect(context.destination);

  setTimeout(() => {
    //这里5秒后,会停止麦克风的使用,释放麦克风权限,下面的日志打印应该会输出默认值
    tt.pauseMicrophone();
    setTimeout(() => {
      //这里5秒后,会再次获取麦克风权限,恢复麦克风使用
      tt.resumeMicrophone();
    }, 5000);
  }, 5000);

  setInterval(() => {
    const { size, data } = volumeDetectionNode.getVolumeDetectionData();
    const averageVolume =
      data.reduce((prev, volume) => prev + volume, 0) / size;
    console.log(`[API: microphone] average volumn: ${averageVolume}`);
  }, 2000);
}

main();

Bug && Tip

  • 相应的 tt.requestMicrophone API 在游戏整个生命周期过程中,应当只被调用一次,如果需要暂停恢复,请配合 tt.pauseMicroPhone 和 tt.resumeMicrophone 使用
点击纠错
评价此篇文档