初始化
本部分介绍了实时音视频的初始化方式及其可配置项。
在使用 SDK 前,请务必调用 QNRTC.Init 方法进行 RTC 环境的初始化工作
默认配置初始化
示例代码如下:
let setting = new QNRTCSetting()
let ret: number = QNRTC.Init(setting)
若 QNRTCSetting 的默认配置无法满足您的场景需要,您可通过 QNRTCSetting 进行自定义配置初始化。
设置媒体传输方式
通过调用初始化方法 QNRTCSetting.policy 设置媒体传输方式,默认使用 UDP 传输。
setting.policy = QNTransportPolicy.UDP
其中,媒体传输方式 QNTransportPolicy 有如下几种,可根据实际情况自行选择:
export enum QNTransportPolicy {
/**
* 强制使用 UDP 做媒体传输
*/
UDP = 0,
/**
* 强制使用 TCP 做媒体传输
*/
TCP = 1,
/**
* 优先使用 UDP 做媒体传输,允许自动切换 TCP
*/
PreferUDP = 2
}
初始化 QNRTC
在配置好 QNRTCSetting 后,通过 QNRTC.Init 传入。
let ret: number = QNRTC.Init(setting)
销毁 QNRTC
通过 QNRTC.Deinit 销毁。在 QNRTC 使用结束后,请务必主动在销毁前调用此接口来释放相应资源
let ret: number = QNRTC.DeInit()
设置日志等级
通过调用 QNRTC.SetLogConfig 设置 SDK 的日志文件相关等级,默认是 QNRTCLogLevel.Info
let logConfig = new QNLogConfig()
let ret: number = QNRTC.SetLogConfig(logConfig)
设置成功后开始日志文件保存。
日志文件上传
通过调用 QNRTC.UploadLog 上传本地文件至七牛服务器
let ret: number = QNRTC.UploadLog("", this.uploadLogCallback)
private uploadLogCallback: QNUploadLogResultCallback = (fileName, code, remaining) => {
console.log("upload log callback ", fileName, code, remaining)
}
推流固定分辨率开关
通过调用初始化方法 QNVideoEncoderConfig.prefer 设置 QNDegradationPreference 为 MaintainResolution
时为固定分辨率,即编码分辨率不随网络变化而波动。
/**
* 视频编码配置类
*/
export class QNVideoEncoderConfig implements QNVideoEncoderConfigNative {
/**
* 编码宽度
*/
width: number = 640;
/**
* 编码高度
*/
height: number = 480;
/**
* 编码帧率
*/
frameRate: number = 15;
/**
* 编码码率,单位 kbps
*/
bitrate: number = 800;
/**
* 码率控制策略
*/
prefer: number = QNDegradationPreference.DefaultPreference;
/**
* 缩放模式
*/
stretchMode: number = QNEncoderStretchMode.ResolutionAdaptive;
}
文档反馈
(如有产品使用问题,请 提交工单)