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

tt.requestMicrophone

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

说明

向端上发出麦克风请求,调起麦克风功能。

输出

返回一个 Promise<number> 对象,其中数字是一个 stream ID。

示例

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);

  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

  • 对于一些声音类游戏,比如声控游戏,需要在录屏分享时带上麦克风声音,请参考 AudioContext.createMediaStreamSource 方法使用
  • tt.requestMicrophone API 在游戏整个生命周期过程中,应当只被调用一次,如果需要暂停恢复,请配合 tt.pauseMicroPhone 和 tt.resumeMicrophone 使用
点击纠错
该文档是否对你的开发有所帮助?
有帮助
没帮助
该文档是否对你的开发有所帮助?
有帮助
没帮助