本文主要介绍加入频道 joinChannel
之前的 API 调用。在加入频道前,通常只需要调用一两个 API 即可实现音视频通信功能,如果你的场景有特殊的要求,可以参考本文的介绍进行设置。
如无特别说明,本文内容适用于 anyRTC RTC Native SDK。
设置日志文件
我们建议在初始化引擎后立即调用 setLogFile
设置日志文件,搭配 setLogFileSize
、setLogFilter
设置日志文件大小和输出等级,这样能够保证 SDK 输入日志信息的完整性,方便根据日志排查问题,详见如何设置日志文件。
音频设置
进入频道后如果不想让其他用户听到自己的声音:在加入频道前调用 muteLocalAudioStream
不发送本地音频流。
如果你的场景有高音质需求(例如音乐教学场景),建议在加入频道前调用 setAudioProfile
,并将 profile
参数设置为 MUSIC_HIGH_QUALITY
(4),scenario
参数设置为 GAME_STREAMING
(3),更多的设置可以参考 设置音频属性。
不同平台的枚举名称可能略有不同,请根据实际情况进行调整。
如果你的环境很嘈杂,或者通信设备离得很近,在加入频道前调用私有方法开启 AI 降噪,可有效过滤噪音保留人声并解决进场通信啸叫的问题。调用方法如下:
arEngine->setParameters("{\"Cmd\":\"SetAudioAiNoise\", \"Enable\": 1}");
视频设置
SDK 默认关闭视频功能,如果要使用视频模块,在加入频道之前调用 enableVideo
开启全局的视频功能。
enableVideo
会开启本地视频采集、编码、发送和远端视频接收,如果需要更精细的控制,可以调用以下 API:
enableLocalVideo
:开启/关闭本地视频采集。muteLocalVideoStream
:停止/恢复发送本地视频流。muteRemoteVideoStream
:停止/恢复接收指定视频流。muteAllRemoteVideoStreams
:停止/恢复接收所有视频流。
注意事项:
1.加入频道前不要同时调用 enableLocalVideo
和 enableVideo
,两个方法都调用会导致摄像头打开两次以及加入频道时间变长。
2.因为 enableVideo
方法会重置整个视频引擎,加入频道之后我们建议用精细控制的 API 关闭或打开视频。
在加入频道前调用 startPreview
可以加快本地首帧出图时间,如果调用了 startPreview
,在 destroy
之前必须调用 stopPreview
。
加入频道前调用setVideoEncoderConfiguration
方法设置分辨率,有助于第一针出图速度。