使用WebRTC大概有两种方式,一种是把WebRTC当做一种库来用;另一种是把WebRTC当做一个框架,自己在上层封装代码。
不管怎么,做实时音视频SDK开发的,都需要封装接口,供给上层应用调用。
在国内,声网的用户比较多,社区做的也比较好,所以很多公司的RTC SDK的接口设计都会仿造声网。
这样做有很多的好处:
之前分享了一些关于音频的blog,今天就先小试牛刀,我们封装一个startAudioMixing接口,用于播放本地音频文件,并发送给远端。
virtual int agora::rtc::IRtcEngine::startAudioMixing (const char * filePath, bool loopback, bool replace, int cycle )
指定本地或在线音频文件来和麦克风采集的音频流进行混音和替换。替换是指用音频文件替换录音设备采集的音频流。该方法可以选择是否让对方听到本地播 放的音频并指定循环播放的次数。成功调用该方法后,本地会触发 onAudioMixingStateChanged (PLAY) 回调。播放结束后, 会收到