QNRTC
- init[1/2]
- init[2/2]
- deinit
- createClient[1/2]
- createClient[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
- setAudioScene
- setAudioRouteToSpeakerphone
- setSpeakerphoneMuted
- setLogFileEnabled[1/2]
- setLogFileEnabled[2/2]
- setLogFileMaxCount
- setLogConfig
- uploadLog[1/2]
- uploadLog[2/2]
- createAudioMusicMixer
- createAudioEffectMixer
- createAudioSourceMixer
- static void init(Context context, QNRTCEventListener listener)
-
使用默认配置初始化 SDK
在使用 SDK 接口前,请务必先调用该接口进行 RTC 环境的初始化
Parameters-
context: Context
上下文句柄
-
listener: QNRTCEventListener
SDK 事件回调,回调设备相关的事件等
-
- static void init(Context context, QNRTCSetting setting, QNRTCEventListener listener)
-
使用自定义配置初始化 SDK
在使用 SDK 接口前,请务必先调用该接口进行 RTC 环境的初始化
Parameters-
context: Context
上下文句柄
-
setting: QNRTCSetting
SDK 核心参数配置,见 QNRTCSetting
-
listener: QNRTCEventListener
SDK 事件回调,回调设备相关的事件等
-
- static void deinit()
-
反初始化操作
在确认不再使用 RTC SDK 后调用此接口释放其占用的资源,此后再次使用 SDK 需重新调用 init 方法
- static QNRTCClient createClient(QNClientEventListener listener)
-
创建一个连接对象并为其设置事件监听,QNRTCClient 全局只可存在一个
Parameters-
listener: QNClientEventListener
连接中的事件监听
Returns 连接管理对象 -
- static QNRTCClient createClient(QNRTCClientConfig clientConfig, QNClientEventListener listener)
-
使用 QNRTCClientConfig 创建一个连接对象并为其设置事件监听,QNRTCClient 全局只可存在一个
其中,QNRTCClientConfig 用于指定音视频通话的具体场景以及对应的用户角色,默认使用场景为 QNClientMode.RTC
Parameters-
clientConfig: QNRTCClientConfig
连接管理对象初始化配置,用于配置音视频通话场景及用户角色
-
listener: QNClientEventListener
连接中的事件监听
Returns 连接管理对象 -
- static QNCDNStreamingClient createCDNStreamingClient()
-
创建 CDN 直推控制类实例
Returns CDN 直推控制类实例
- static QNMicrophoneAudioTrack createMicrophoneAudioTrack()
-
创建一个默认的麦克风音频轨道对象,默认 tag 为 "",默认音频参数为 QNAudioQualityPreset.LOW
本地音频 Track 只可存在一个,重复创建会返回 null
Returns QNMicrophoneAudioTrack
- static QNMicrophoneAudioTrack createMicrophoneAudioTrack(QNMicrophoneAudioTrackConfig config)
-
通过自定义 QNMicrophoneAudioTrackConfig 来创建一个麦克风音频轨道对象
本地音频 Track 只可存在一个,重复创建会返回 null
Parameters-
config: QNMicrophoneAudioTrackConfig
采集音频的配置,可指定音频质量等级与开关通讯模式
Returns QNMicrophoneAudioTrack -
- static QNCustomAudioTrack createCustomAudioTrack()
-
创建一个默认的自定义音频轨道对象,默认 tag 为 "",默认音频参数为 QNAudioQualityPreset.LOW
本地音频 Track 只可存在一个,重复创建会返回 null
Returns QNCustomAudioTrack
- static QNCustomAudioTrack createCustomAudioTrack(QNCustomAudioTrackConfig config)
-
通过自定义 QNCustomAudioTrackConfig 来创建一个自定义音频轨道对象
本地音频 Track 只可存在一个,重复创建会返回 null
Parameters-
config: QNCustomAudioTrackConfig
采集音频的配置,可指定音频质量等级
Returns QNCustomAudioTrack -
- static QNCameraVideoTrack createCameraVideoTrack()
-
创建一个默认的摄像头视频轨道对象,默认 tag 为 "",默认视频推送参数为 640 x 480,20fps,800kbps
Returns QNCameraVideoTrack
- static QNCameraVideoTrack createCameraVideoTrack(QNCameraVideoTrackConfig config)
-
通过自定义 QNCameraVideoTrackConfig 来创建一个摄像头视频轨道对象
Parameters-
config: QNCameraVideoTrackConfig
摄像头 Track 的配置,可设置视频的采集配置、编码配置等
Returns QNCameraVideoTrack -
- static QNScreenVideoTrack createScreenVideoTrack()
-
创建一个默认的屏幕录制轨道对象,默认 tag 为 "",默认视频推送参数为 640 x 480,20fps,800kbps
Returns QNScreenVideoTrack
- static QNScreenVideoTrack createScreenVideoTrack(QNScreenVideoTrackConfig config)
-
通过自定义 QNScreenVideoTrackConfig 来创建一个屏幕录制轨道对象
Parameters-
config: QNScreenVideoTrackConfig
屏幕录制 Track 的配置,可设置视频的编码配置与开关大小流功能
Returns QNScreenVideoTrack -
- static QNCustomVideoTrack createCustomVideoTrack()
-
创建一个默认的自定义视频采集轨道对象,默认 tag 为 "",默认视频推送参数为 640 x 480,20fps,800kbps
Returns QNCustomVideoTrack
- static QNCustomVideoTrack createCustomVideoTrack(QNCustomVideoTrackConfig config)
-
通过自定义 QNCustomVideoTrackConfig 来创建自定义视频采集轨道对象
Parameters-
config: QNCustomVideoTrackConfig
自定义视频采集 Track 的配置,可设置视频的编码配置与开关大小流功能
Returns QNCustomVideoTrack -
- static QNMediaRecorder createMediaRecorder())
-
创建音视频本地录制管理类实例
Returns QNMediaRecorder
- static void setAudioScene(QNAudioScene audioScene)
-
切换音频场景
音频场景包括 DEFAULT、VOICE_CHAT 和 SOUND_EQUALIZE 三种,不同场景下,设备的音量类型存在差异,其中:
1. DEFAULT 场景会根据发布和订阅的情况自动切换音频模式,仅发布或仅订阅时,SDK 使用媒体模式;同时发布和订阅时,SDK 将自动切换到通话模式
2. VOICE_CHAT 场景恒定使用通话模式,调节的音量类型为通话音量
3. SOUND_EQUALIZE 场景恒定使用媒体模式,调节的音量类型为媒体音量
4. 佩戴蓝牙耳机的场景,将恒定使用通话模式,在蓝牙通话过程中修改的音频场景将会在蓝牙连接断开后生效
5. 佩戴有线耳机的场景,将恒定使用媒体模式,在通话过程中修改的音频场景将会在耳机拔出后生效
Parameters-
audioScene: QNAudioScene
指定音频场景
-
- static void setAudioRouteToSpeakerphone(boolean audioRouteToSpeakerphone)
-
设置是否将音频路由切换到扬声器。
设置生效后会触发 QNRTCEventListener.onAudioRouteChanged 回调对应的路由状态。
默认音频路由为扬声器,可通过 QNRTCSetting.setDefaultAudioRouteToSpeakerphone 修改默认音频路由配置。
在音频路由为扬声器且未佩戴耳机的情况下,设置 false 将会将音频路由切换到听筒。
1. 设置为 true,音频将会通过扬声器播放
2. 设置为 false,音频将会通过蓝牙、有线耳机、听筒等设备播放,具体路由取决于当时的设备连接情况
3. 在 false 状态下,断开蓝牙、有线耳机等设备后,音频将通过听筒播放,若需切换为扬声器,可监听 QNRTCEventListener.onAudioRouteChanged 回调并重新设置音频路由
Parameters-
audioRouteToSpeakerphone: boolean
是否将音频路由切换到扬声器
-
- static void setSpeakerphoneMuted(boolean muted)
-
设置是否静音扬声器,静音后将听不到远端用户的声音。默认为 false
Parameters-
muted: boolean
是否静音扬声器
-
- static void setLogFileEnabled(boolean isEnabled)
-
设置是否开启本地日志保存功能,默认开启。
日志文件优先存储在外部存储空间应用专属目录 (Context.getExternalFilesDir(null)) 中的 QNRTCLog 文件夹下,若外部存储空间不可用,则将保存在内部存储空间应用专属目录 (Context.getFilesDir()) 中的 QNRTCLog 文件夹下
该接口已废弃,默认会进行本地日志的存储操作
Parameters-
isEnabled: boolean
是否开启本地日志保存,默认为 true
-
- static void setLogFileEnabled(boolean isEnabled, String pathPrefix)
-
设置是否开启本地日志保存功能,并设置保存文件的前缀名,默认开启,且前缀为 ""。
日志文件优先存储在外部存储空间应用专属目录 (Context.getExternalFilesDir(null)) 中的 QNRTCLog 文件夹下,若外部存储空间不可用,则将保存在内部存储空间应用专属目录 (Context.getFilesDir()) 中的 QNRTCLog 文件夹下
该接口已废弃,默认会进行本地日志的存储操作
Parameters-
isEnabled: boolean
是否开启本地日志保存,默认为 true
-
pathPrefix: String
日志文件的前缀名,默认为 ""
-
- static void setLogFileMaxCount(int maxCount)
-
设置开启本地日志保存后,可保存文件的最大数量,默认值为 3
该接口已废弃,SDK 最多允许保存 3 个日志文件
Parameters-
maxCount: int
本地保存日志文件的最大数量
-
- static void setLogConfig(QNLogConfig logConfig)
-
设置日志文件配置,包括文件存储路径、日志等级、日志文件的大小等
1. 默认日志存储路径为外部存储空间应用专属目录 (Context.getExternalFilesDir(null)) 中的 QNRTCLog 文件夹下,若外部存储空间不可用,则将保存在内部存储空间应用专属目录 (Context.getFilesDir()) 中的 QNRTCLog 文件夹下
2. 默认日志等级为 INFO 级别
3. SDK 最多存储 3 个文件,默认每个文件大小的最大限制为 3MB,文件大小限制最多不可超过 10MB
Parameters-
logConfig: QNLogConfig
日志文件配置
-
- static void uploadLog(QNUploadLogResultCallback callback)
-
上传本地文件至七牛服务器
该接口需要在 QNRTC.init 之后调用
Parameters-
callback: QNUploadLogResultCallback
日志上传回调监听
-
- static void uploadLog({String token, {QNUploadLogResultCallback}} callback)
-
上传本地文件至指定的七牛云存储空间
token 需要您的业务服务器自行签算,签算规则可参考上传策略文档
该接口需要在 QNRTC.init 之后调用
Parameters-
token: String
上传 token
-
callback: QNUploadLogResultCallback
日志上传回调监听
-
- QNAudioMusicMixer createAudioMusicMixer(String musicPath, QNAudioMusicMixerListener listener)
-
创建背景音乐混音控制器对象
支持本地和在线文件,支持的文件格式为:aac、mp3、mp4、ogg、opus、wav、m4a、flac
注意:
1. 背景音乐混音仅支持同时混合一路背景音乐,若需要切换背景音乐,重新调用本接口创建 QNAudioMusicMixer 即可
2. 建议使用本地文件进行混音,以避免网络环境差引起的混音异常
3. 若您希望在混合背景音乐的同时添加音效,可参考音效混音相关接口(QNAudioEffectMixer)
Parameters-
musicPath: String
音频文件路径,支持本地文件和在线文件
-
listener: QNAudioMusicMixerListener
混音控制器监听接口
Returns QNAudioMusicMixer -
- QNAudioEffectMixer createAudioEffectMixer(QNAudioEffectMixerListener listener)
-
创建音效混音控制器对象
音效混音支持同时混合多路音效文件
Parameters-
listener: QNAudioEffectMixerListener
音效混音控制器监听接口
Returns QNAudioEffectMixer -
- QNAudioSourceMixer createAudioSourceMixer(QNAudioSourceMixerListener listener)
-
创建音源混音控制器对象
音源混音支持同时混合多路音源
Parameters-
listener: QNAudioSourceMixerListener
混音器监听接口
Returns QNAudioSourceMixer -