通过阅读本文,您可以了解Web RTS SDK的接口详情。
目录
API | 描述 |
---|---|
createClient | 实例化对象。 |
isSupport | 检测浏览器是否可用。 |
subscribe | 开始拉RTS流。 |
unsubscribe | 停止RTS播放。 |
muted | 静音。 |
createStream | 获取本地流。 |
publish | 开始推流。 |
unpublish | 停止推流。 |
on | 回调监听。 |
详情
- createClient:实例化对象。
var aliRts = AliRTS.createClient();
- isSupport:检测浏览器是否可用。
/** * isSupport检测是否可用 * @param {Object} supportInfo 检测信息 * @param {Boolean} supportInfo.isReceiveVideo 是否拉视频流 * @return {Promise} */ aliRts.isSupport(supportInfo).then(re=> { // 可用 }).catch(err=> { // 不可用 console.log(`not support errorCode: ${err.errorCode}`); console.log(`not support message: ${err.message}`); })
- subscribe:开始拉RTS流。
/** * rts开始拉流接口 * @param {String} pullStreamUrl 拉流地址,在地址后添加@subaudio=no或者@subvideo=no来表示不订阅音频流或视频流 * @return {Promise} */ aliRts.subscribe(pullStreamUrl).then((remoteStream) => { // mediaElement是媒体标签audio或video remoteStream.play(mediaElement); }).catch((err) => { // 订阅失败 })
注意超低延时直播(RTS)对音视频解码存在以下限制:如有需求可进行RTS转码解除限制,具体操作请参见RTS转码。- 视频不支持B帧(会出现画面跳跃)。
- 音频不支持AAC编码(会出现噪音)。
- unsubscribe:停止RTS播放。
aliRts.unsubscribe();
- muted:静音。
remoteStream.muted = true;
- createStream:获取本地流。
/** * 获取本地流localStream */ AliRTS.createStream({ audio: true, video: true, screen: false, }).then((localStream) => { // 预览推流内容,mediaElement是媒体标签audio或video localStream.play(mediaElement); }).catch((err) => { // 创建本地流失败 })
- publish:开始推流。
/** * 开始推流 */ aliRts.publish(pushUrl, localStream)).then(() => { // 推流成功 }).catch((err) => { // 推流失败 })
- unpublish:停止推流。
aliRts.unpublish();
- on:回调监听。
/* * 在onError中获取到错误码10201时,此时网页的音频是静音的, * 需要用户在网页上手动触发事件(必须有用户交互,不能直接通过代码控制) * 调用remoteStream.muted = false取消静音 */ aliRts.on("onError", (err)=> { console.log(`errorCode: ${err.errorCode}`); console.log(`message: ${err.message}`); }) const PLAY_EVENT = { CANPLAY: "canplay", WAITING: "waiting", PLAYING: "playing" } aliRts.on('onPlayEvent', (play)=>{ if(play.event === PLAY_EVENT.CANPLAY){ //拉流可以播放 }else if(play.event === PLAY_EVENT.WAITING){ //拉流卡顿等待缓冲中 (仅Chrome) }else if(play.event === PLAY_EVENT.PLAYING){ //拉流卡顿结束恢复播放 (仅Chrome) } })