实时音视频传输过程中,Agora SDK 通常会启动默认的音视频模块进行采集和渲染。在以下场景中,你可能会发现默认的音视频模块无法满足开发需求:
本文介绍如何使用 Agora Web SDK 在项目中实现自定义的音频采集。
在开始自定义音频采集前,请确保你已在项目中实现了基本的音视频通话或直播功能,详见开始音视频通话或开始互动直播。
在创建音频流 createStream
时,通过 audioSource
指定自定义的音频源,就可以实现自定义音频采集。例如,你可以通过 mediaStream
方法从 MediaStreamTrack
获得音频 track,然后指定 audioSource
:
navigator.mediaDevices.getUserMedia(
{video: false, audio: true}
).then(function(mediaStream){
var audioSource = mediaStream.getAudioTracks()[0];
// After processing audioSource
var localStream = AgoraRTC.createStream({
video: false,
audio: true,
audioSource: audioSource
});
localStream.init(function(){
client.publish(localStream, function(e){
//...
});
});
});
同时,我们在 GitHub 提供一个开源的 AgoraAudioIO-Web-Webpack 示例项目。你可以下载体验,或查看 rtc-client.js 文件中的源代码。