抖音开放平台Logo
控制台

AudioContext.createF0Detection
收藏
我的收藏

基础库 1.34.0 开始支持本方法,这是一个同步方法。

创建并返回一个新的 F0DetectionNode,F0DetectionNode 是一个用于获取输入源的音高检测数据。约 20ms 检测一次。音高数据最多保存 2 秒,每次调用获取的是最近 2s 的数据。

前提条件
业务背景
使用限制
注意事项

音高检测的范围目前为 0 到 采样率/30,开发者可以根据自己需要过滤特定范围内的音高数据

相关教程

语法

AudioContext.createF0Detection()

参数说明

返回值

类型说明最低支持版本
string

F0DetectionNode 对象实例

1.34.0

代码示例

// 1. 创建一个 AudioContext 和 Audio
const ctx = tt.getAudioContext();
const audio = ctx.createAudio();
audio.src = "xxxx.mp3";

const source = context.createMediaElementSource(audio);
const f0DetectionNode = context.createF0Detection();
source.connect(f0DetectionNode);
f0DetectionNode.connect(context.destination);

audio.oncanplay = () => {
  audio.play();
};

setInterval(() => {
  const data = f0DetectionNode.getF0DetectionData();
  console.log(`[API: audio] size of data: ${data.size}`);
  console.log(`[API: audio] time: ${data.time}`);
  console.log(`[API: audio] data: ${data.data}`);
}, 2000);