【问题标题】:Is there any function for custom audio source in webRTC c++?webRTC c++中有自定义音频源的功能吗?
【发布时间】:2019-01-15 16:52:05
【问题描述】:

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

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

【问题讨论】:

标签: c++ webrtc


【解决方案1】:

此方法适用于 WebRTC 66 版。它不是那么简单,也许不清楚,但它确实有效。我试着解释一下主要思想:

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

int16_t PlayoutDevices() => 调用 base 方法,但返回 base + 1

int16_t RecordingDevices() => 返回基数 + 1

int32_t PlayoutDeviceName => 返回我的虚拟设备名称和 GUID

int32_t RecordingDeviceName => 返回我的虚拟设备名称和 GUID

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

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

等方法 => 看看webrtc::AudioDeviceModule 的实现。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-24
    • 2012-07-18
    • 2019-02-20
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 2018-10-22
    • 1970-01-01
    相关资源
    最近更新 更多