加入频道前的 API 调用

最近更新时间:2022-09-20 05:17:40

本文主要介绍加入频道 joinChannel 之前的 API 调用。在加入频道前,通常只需要调用一两个 API 即可实现音视频通信功能,如果你的场景有特殊的要求,可以参考本文的介绍进行设置。

如无特别说明,本文内容适用于 anyRTC RTC Native SDK。

设置日志文件

我们建议在初始化引擎后立即调用 setLogFile 设置日志文件,搭配 setLogFileSizesetLogFilter 设置日志文件大小和输出等级,这样能够保证 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.加入频道前不要同时调用 enableLocalVideoenableVideo,两个方法都调用会导致摄像头打开两次以及加入频道时间变长。 2.因为 enableVideo 方法会重置整个视频引擎,加入频道之后我们建议用精细控制的 API 关闭或打开视频。

在加入频道前调用 startPreview 可以加快本地首帧出图时间,如果调用了 startPreview,在 destroy 之前必须调用 stopPreview

加入频道前调用setVideoEncoderConfiguration方法设置分辨率,有助于第一针出图速度。