WebRTC Native M96 SDK接口封装--startAudioMixing播放音乐文件与麦克风采集声音混音

经和歌
2023-12-01

封装接口

使用WebRTC大概有两种方式,一种是把WebRTC当做一种库来用;另一种是把WebRTC当做一个框架,自己在上层封装代码。

不管怎么,做实时音视频SDK开发的,都需要封装接口,供给上层应用调用。

在国内,声网的用户比较多,社区做的也比较好,所以很多公司的RTC SDK的接口设计都会仿造声网。
这样做有很多的好处:

  • 不用自己写demo,直接使用agora的openlive。
  • 便于跟agora对标,向agora看齐,无论是产品功能上,还是音视频质量上。
  • 对于上层接入来说,如果做到接口一样,那么不管使用agora sdk还是使用其他厂商的rtc sdk,只需要改变家长的库,不需要改动接口调用的代码。

之前分享了一些关于音频的blog,今天就先小试牛刀,我们封装一个startAudioMixing接口,用于播放本地音频文件,并发送给远端。

startAudioMixing接口

virtual int agora::rtc::IRtcEngine::startAudioMixing    (const char * filePath, bool loopback, bool replace, int cycle )

指定本地或在线音频文件来和麦克风采集的音频流进行混音和替换。替换是指用音频文件替换录音设备采集的音频流。该方法可以选择是否让对方听到本地播 放的音频并指定循环播放的次数。成功调用该方法后,本地会触发 onAudioMixingStateChanged (PLAY) 回调。播放结束后, 会收到

 类似资料: