AudioContext.createF0Detection
基础库 1.34.0 开始支持本方法,低版本需做兼容处理。这是一个同步 API。
创建并返回一个新的 F0DetectionNode,F0DetectionNode 是一个用于获取输入源的音高检测数据。约 20ms 检测一次。音高数据最多保存 2 秒,每次调用获取的是最近 2s 的数据。
语法
AudioContext.createF0Detection()
参数说明
无
返回值
代码示例
// 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);
Bug & Tip
- Tip:音高检测的范围目前为 0 到 采样率/30,开发者可以根据自己需要过滤特定范围内的音高数据。
点击纠错
该文档是否对你的开发有所帮助?
有帮助
没帮助
该文档是否对你的开发有所帮助?
有帮助
没帮助