Electron SDK 1.0.0
阿里云音视频通信aliyun-webrtc-electron-sdk
一、接入前准备
接入参数配置
1 、在electron项目目录中package.json文件scripts中增加postinstall命令配置指定版本号
(electron版本也需要对应版本,一般相同主版本号可以兼容)
"scripts": {
"postinstall": "node node_modules/aliyun-webrtc-electron-sdk/dist/bin/alirtcdown -v 6.0.9"
...
}
参数说明:
| 命令 | 是否必填 | 说明 | 可选参数 | 备注 |
|---|
| -v | 必填 | electron版本 | 6.0.9 | 当前请选择6.0.9 |
| -p | 可选 | 系统类型 | darwin win32 | darwin表示mac系统,win32表示windows系统 |
| -a | 可选 | 位数 | ia32 x64 | 当前windows请选择ia32,mac仅有x64 |
2、在dependencies中增加aliyun-webrtc-electron-sdk包
"dependencies": {
...
"aliyun-webrtc-electron-sdk": "1.0.0"
...
}
3、执行npm install /cnpm install安装依赖
打包参数配置
由于electron sdk用到的dll库在asar压缩后无法正常使用,需要配置不压缩
"build": {
"extraResources": [
"./node_modules/aliyun-webrtc-electron-sdk/**"
]
}
官方文档
阿里云RTC提供移动端、PC等多端SDK,并兼容标准WebRTC浏览器接入网络,帮助您快速搭建多端实时应用。接入RTC的方法,请参见入门概述。
当您成功搭建本地SDK,可以在终端调用API与RTC服务端进行交互,在加入频道或房间后,您可以进行本地推流、订阅远端用户等操作,实现频道内不同用户之间的音视频实时通话。
阿里云RTC拥有全球实时智能调度系统,并结合实时媒体处理系统和1500+边缘节点,运用行业领先的音频3A(AGC、AEC、ANS)、视频编码、弱网对抗等算法为您提供低延时、抗丢包的音视频实时通信。

二、文档
接口文档
本文为您介绍了Electron SDK的接口详情
目录
基础接口
| API | 描述 | 以上版本支持 |
|---|
| 实例化 | 实例化SDK | 1.0.0 |
| destroy | 销毁SDK | 1.0.0 |
频道相关接口
| API | 描述 | 以上版本支持 |
|---|
| setAutoPublishSubscribe | 设置是否自动发布,是否自动订阅 | 1.0.0 |
| joinChannel | 加入频道 | 1.0.0 |
| leaveChannel | 离开频道 | 1.0.0 |
| setChannelProfile | 设置频道类型 | 1.0.0 |
发布相关接口
| API | 描述 | 以上版本支持 |
|---|
| isAutoPublish | 查询当前是否为自动发布模式 | 1.0.0 |
| configLocalCameraPublish | 设置是否允许发布相机流 | 1.0.0 |
| configLocalScreenPublish | 设置是否允许发布屏幕流 | 1.0.0 |
| configLocalAudioPublish | 设置是否允许发布音频流 | 1.0.0 |
| configLocalSimulcast | 设置是否允许发布次要视频流 | 1.0.0 |
| publish | 手动发布视频和音频流 | 1.0.0 |
订阅相关接口
| API | 描述 | 以上版本支持 |
|---|
| isAutoSubscribe | 查询当前是否为自动订阅模式 | 1.0.0 |
| configRemoteCameraTrack | 设置是否订阅远端相机流 | 1.0.0 |
| configRemoteScreenTrack | 设置是否订阅远端屏幕流 | 1.0.0 |
| configRemoteAudio | 设置是否订阅远端音频流 | 1.0.0 |
| subscribe | 手动订阅视频和音频流 | 1.0.0 |
视频相关接口
| API | 描述 | 以上版本支持 |
|---|
| setVideoProfile | 设置视频流的参数 | 1.0.0 |
| muteLocalCamera | 是否关闭本地摄像头推送 | 1.0.0 |
| getVideoDevices | 获取摄像头列表 | 1.0.0 |
| getCurrentVideoDevice | 获取当前摄像头Id | 1.0.0 |
| setVideoDevice | 设置摄像头 | 1.0.0 |
| getScreenShareSourceInfo | 获取屏幕分享源信息 | 1.0.0 |
| getDesktopResolution | 获取屏幕分享桌面分辨率 | 1.0.0 |
| setScreenShareSource | 设置屏幕分享源 | 1.0.0 |
| getScreenShareSource | 获取屏幕分享源 | 1.0.0 |
音频相关接口
| API | 描述 | 以上版本支持 |
|---|
| muteLocalMic | 是否关闭本地麦克风推送 | 1.0.0 |
| muteRemoteAudioPlaying | 设置是否停止播放远端音频流 | 1.0.0 |
| getAudioRecordingDevices | 获取麦克风(录音设备)列表 | 1.0.0 |
| getCurrentAudioRecordingDevice | 获取当前麦克风(录音设备)Id | 1.0.0 |
| setAudioRecordingDevice | 设置麦克风(录音设备) | 1.0.0 |
| getAudioPlaybackDevices | 获取扬声器列表 | 1.0.0 |
| getCurrentAudioPlaybackDevice | 获取当前扬声器Id | 1.0.0 |
| setAudioPlaybackDevice | 设置扬声器 | 1.0.0 |
| enableLoopbackRecording | 声卡采集 | 1.0.0 |
预览接口
| API | 描述 | 以上版本支持 |
|---|
| startPreview | 开启预览 | 1.0.0 |
| stopPreview | 停止预览 | 1.0.0 |
远端用户查询接口
| API | 描述 | 以上版本支持 |
|---|
| getUserInfo | 获取远端用户信息 | 1.0.0 |
其他接口
| API | 描述 | 以上版本支持 |
|---|
| on | 订阅事件 | 1.0.0 |
| off | 取消订阅事件 | 1.0.0 |
| setClientRole | 设置用户角色 | 1.0.0 |
接口详情
基础接口
let aliElectronRtc = new AliRtcEngine(option)
| 参数 | | 类型 | 描述 |
|---|
| option | h5CompatibleMode | Boolean | 是否开启H5兼容,默认false |
| extension | String | 定制参数,默认空字符串,可不填 |
注:H5兼容模式是指是否能和Web端正常通信,默认关闭。
aliElectronRtc.destroy();
频道相关接口
- setAutoPublishSubscribe:设置是否自动发布,是否自动订阅。
注:默认自动发布和订阅,必须在加入频道之前设置。
aliElectronRtc.setAutoPublishSubscribe(autoPub, autoSub);
| 参数 | 类型 | 描述 |
|---|
| autoPub | Boolean | 是否自动推流 |
| autoSub | Boolean | 是否自动订阅 |
注:1、加入频道成功后,如果中途需要加入其他频道,必须先调用leaveChannel离开当前频道。2、如果加入频道失败,需要重试时,无需先调用leaveChannel。
aliElectronRtc.joinChannel(authInfo, displayName).then(()=>{
// 入会成功
}).then((code)=>{
// 入会失败,查看错误码
});
| 参数 | 类型 | 描述 |
|---|
| authInfo | AliRtcAuthInfo | 鉴权信息 |
| displayName | String | 用户名字 |
aliElectronRtc.leaveChannel().then(()=>{
// 离会成功
}).catch((code) => {
// 离会失败,查看错误码
});
- setChannelProfile: 设置频道类型
注:默认通信模式,设置频道模式需要在入会前调用。返回 0:成功,其他表示对应错误码
aliElectronRtc.setChannelProfile(profile)
| 参数 | 类型 | 描述 |
|---|
| profile | AliRtcChannelProfile | 频道类型 |
发布相关接口
- isAutoPublish: 查询当前是否为自动发布模式,返回true为自动发布,false为手动发布
aliElectronRtc.isAutoPublish();
- configLocalCameraPublish:设置是否允许发布相机流。
注:默认为允许发布相机流,手动发布时,需要调用publish才能生效。
aliElectronRtc.configLocalCameraPublish(enable);
| 参数 | 类型 | 描述 |
|---|
| enable | Boolean | true为允许发布相机流,false表示不允许。默认为true。 |
- configLocalScreenPublish: 设置是否允许发布屏幕流。
注:默认为不允许发布屏幕流,手动发布时,需要调用publish才能生效。
aliElectronRtc.configLocalScreenPublish(enable);
| 参数 | 类型 | 描述 |
|---|
| enable | Boolean | true为允许发布屏幕流,false表示不允许。默认为false。 |
- configLocalAudioPublish: 设置是否允许发布音频流。
注:默认为允许发布音频流,手动发布时,需要调用publish才能生效。
aliElectronRtc.configLocalAudioPublish(enable);
| 参数 | 类型 | 描述 |
|---|
| enable | Boolean | true表示允许发布音频流,false表示不允许。默认为true。 |
- configLocalSimulcast: 设置是否允许发布次要视频流。
注:1、默认为允许发布次要视频流,手动发布时,需要调用publish才能生效。2、当仅推视频流未推共享流,且频道内只有两个用户时,因为是1v1模式,对方看不到小流。3、当前仅支持相机流小流。
aliElectronRtc.configLocalSimulcast(enable);
| 参数 | 类型 | 描述 |
|---|
| enable | Boolean | true表示允许发布次要流,false表示不允许。 |
注:1、调用publish的实际表现需要结合configLocalCameraPublish、configLocalScreenPublish、configLocalAudioPublish、configLocalSimulcast等接口才能确定。2、根据您的具体业务需求配置上述4个接口的参数,以发布相应的视频和音频流。3、发布和停止发布都是调用publish。 4、如需停止发布,则需要上述4个配置接口的参数都置为false,再调用publish。5、需要在加入频道成功之后调用该接口。
aliElectronRtc.publish().then(()=>{
// 推流成功
}).catch((code)=>{
// 推流失败 查看错误码
})
订阅相关接口
- isAutoSubscribe: 查询当前是否为自动订阅模式,返回true为自动订阅,false为手动订阅
aliElectronRtc.isAutoSubscribe();
- configRemoteCameraTrack:设置是否订阅远端相机流。
注:1、默认为订阅大流。2、当对流进行操作时(如手动订阅,关闭订阅),必须调用subscribe才能生效。
aliElectronRtc.configRemoteCameraTrack(uid, preferMaster, enable);
| 参数 | 类型 | 描述 |
|---|
| uid | String | 远端用户userId |
| preferMaster | Boolean | 是否优先订阅大流 |
| enable | Boolean | 是否订阅 |
- configRemoteScreenTrack: 设置是否订阅远端屏幕流。
注:1、默认为不订阅远端屏幕流。2、当对流进行操作时(如手动订阅,关闭订阅),必须调用subscribe才能生效。
aliElectronRtc.configRemoteScreenTrack(uid, enable);
| 参数 | 类型 | 描述 |
|---|
| uid | String | 远端用户userId |
| enable | Boolean | 是否订阅 |
- configRemoteAudio:设置是否订阅远端音频流。
注:1、默认订阅远端音频流。2、当对流进行操作时(如手动订阅,关闭订阅),必须调用subscribe才能生效。
aliElectron.configRemoteAudio(uid, enable);
| 参数 | 类型 | 描述 |
|---|
| uid | String | 远端用户userId |
| enable | Boolean | 是否订阅 |
注、1、调用subscribe的实际表现需要结合configRemoteCameraTrack、configRemoteScreenTrack、configRemoteAudio等接口才能确定。2、根据您的具体业务需求配置上述3个接口的参数,以订阅相应的视频流和音频流。3、订阅和停止订阅都是调用subscribe。4、如果需停止订阅,则需要上述3个配置接口的参数都置为false,然后调用subscribe。
aliElectronRtc.subscribe(uid).then((data)=>{
}).catch(()=>{
// 订阅失败(该用户不存在/未改变订阅项)
})
| 参数 | 类型 | 描述 |
|---|
| uid | String | 远端用户userId |
Promise,resolve返回data参数
| 返回参数 | 类型 | 描述 |
|---|
| user_id | String | 远端用户userId |
| audio_track | AliRtcAudioTrack | 订阅音频结果 |
| video_track | AliRtcVideoTrack | 订阅视频结果 |
视频相关接口
- setVideoProfile: 设置视频流的参数。
注:可以在加入频道之前或者之后设置。
aliElectronRtc.setVideoProfile(profile, track);
| 参数 | 类型 | 描述 |
|---|
| profile | AliRtcVideoProfile | 视频流参数。 |
| track | AliRtcVideoTrack | 需要设置的视频流类型。 |
- muteLocalCamera:是否关闭本地摄像头推送
注:该接口关闭本地摄像头推送后不会改变推流状态,推的摄像头流为黑帧
aliElectronRtc.muteLocalCamera(mute)
| 参数 | 类型 | 描述 |
|---|
| mute | Boolean | 是否关闭本地摄像头推送 |
aliElectronRtc.getVideoDevices();
返回摄像头列表,各项信息如下
| 返回参数 | 类型 | 描述 |
|---|
| deviceName | String | 设备名称 |
| deviceId | String | 设备Id |
- getCurrentVideoDevice: 获取当前摄像头Id
aliElectronRtc.getCurrentVideoDevice();
| 返回参数 | 类型 | 描述 |
|---|
| deviceId | String | 设备Id |
aliElectronRtc.setVideoDevice(deviceId);
- getScreenShareSourceInfo: 获取屏幕分享源信息
aliElectronRtc.getScreenShareSourceInfo(source_type);
| 参数 | 类型 | 描述 |
|---|
| source_type | AliRtcScreenShareType | 屏幕分享类型 |
返回该类型的屏幕信息
| 返回参数 | 类型 | 描述 |
|---|
| source_list | AliRtcScreenSourceList | 屏幕共享源列表 |
- getDesktopResolution: 获取屏幕分享桌面分辨率
注:当前只能获取桌面分辨率,获取窗口分辨率为0
aliElectronRtc.getDesktopResolution(source_id, source_title);
| 参数 | 类型 | 描述 |
|---|
| source_id | String | 屏幕分享数据源ID |
| source_title | String | 屏幕分享数据源名称 |
| 返回参数 | 类型 | 描述 |
|---|
| width | Number | 屏幕分辨率宽 |
| height | Number | 屏幕分辨率高 |
- setScreenShareSource: 设置屏幕分享源
aliElectronRtc.setScreenShareSource(source);
| 参数 | 类型 | 描述 |
|---|
| source | AliRtcScreenSource | 屏幕分享源信息 |
- getScreenShareSource: 获取屏幕分享源,返回当前设置的屏幕分享源。
aliElectronRtc.getScreenShareSource();
| 返回参数 | 类型 | 描述 |
|---|
| source | AliRtcScreenSource | 屏幕分享源信息 |
音频相关接口
注:该接口关闭本地麦克风推送后不会改变推流状态,推的本地音频流为静音
aliElectronRtc.muteLocalMic(mute)
| 参数 | 类型 | 描述 |
|---|
| mute | Boolean | 是否关闭本地麦克风推送 |
- muteRemoteAudioPlaying: 设置是否停止播放远端音频流
aliElectronRtc.muteRemoteAudioPlaying(uid, mute)
| 参数 | 类型 | 描述 |
|---|
| uid | String | 远端用户userId |
| mute | Boolean | 是否停止播放远端音频流 |
- getAudioRecordingDevices: 获取麦克风(录音设备)列表
aliElectronRtc.getAudioRecordingDevices();
返回麦克风(录音设备)列表,各项信息如下
| 返回参数 | 类型 | 描述 |
|---|
| deviceName | String | 设备名称 |
| deviceId | String | 设备Id |
- getCurrentAudioRecordingDevice: 获取当前麦克风(录音设备)Id
aliElectronRtc.getCurrentAudioRecordingDevice();
| 返回参数 | 类型 | 描述 |
|---|
| deviceId | String | 设备Id |
- setAudioRecordingDevice: 设置麦克风(录音设备)
aliElectronRtc.setAudioRecordingDevice(deviceId);
- getAudioPlaybackDevices: 获取扬声器列表
aliElectronRtc.getAudioPlaybackDevices();
返回扬声器列表,各项信息如下
| 返回参数 | 类型 | 描述 |
|---|
| deviceName | String | 设备名称 |
| deviceId | String | 设备Id |
- getCurrentAudioPlaybackDevice: 获取当前扬声器Id
aliElectronRtc.getCurrentAudioPlaybackDevice();
| 返回参数 | 类型 | 描述 |
|---|
| deviceId | String | 设备Id |
- setAudioPlaybackDevice: 设置扬声器
aliElectronRtc.setAudioPlaybackDevice(deviceId);
- enableLoopbackRecording: 声卡采集
注:默认关闭,开启声卡采集后系统播放的声音将通过音频流发布出去。
aliElectronRtc.enableLoopbackRecording(enable);
| 参数 | 类型 | 描述 |
|---|
| enable | Boolean | 是否开启声卡采集 |
预览接口
aliElectronRtc.startPreview();
aliElectronRtc.stopPreview();
远端用户查询接口
aliElectronRtc.getUserInfo(uid);
| 返回参数 | 类型 | 描述 |
|---|
| userInfo | AliRtcRemoteUserInfo | 远端用户信息 |
其他接口
注:详细的事件信息请参考回调文档
aliElectronRtc.on(event, listener);
| 参数 | 类型 | 描述 |
|---|
| event | String | 订阅事件名 |
| listener | Function | 事件处理函数 |
aliElectronRtc.off(event, listener);
| 参数 | 类型 | 描述 |
|---|
| event | String | 订阅事件名 |
| listener | Function | 事件处理函数 |
注:1、默认AliRtcClientRoleLive(互动角色)2、入会前设置立即生效3、入会后设置返回成功后需要等待clientRoleChanged回调返回正确结果后确认切换成功。4、返回 0:成功,其他表示对应错误码
aliElectron.setClinetRole(clientRole);
| 参数 | 类型 | 描述 |
|---|
| clientRole | AliRtcClientRole | 用户角色 |
回调文档
目录
| 回调名称 | 描述 | 以上版本支持 |
|---|
| userJoined | 远端用户加入频道 | 1.0.0 |
| removeStream | 远端用户离开频道 | 1.0.0 |
| changeStream | 远端用户推流变化 | 1.0.0 |
| subscribeChange | 订阅结果改变回调 | 1.0.0 |
| warning | 警告回调 | 1.0.0 |
| error | 错误回调 | 1.0.0 |
| networkQuality | 网络质量回调 | 1.0.0 |
| clientRoleChanged | 用户角色已切换回调 | 1.0.0 |
回调详情
注:1、当加入频道时,频道内已经有其他用户了,本地会收到这些用户的userJoined回调2、当有远端新用户加入频道时,本地会收到该回调
aliElectronRtc.on("userJoined",(uid)=> {
console.log(`远端用户${uid}加入房间`)
})
| 返回参数 | 类型 | 描述 |
|---|
| uid | String | 远端用户userId |
aliElectronRtc.on("removeStream",(uid)=> {
console.log(`远端用户${uid}离开房间`)
})
| 返回参数 | 类型 | 描述 |
|---|
| uid | String | 远端用户userId |
aliElectronRtc.on("changeStream",(data)=> {
console.log(`远端用户${data.user_id}流变化`)
})
返回data数据的内容如下
| 返回参数 | 类型 | 描述 |
|---|
| user_id | String | 远端用户userId |
| audio_track | AliRtcAudioTrack | 远端用户发生变化后的音频流 |
| video_track | AliRtcVideoTrack | 远端用户发生变化后的视频流 |
aliElectronRtc.on("removeStream",(data)=> {
console.log(`远端用户${data.user_id}订阅状态改变`)
})
返回data数据的内容如下
| 返回参数 | 类型 | 描述 |
|---|
| user_id | String | 远端用户userId |
| audio_track | AliRtcAudioTrack | 订阅成功的音频流 |
| video_track | AliRtcVideoTrack | 订阅成功的视频流 |
注:目前警告回调可以忽略,不会影响正常使用 。
aliElectronRtc.on("warning",(code)=> {
console.log(`warning: ${code}`)
})
注:具体错误码请参考官网客户端错误码文档。
aliElectronRtc.on("error",(code)=> {
console.log(`error: ${code}`)
})
aliElectronRtc.on("networkQuality",(data)=> {
// 网络质量
})
| 返回参数 | 类型 | 描述 |
|---|
| uid | String | 远端用户userId |
| txquality | AliRtcNetworkQuality | 上行网络质量 |
| rxquality | AliRtcNetworkQuality | 下行网络质量 |
- clientRoleChanged: 用户角色切换回调
aliElectronRtc.on("clientRoleChanged",(data)=> {
// data.oldRole 切换前的角色
// data.newRole 切换后的角色
})
| 返回参数 | 类型 | 描述 |
|---|
| oldRole | AliRtcClientRole | 切换前的角色 |
| newRole | AliRtcClientRole | 切换后的角色 |
数据类型
目录
| 数据类型 | 描述 | 以上版本支持 |
|---|
| AliRtcVideoTrack | 视频Track类型 | 1.0.0 |
| AliRtcAudioTrack | 音频Track类型 | 1.0.0 |
| AliRtcNetworkQuality | 网络质量 | 1.0.0 |
| AliRtcAuthInfo | 鉴权信息 | 1.0.0 |
| AliRtcRemoteUserInfo | 远端用户信息 | 1.0.0 |
| AliRtcClientRole | 角色类型 | 1.0.0 |
| AliRtcChannelProfile | 频道类型 | 1.0.0 |
| AliRtcScreenShareType | 桌面共享类型 | 1.0.0 |
| AliRtcScreenSourceList | 屏幕共享源列表 | 1.0.0 |
| AliRtcScreenSource | 屏幕共享源信息 | 1.0.0 |
| AliRtcScreenShareRegion | 屏幕共享区域 | 1.0.0 |
| AliRtcVideoProfile | 视频流参数 | 1.0.0 |
| AliRtcBeautyConfig | 美颜设置 | 1.0.0 |
详情
- AliRtcVideoTrack: 视频Track类型
| 枚举名 | 描述 |
|---|
| AliRtcVideoTrackNo | 无视频流 |
| AliRtcVideoTrackCamera | 摄像头流 |
| AliRtcVideoTrackScreen | 屏幕共享流 |
| AliRtcVideoTrackBoth | 摄像头和屏幕共享 |
- AliRtcAudioTrack: 音频Track类型
| 枚举名 | 描述 |
|---|
| AliRtcAudioTrackNo | 无音频流 |
| AliRtcAudioTrackMic | 麦克风流 |
- AliRtcNetworkQuality: 网络质量
| 枚举名 | 描述 |
|---|
| AliRtcNetworkQualityExcellent | 网络极好,流畅度清晰度质量好 |
| AliRtcNetworkQualityGood | 网络质量好,流畅度清晰度和极好差不多 |
| AliRtcNetworkQualityPoor | 网络质量较差,音视频流畅度清晰度有瑕疵,不影响沟通 |
| AliRtcNetworkQualityBad | 网络质量差,视频卡顿严重,音频能正常沟通 |
| AliRtcNetworkQualityVeryBad | 网络质量极差,基本无法沟通 |
| AliRtcNetworkQualityDisconnect | 网络中断 |
| AliRtcNetworkQualityUnknow | 未知 |
| 字段名 | 类型 | 描述 |
|---|
| userid | String | 用户Id |
| channel | String | 频道号 |
| appid | String | 应用Id |
| nonce | String | 随机码。 |
| timestamp | String | 时间戳。 |
| token | String | 令牌。 |
| gslb | Array | gslb(Global Server Load Balancing)服务地址。 |
- AliRtcRemoteUserInfo: 远端用户信息
| 字段名 | 类型 | 描述 |
|---|
| userID | String | 远端用户userId |
| displayName | String | 远端用户displayName |
| muteAudioPlaying | Boolean | 是否静音远端用户 |
| hasAudio | Boolean | 远端用户是否推音频流 |
| hasCameraMaster | Boolean | 远端用户是否推摄像头大流 |
| hasCameraSlave | Boolean | 远端用户是否推摄像头小流 |
| hasScreenSharing | Boolean | 远端用户是否推屏幕流 |
| subscribedAudio | Boolean | 是否订阅远端用户的音频流 |
| subscribedCameraMaster | Boolean | 是否订阅远端用户的摄像头大流 |
| subscribedCameraSlave | Boolean | 是否订阅远端用户的摄像头小流 |
| subscribedScreenSharing | Boolean | 是否订阅远端用户的屏幕流 |
| 枚举名 | 描述 |
|---|
| AliRtcClientRoleInteractive | 互动角色 |
| AliRtcClientRoleLive | 观众角色 |
- AliRtcChannelProfile: 频道类型
| 枚举名 | 描述 |
|---|
| AliRtcCommunication | 通信模式 |
| AliRtcInteractiveLive | 互动模式 |
- AliRtcScreenShareType: 桌面共享类型
| 枚举名 | 描述 |
|---|
| AliRtcScreenShareDesktop | 桌面共享 |
| AliRtcScreenShareWindow | 窗口共享 |
- AliRtcScreenSourceList:屏幕共享源列表
| 字段名 | 类型 | 描述 |
|---|
| sourceId | String | 共享源ID |
| sourceTitle | String | 共享源名 |
- AliRtcScreenSource:屏幕共享源信息
| 字段名 | 类型 | 描述 |
|---|
| eType | AliRtcScreenShareType | 桌面共享类型 |
| sourceId | String | 共享源ID |
| sourceTitle | String | 共享源名 |
| isShareByRegion | Boolean | 是否启用共享区域 |
| shareRegion | AliRtcScreenShareRegion | 共享区域 |
- AliRtcScreenShareRegion:屏幕共享区域
| 字段名 | 类型 | 描述 |
|---|
| originX | Number | x轴 |
| originY | Number | y轴 |
| width | Number | 宽度 |
| height | Number | 高度 |
注:1、发布视频流规格,默认为AliRTCSDK_Video_Profile_Default。2、您可以在加入频道之前或之后设置,但是您必须在本地流发布之前通过setVideoProfile方法设置。
| 枚举名 | 描述 |
|---|
| AliRTCSDK_Video_Profile_Default | 默认,分辨率480*640,帧率15 |
| AliRTCSDK_Video_Profile_180_240P_15 | 分辨率180*240,帧率15 |
| AliRTCSDK_Video_Profile_180_320P_15 | 分辨率180*320,帧率15 |
| AliRTCSDK_Video_Profile_180_320P_30 | 分辨率180*320,帧率30 |
| AliRTCSDK_Video_Profile_240_320P_15 | 分辨率240*320,帧率15 |
| AliRTCSDK_Video_Profile_360_480P_15 | 分辨率360*480,帧率15 |
| AliRTCSDK_Video_Profile_360_480P_30 | 分辨率360*480,帧率30 |
| AliRTCSDK_Video_Profile_360_640P_15 | 分辨率360*640,帧率15 |
| AliRTCSDK_Video_Profile_360_640P_30 | 分辨率360*640,帧率30 |
| AliRTCSDK_Video_Profile_480_640P_15 | 分辨率480*640,帧率15 |
| AliRTCSDK_Video_Profile_480_640P_30 | 分辨率480*640,帧率30 |
| AliRTCSDK_Video_Profile_720_960P_15 | 分辨率720*960,帧率15 |
| AliRTCSDK_Video_Profile_720_960P_30 | 分辨率720*960,帧率30 |
| AliRTCSDK_Video_Profile_720_1280P_15 | 分辨率720*1280,帧率15 |
| AliRTCSDK_Video_Profile_720_1280P_30 | 分辨率720*1280,帧率30 |
| AliRTCSDK_Video_Profile_360_640P_15_800Kb | 360*640分辨率,帧率15,800Kb码率 |
| AliRTCSDK_Video_Profile_480_840P_15_500Kb | 480*840分辨率,帧率15,500Kb码率 |
| AliRTCSDK_Video_Profile_480_840P_15_800Kb | 480*840分辨率,帧率15,800Kb码率 |
| AliRTCSDK_Video_Profile_540_960P_15_800Kb | 540*960分辨率,帧率15,800Kb码率 |
| AliRTCSDK_Video_Profile_540_960P_15_1200Kb | 540*960分辨率,帧率15,1200Kb码率 |
| AliRTCSDK_Video_Profile_Max | 占位值 |
| 字段名 | 类型 | 描述 |
|---|
| whiteningLevel | Number | 美白0,100数值越大美白效果越好 |
| smoothnessLevel | Number | 磨皮0,100数值越大磨皮效果越好 |