QNRTC
- initRTC
- deinit
- createRTCClient[1/2]
- createRTCClient[2/2]
- createCDNStreamingClient
- createMicrophoneAudioTrack[1/2]
- createMicrophoneAudioTrack[2/2]
- createCustomAudioTrack[1/2]
- createCustomAudioTrack[2/2]
- createCameraVideoTrack[1/2]
- createCameraVideoTrack[2/2]
- createScreenVideoTrack[1/2]
- createScreenVideoTrack[2/2]
- createCustomVideoTrack[1/2]
- createCustomVideoTrack[2/2]
- createMediaRecorder
- createMediaPlayer
- createAudioMusicMixer
- destroyAudioMusicMixer
- createAudioEffectMixer
- destroyAudioEffectMixer
- createAudioSourceMixer
- destroyAudioSourceMixer
- setRTCDelegate
- setAudioRouteToSpeakerphone
- setSpeakerphoneMuted
- speakerphoneMuted
- setAudioScene
- enableFileLogging
- setLogLevel
- setLogConfig
- uploadLog[1/2]
- uploadLog[2/2]
- versionInfo
- + (void)initRTC:(QNRTCConfiguration *)configuration;
-
使用默认配置初始化 SDK
在使用 SDK 接口前,请务必先调用该接口进行 RTC 环境的初始化
Parameters-
configuration: QNRTCConfiguration
QNRTC 的配置
-
- + (void)deinit;
-
反初始化操作
在确认不再使用 RTC SDK 后调用此接口释放其占用的资源,此后再次使用 SDK 需重新调用 initRTC 方法
- + (QNRTCClient *)createRTCClient;
-
创建 QNRTCClient 对象,且全局只可存在一个
Returns RTC 管理对象
- + (QNRTCClient *)createRTCClient:(QNClientConfig *)clientConfig;
-
通过指定一个 QNClientConfig 来创建 QNRTCClient 对象,且全局只可存在一个
其中,QNClientConfig 用于指定音视频通话的具体场景以及对应的用户角色,默认使用场景为 QNClientModeRTC
Returns RTC 管理对象
- + (QNCDNStreamingClient *)createCDNStreamingClient;
-
创建 QNCDNStreamingClient 实例对象
Returns QNCDNStreamingClient
- + (QNMicrophoneAudioTrack *)createMicrophoneAudioTrack;
-
创建一个默认的麦克风音频轨道对象,默认 tag 为 ""
本地音频 Track 只可存在一个,重复创建会返回 nil
Returns QNMicrophoneAudioTrack
- + (QNMicrophoneAudioTrack *)createMicrophoneAudioTrackWithConfig:(QNMicrophoneAudioTrackConfig *)configuration;
-
通过指定一个 QNMicrophoneAudioTrackConfig 来创建一个麦克风音频轨道对象
本地音频 Track 只可存在一个,重复创建会返回 nil
Parameters-
configuration: QNMicrophoneAudioTrackConfig
采集音频的配置,可指定音频质量码率
Returns QNMicrophoneAudioTrack -
- + (QNCustomAudioTrack *)createCustomAudioTrack;
-
创建一个默认的自定义音频轨道对象,默认 tag 为 ""
本地音频 Track 只可存在一个,重复创建会返回 nil
Returns QNCustomAudioTrack
- + (QNCustomAudioTrack *)createCustomAudioTrackWithConfig:(QNCustomAudioTrackConfig *)configuration;
-
通过指定一个 QNCustomAudioTrackConfig 来创建一个自定义音频轨道对象
本地音频 Track 只可存在一个,重复创建会返回 nil
Parameters-
configuration: QNCustomAudioTrackConfig
采集音频的配置,可指定音频质量等级
Returns QNCustomAudioTrack -
- + (QNCameraVideoTrack *)createCameraVideoTrack;
-
创建一个默认的摄像头视频轨道对象,默认 tag 为 "",默认前置、编码尺寸 480x640、24 帧、码率为 600kbps、关闭大小流
Returns QNCameraVideoTrack
- + (QNCameraVideoTrack *)createCameraVideoTrackWithConfig:(QNCameraVideoTrackConfig *)configuration;
-
通过指定一个 QNCameraVideoTrackConfig 来创建一个摄像头视频轨道对象
Parameters-
configuration: QNCameraVideoTrackConfig
摄像头 Track 的配置,可设置视频的采集配置、编码配置等
Returns QNCameraVideoTrack -
- + (QNScreenVideoTrack *)createScreenVideoTrack;
-
创建一个默认的屏幕录制轨道对象,默认 tag 为 "",默认码率为 600kbps
Returns QNScreenVideoTrack
- + (QNScreenVideoTrack *)createScreenVideoTrackWithConfig:(QNScreenVideoTrackConfig *)configuration;
-
通过指定一个 QNScreenVideoTrackConfig 来创建一个屏幕录制轨道对象
Parameters-
configuration: QNScreenVideoTrackConfig
屏幕录制 Track 的配置,可设置视频的编码配置与开关大小流功能
Returns QNScreenVideoTrack -
- + (QNCustomVideoTrack *)createCustomVideoTrack;
-
创建一个默认的自定义视频采集轨道对象,默认 tag 为 "",默认码率为 600kbps
Returns QNCustomVideoTrack
- + (QNCustomVideoTrack *)createCustomVideoTrackWithConfig:(QNCustomVideoTrackConfig *)configuration;
-
通过指定一个 QNCustomVideoTrackConfig 来创建自定义视频采集轨道对象
Parameters-
configuration: QNCustomVideoTrackConfig
自定义视频采集 Track 的配置,可设置视频的编码配置与开关大小流功能
Returns QNCustomVideoTrack -
- + (QNMediaRecorder *)createMediaRecorder;
-
创建音视频本地录制对象
Returns QNMediaRecorder
- + (QNMediaPlayer *)createMediaPlayer;
-
创建媒体播放器对象
Returns QNMediaPlayer
- + (QNAudioMusicMixer *)createAudioMusicMixer:(NSString *)musicPath musicMixerDelegate:(id<QNAudioMusicMixerDelegate>)musicMixerDelegate;
-
创建背景音乐混音对象实例
音频格式支持 aac、mp3、mp4、wav、m4r、caf、ogg、opus、m4a、flac
1. 背景音乐混音仅支持同时混合一路背景音乐,若需要切换背景音乐,重新调用本接口创建 QNAudioMusicMixer 即可
2. 建议使用本地文件进行混音,以避免网络环境差引起的混音异常
3. 若您希望在混合背景音乐的同时添加音效,可参考音效混音相关接口 QNAudioEffectMixer
Parameters-
musicPath: NSString
音乐文件地址
-
musicMixerDelegate: QNAudioMusicMixerDelegate
背景音乐混音代理
Returns QNAudioMusicMixer -
- - (void)destroyAudioMusicMixer;
-
销毁背景音乐混音类
- + (QNAudioEffectMixer *)createAudioEffectMixer:(id<QNAudioEffectMixerDelegate>)effectMixerDelegate;
-
创建音效混音对象实例
音效混音支持同时混合多路音效文件
Parameters-
effectMixerDelegate: QNAudioEffectMixerDelegate
音效混音代理
Returns 音效混音对象实例 -
- - (void)destroyAudioEffectMixer;
-
销毁多音效混音类
- + (QNAudioSourceMixer *)createAudioSourceMixer:(id<QNAudioSourceMixerDelegate>)sourceMixerDelegate;
-
创建音源混音对象实例
音源混音支持同时混合多路 PCM 音频裸数据
Parameters-
sourceMixerDelegate: QNAudioSourceMixerDelegate
音源混音代理
Returns 音源混音对象实例 -
- - (void)destroyAudioSourceMixer;
-
销毁多音源混音类
- + (void)setRTCDelegate:(id <QNRTCDelegate>)delegate;
-
设置 QNRTCDelegate 代理回调。
Parameters-
delegate: QNRTCDelegate
QNRTCDelegate 代理回调
-
- + (void)setAudioRouteToSpeakerphone:(BOOL)audioRouteToSpeakerphone;
-
设置是否将音频路由切换到扬声器,默认为 YES,即音频路由为扬声器。
在未佩戴耳机且音频路由为扬声器的情况下,设置为 NO 之后,会将音频路由切换到听筒。
由于系统原因,在某些设备(如 iPhone XS Max、iPhone 8 Plus)上,连接 AirPods 后无法通过,该接口将声音强制设为扬声器输出。如有需求,可以通过使用 AVRoutePickerView 来切换。
Parameters-
audioRouteToSpeakerphone: BOOL
是否将音频路由切换到扬声器
-
- + (void)setSpeakerphoneMuted:(BOOL)mute;
-
设置是否静音扬声器,静音后将听不到远端用户的声音,默认为 NO。
Parameters-
mute: BOOL
是否静音远端的声音
-
- + (BOOL)speakerphoneMuted;
-
获取是否静音扬声器,该值跟房间状态无关,在离开房间后 SDK 并不会重置该值,即会保持您上次设置的值。
Returns BOOL
- + (void)setAudioScene:(QNAudioScene)audioScene;
-
动态切换音频场景,根据实际场景需要切换
具体场景区别详细可见QNAudioScene
- + (void)enableFileLogging;
-
开启本地日志保存,默认日志等级为 QNRTCLogLevelInfo
为了不错过日志,建议在 App 启动时开启,日志文件位于 App Container/Library/Caches/Pili/Logs 目录内
该接口已废弃,请使用 setLogConfig
文件日志功能主要用于排查问题,打开文件日志功能会对性能有一定影响,上线前请记得关闭文件日志功能
- + (void)setLogLevel:(QNRTCLogLevel)level;
-
设置日志等级,默认日志等级为 QNRTCLogLevelInfo
如需关闭文件日志功能,设置日志等级为 QNRTCLogLevelNone 即可
该接口已废弃,请使用 setLogConfig
Parameters-
level: QNRTCLogLevel
日志等级
-
- + (void)setLogConfig:(QNRTCLogConfiguration *)configuration;
-
设置日志文件配置,包括文件存储路径、日志等级、日志文件的大小等
Parameters-
configuration: QNRTCLogConfiguration
日志文件配置对象
-
- + (void)uploadLog:(nullable QNUploadLogResultCallback)callback;
-
上传本地文件至七牛服务器
Parameters-
callback: QNUploadLogResultCallback
上传结果 callback
-
- + (void)uploadLog:(NSString *)token callback:(nullable QNUploadLogResultCallback)callback;
-
上传本地文件至指定的七牛云存储空间
Parameters-
token: NSString
上传 Token
-
callback: QNUploadLogResultCallback
上传结果 callback
-
- + (NSString *)versionInfo;
-
获取 SDK 的版本信息
Returns NSString