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

AudioContext.createMediaStreamSource

基础库 1.34.0 开始支持本方法,低版本需做兼容处理。这是一个同步 API。

创建并返回一个新的 MediaStreamAudioSourceNode 对象节点,是作为音频源运行,该节点的输入源目前只能是来自于麦克风。

语法

AudioContext.createMediaStreamSource(steamId)

参数说明

属性类型必填说明
steamIdnumber创建麦克风获取到的流 id

返回值

MediaStreamAudioSourceNode

扫码体验

请使用字节宿主APP扫码

代码示例

async function main() {
  const streamID = await tt.requestMicrophone();
  const context = tt.getAudioContext();
  const sourceNode = context.createMediaStreamSource(streamID);
  sourceNode.isSampleSource = true; //设置该参数,可以在录屏时带上麦克风声音源

  /**
   * 检测音量以确认麦克风确实起效了
   */
  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();

/* 
  输出:
  [API: microphone] average volumn: 0.000010016467299465149
  [API: microphone] average volumn: 0.000004972311089659343
  ...
*/

Bug & Tip

暂无。

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