当您需要使用RTS拉流。您可以通过本章节,了解接入的方法,帮助您更好的体验阿里云音视频通信服务。
npm install aliyun-rts-sdk当您需要使用RTS拉流。您可以通过本章节,了解接入的方法,帮助您更好的体验阿里云音视频通信服务。
javascript
var aliRts = AliRTS.createClient();
`#### 2、isSupport检测浏览器是否可用
`javascript
/**
* 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});
})
`
#### 3、RTS开始拉流
`javascript
/**
* rts开始拉流接口
* @param {string} pullStreamUrl 拉流地址,在地址后添加@subaudio=no或者@subvideo=no来表示不订阅音频流或视频流
* @param {Object} [config] (可选)自定义配置
* @param {string} [config.signalUrl] (可选)信令地址
* @return {Promise}
*/
aliRts.subscribe(pullStreamUrl).then((remoteStream) => {
// mediaElement是媒体标签audio或video
remoteStream.play(mediaElement);
}).catch((err) => {
// 订阅失败
})
`
#### 4、RTS停止播放
`javascript
/**
* 停止rts播放接口
*/
aliRts.unsubscribe();
`
#### 5、静音接口
`javascriptremoteStream.muted = true;
`
#### 6、获取本地流
`javascript
/**
* 获取本地流localStream
* @param {Object} config 配置
* @param {boolean} config.audio 是否使用音频设备
* @param {boolean} config.video 是否使用视频设备
* @param {boolean} config.screen 是否使用屏幕捕获
* @returns {Promise}
*/
aliRts.createStream({
audio: true,
video: true,
screen: false,
}).then((localStream) => {
// 预览推流内容,mediaElement是媒体标签audio或video
localStream.play(mediaElement);
}).catch((err) => {
// 创建本地流失败
})
`
#### 7、推流
`javascript
/**
* 开始推流
* @param {string} pushUrl 推流地址
* @param {Object} localStream 由 createStream 创建的本地流
* @param {Object} [config] (可选)自定义配置
* @param {string} [config.signalUrl] (可选)信令地址
* @return {Promise}
*/
aliRts.publish(pushUrl, localStream)).then(() => {
// 推流成功
}).catch((err) => {
// 推流失败
})
`
#### 8、停止推流
`javascript
/**
* 停止推流
*/
aliRts.unpublish();
``
注:1、由于浏览器策略问题,https协议无法正常加载http资源,所以https协议链接的拉流地址必须也是https(如果使用http也同理,拉流地址也需要是http)。