C++ webRTC c+中是否有自定义音频源的功能+;?

C++ webRTC c+中是否有自定义音频源的功能+;?,c++,webrtc,C++,Webrtc,我正在使用android应用程序本机代码,我正在使用一些音频文件和音频处理。我需要将音频数据(原始音频帧)发送到webRTC。但我找不到webRTC的任何API来添加自定义音频源(不是像麦克风这样的默认音频源) 我知道我需要添加AudioTrackInterface,为此我需要添加AudioSourceInterface。此方法适用于WebRTC版本66。它不是那么简单,也许不清楚,但它确实有效。我试图解释主要观点: 我继承了webrtc::AudioDeviceModule并重写了一些模拟“虚

我正在使用android应用程序本机代码,我正在使用一些音频文件和音频处理。我需要将音频数据(原始音频帧)发送到webRTC。但我找不到webRTC的任何API来添加自定义音频源(不是像麦克风这样的默认音频源)


我知道我需要添加AudioTrackInterface,为此我需要添加AudioSourceInterface。

此方法适用于WebRTC版本66。它不是那么简单,也许不清楚,但它确实有效。我试图解释主要观点:

我继承了webrtc::AudioDeviceModule并重写了一些模拟“虚拟音频设备”进行虚拟播放和录制的方法。在调用时,我只调用标准的
AudioDeviceModule
基本方法,并进行一些修改:

int16\u t PlayoutDevices()
=>调用base方法,但返回base+1

int16\u t RecordingDevices()
=>返回基数+1

int32\u t PlayoutDeviceName
=>返回我的虚拟设备名称和GUID

int32\u t RecordingDeviceName
=>返回我的虚拟设备名称和GUID

void SendFrameP
=>返回我的虚拟设备音频数据

void ReceiveFrameP
=>使用虚拟设备接收的音频数据

etc方法=>只需查看
webrtc::AudioDeviceModule
实现


然后,您可以使用自己的
AudioDeviceModule
作为
webrtc::CreatePeerConnectionFactory
功能的参数,提供音频数据作为录制设备,接收数据作为播放设备。

我认为此链接涉及与
音频处理相关的所有答案,无论是预处理还是后处理:,您也可以访问此参考: