You need to enable JavaScript to run this app.
文档中心
实时音视频

实时音视频

复制全文
下载 pdf
获取原始音频数据
Web 端获取原始音频数据
复制全文
下载 pdf
Web 端获取原始音频数据
本文主要介绍如何通过 RTC Web SDK 获取格式为 PCM 的原始音频数据,以便进行二次处理,例如本地录制、内容审核等。​
适用场景​
  • 本地音频录制:将自己或远端的音频数据保存为本地文件。​
  • 客户端内容审核:将获取的音频数据交给第三方服务进行实时内容审核。​
  • 自定义音频处理:对音频数据进行变声、降噪等自定义处理。​
功能实现​
1. 创建引擎并开启音频采集​
创建和初始化一个音视频引擎类。​
如果你需要获取远端的音频数据,还需要加入房间并发布音频流,参考 实现音视频通话 获取详细步骤。​
​
// appId 为你的应用 ID​
const engine = VERTC.createEngine(appId);​
await engine.startAudioCapture(); // 开启本地音频设备采集​
​
2. 开启回调​
定义一个用于处理音频数据的回调函数,SDK 会在获取到每一帧音频数据时调用此函数。然后调用 setAudioFrameCallback 方法,将您定义的回调函数注册到 SDK。​
​
// 定义一个用于处理音频数据的回调函数​
const callback = (data: AudioFrameData) => {​
console.log('AudioFrameData', data);​
}​
​
// 开启本地主流的回调​
engine.setAudioFrameCallback(​
StreamIndex.STREAM_INDEX_MAIN, ​
/* userId */undefined, // userId 为空表示获取本地音频,获取远端数据时需指定 userId​
callback, ​
frameSize​
);​
// 开启远端主流的回调​
// engine.setAudioFrameCallback(StreamIndex.STREAM_INDEX_MAIN, userId, callback, frameSize);​
​
3. 停止获取数据​
不再需要获取音频数据时,再次调用 setAudioFrameCallback 并将回调函数参数设为 undefined 来取消注册,以节省性能。​
​
// 关闭本地主流的回调​
engine.setAudioFrameCallback(​
StreamIndex.STREAM_INDEX_MAIN, ​
/* userId */undefined, ​
/* callback */undefined, ​
frameSize​
);​
​
// 关闭远端主流的回调​
// engine.setAudioFrameCallback(StreamIndex.STREAM_INDEX_MAIN, userId, /* callback */undefined, frameSize); ​
​
4. 销毁引擎​
通话结束后,销毁音视频引擎以释放资源。​
如果用户已经进入房间,则需要在销毁所有房间实例后再销毁音视频引擎。​
​
// 销毁引擎​
engine.destroy();​
​
API​
​
功能​
Web​
设置并开启指定的音频数据帧回调​
​
​
最近更新时间:2026.08.05 19:25:48
这个页面对您有帮助吗?
有用
有用
无用
无用