npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

aliyun-webrtc-electron-sdk

v2.5.2-beta1

Published

Downloads

16

Readme

Electron SDK

阿里云音视频通信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.10"
  ...
}

参数说明:

| 命令 | 是否必填 | 说明 | 可选参数 | 备注 | | --- | --- | --- | --- | --- | | -v | 必填 | electron版本 | 6.0.10 | 当前请选择6.0.10 | | -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": "^2.5.2"
  ...
}

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 | 描述 | 支持的最低版本 | | --- | --- | --- | | 实例化 | 创建aliElectronRtc实例 | 2.1.0 | | destroy | SDK资源释放 | 2.1.0 |

频道相关接口

| API | 描述 | 支持的最低版本 | | --- | --- | --- | | joinChannel | 加入频道 | 2.1.0 | | leaveChannel | 离开频道 | 2.1.0 | | isInCall | 检查当前是否在频道中 | 2.1.0 | | setChannelProfile | 设置频道模式 | 2.1.0 |

发布相关接口

| API | 描述 | 支持的最低版本 | | --- | --- | --- | | publishLocalVideoStream | 设置是否允许推视频流 | 2.1.0 | | isLocalVideoStreamPublished | 查询当前是否允许推视频流 | 2.1.0 | | isScreenSharePublished | 查询当前是否允许推屏幕流 | 2.1.0 | | publishLocalAudioStream | 设置是否允许推音频流 | 2.1.0 | | isLocalAudioStreamPublished | 查询当前是否允许推音频流 | 2.1.0 | | publishLocalDualStream | 设置是否允许推次要视频流 | 2.1.0 | | isDualStreamPublished | 查询当前是否允许推次要视频流 | 2.1.0 |

订阅相关接口

| API | 描述 | 支持的最低版本 | | --- | --- | --- | | setRemoteVideoStreamType | 设置订阅的相机流格式。 | 2.1.0 | | setRemoteDefaultVideoStreamType | 设置默认订阅的相机流格式。 | 2.1.0 | | setDefaultSubscribeAllRemoteAudioStreams | 设置是否默认拉音频流。 | 2.1.0 | | subscribeAllRemoteAudioStreams | 停止或恢复拉所有远端音频流。 | 2.1.0 | | subscribeRemoteAudioStream | 停止或恢复特定远端用户的音频流拉取。 | 2.1.0 | | setDefaultSubscribeAllRemoteVideoStreams | 设置是否默认拉视频流。 | 2.1.0 | | subscribeAllRemoteVideoStreams | 停止或恢复拉所有远端视频流。 | 2.1.0 | | subscribeRemoteVideoStream | 停止或恢复特定远端用户的视频流拉取。 | 2.1.0 |

视频相关接口

| API | 描述 | 支持的最低版本 | | --- | --- | --- | | setScreenShareEncoderConfiguration | 设置屏幕共享编码属性 | 2.1.0 | | setLocalViewConfig | 为本地预览设置渲染窗口以及绘制参数 | 2.1.0 | | enableLocalVideo | 禁用或重新启用本地视频采集 | 2.1.0 | | muteLocalCamera | 设置是否停止推本地视频流 | 2.1.0 | | setRemoteViewConfig | 为远端的视频设置渲染窗口 | 2.1.0 | | stopRecord | 停止录制 | 2.1.0 | | startRecord | 开始录制 | 2.1.0 | | pauseRecord | 暂停录制 | 2.1.0 | | resumeRecord | 重新开始录制 | 2.1.0 | | setBeautyEffect | 设置基础美颜 | 2.1.0 | | setVideoEncoderConfiguration | 设置视频编码属性 | 2.1.0 |

共享视频接口

| API | 描述 | 支持的最低版本 | | --- | --- | --- | | startScreenShareByDesktopId | 根据桌面ID进行屏幕分享。 | 2.1.0 | | startScreenShareByWindowId | 根据窗口ID进行屏幕分享。 | 2.1.0 | | stopScreenShare | 停止屏幕分享。 | 2.1.0 | | getScreenShareConfig | 获取屏幕共享配置。 | 2.1.0 | | getScreenShareSourceInfo | 获取屏幕分享源信息。 | 2.1.0 | | getCurrentScreenShareSourceId | 获取当前屏幕共享源ID。 | 2.1.0 | | getCurrentScreenShareSourceType | 获取当前屏幕共享源类型。 | 2.1.0 |

音频相关接口

| API | 描述 | 支持的最低版本 | | --- | --- | --- | | muteLocalMic | 设置是否停止推本地音频。 | 2.1.0 | | muteRemoteAudio | 设置是否停止播放远端音频流。 | 2.1.0 | | muteAllRemoteAudio | 停止或恢复远端所有的音频播放。 | 2.1.0 | | startAudioCapture | 开启音频采集。 | 2.1.0 | | stopAudioCapture | 关闭音频采集。 | 2.1.0 | | startAudioPlayer | 开启音频播放设备。 | 2.1.0 | | stopAudioPlayer | 关闭音频播放。 | 2.1.0 | | enableAudioVolumeIndication | 设置音量回调频率和平滑系数。 | 2.1.0 | | setAudioProfile | 设置音频Profile。 | 2.1.0 | | startAudioAccompany | 开始混音 | 2.1.0 | | stopAudioAccompany | 停止混音 | 2.1.0 | | setAudioAccompanyVolume | 设置混音音量 | 2.1.0 | | setAudioAccompanyPublishVolume | 设置混音之后推流出去的音量 | 2.1.0 | | getAudioAccompanyPublishVolume | 获取推流出去的混音音量 | 2.1.0 | | setAudioAccompanyPlayoutVolume | 设置混音之后本地播放的音量 | 2.1.0 | | getAudioAccompanyPlayoutVolume | 获取混音本地播放的音量 | 2.1.0 | | pauseAudioAccompany | 暂停混音 | 2.1.0 | | resumeAudioAccompany | 重新开始混音 | 2.1.0 | | getAudioAccompanyDuration | 获取伴奏文件时长 | 2.1.0 | | getAudioAccompanyCurrentPosition | 获取音乐文件播放进度 | 2.1.0 | | setAudioAccompanyPosition | 设置音频文件的播放位置 | 2.1.0 | | enableSystemAudioRecording | 设置是否开启系统声音采集推送。 | 2.1.0 | | isSystemAudioRecording | 当前是否开启系统声音采集推送。 | 2.1.0 | | setSystemAudioRecordingVolume | 设置系统声音采集推送音量。 | 2.1.0 | | getSystemAudioRecordingVolume | 获取当前设置系统声音采集推送音量。 | 2.1.0 |

音频设备管理接口

| API | 描述 | 支持的最低版本 | | --- | --- | --- | | getAudioCaptureList | 获取系统中的录音设备列表。 | 2.1.0 | | getCurrentAudioCaptureName | 获取使用的录音设备名称。 | 2.1.0 | | getCurrentAudioCaptureID | 获取使用的录音设备ID。 | 2.1.0 | | setCurrentAudioCaptureName | 选择录音设备名称。 | 2.1.0 | | setCurrentAudioCaptureID | 选择录音设备ID。 | 2.1.0 | | getAudioPlayerList | 获取系统中的扬声器列表。 | 2.1.0 | | getCurrentAudioPlayerName | 获取当前使用的扬声器名称。 | 2.1.0 | | getCurrentAudioPlayerID | 获取当前使用的扬声器ID。 | 2.1.0 | | setCurrentAudioPlayerName | 选择扬声器名称。 | 2.1.0 | | setCurrentAudioPlayerID | 选择扬声器ID。 | 2.1.0 | | startTestAudioRecordByName | 开始测试音频采集设备。 | 2.1.0 | | startTestAudioRecordById | 开启麦克风设备测试(按设备ID)。 | 2.1.0 | | stopTestAudioRecord | 停止测试音频采集设备。 | 2.1.0 | | startTestAudioPlayoutByName | 开始测试音频播放设备。 | 2.1.0 | | startTestAudioPlayoutById | 开启扬声器设备测试(按设备ID)。 | 2.1.0 | | stopTestAudioPlayout | 停止测试音频播放设备。 | 2.1.0 |

视频设备管理接口

| API | 描述 | 支持的最低版本 | | --- | --- | --- | | getCameraList | 获取摄像头列表。 | 2.1.0 | | getCurrentCameraName | 获取当前使用的摄像头名称。 | 2.1.0 | | getCurrentCameraID | 获取当前使用的摄像头ID。 | 2.1.0 | | setCurrentCameraName | 选择摄像头名称。 | 2.1.0 | | setCurrentCameraID | 选择摄像头ID。 | 2.1.0 |

预览接口

| API | 描述 | 以上版本支持 | | --- | --- | --- | | startPreview | 开启预览 | 2.1.0 | | stopPreview | 停止预览 | 2.1.0 |

远端用户查询接口

| API | 描述 | 支持的最低版本 | | --- | --- | --- | | getUserInfo | 查询远端用户信息。 | 2.1.0 |

其他接口

| API | 描述 | 支持的最低版本 | | --- | --- | --- | | getSDKVersion | 获取SDK版本号。 | 2.1.0 | | setClientRole | 设置用户角色。 | 2.1.0 | | getClientRole | 获取用户角色。 | 2.1.0 | | startLastmileDetect | 开始网络质量探测。 | 2.1.0 | | stopLastmileDetect | 停止网络质量探测。 | 2.1.0 | | getCurrentConnectionStatus | 获取当前网络链接状态。 | 2.1.0 | | on | 订阅事件 | 2.1.0 | | off | 取消订阅事件 | 2.1.0 |

接口详情

基础接口
  • 实例化
let aliElectronRtc = new AliRtcEngine(option)

| 参数 | - | 类型 | 描述 | | --- | --- | --- | --- | | option | h5CompatibleMode | Boolean | 是否开启H5兼容,默认false | | - | extension | Object | 定制参数,默认空对象,可不填 |

注:H5兼容模式是指是否能和Web端正常通信,默认关闭。 ​

  • destroy:销毁实例
aliElectronRtc.destroy();
频道相关接口
  • joinChannel:加入频道。

注:1、加入频道成功后,如果中途需要加入其他频道,必须先调用leaveChannel离开当前频道。 2、如果加入频道失败,需要重试时,无需先调用leaveChannel。 3、该接口是异步接口,是否成功加入频道,通过onJoinChannelResult判断。

aliElectronRtc.joinChannel(authInfo, options)

| 参数 | 类型 | 描述 | | --- | --- | --- | | authInfo | AliEngineAuthInfo | 鉴权信息 | | options | ChannelMediaOptions | 订阅选项 |

  • isInCall: 是否在频道中
aliElectronRtc.isInCall()

返回说明:true表示在频道中,false表示不在频道中 ​

  • leaveChannel: 离开频道
aliElectronRtc.leaveChannel()

注:该接口是异步接口,是否成功加入频道,通过onJoinChannelResult判断 ​

  • setChannelProfile: 设置频道类型

注:默认通信模式,设置频道模式需要在入会前调用。 返回 0:成功,其他表示对应错误码

aliElectronRtc.setChannelProfile(profile)

| 参数 | 类型 | 描述 | | --- | --- | --- | | profile | AliEngineChannelProfile | 频道类型 |

发布相关接口
  • publishLocalVideoStream:设置是否允许推视频流。
aliElectronRtc.publishLocalVideoStream(enable)

| 参数 | 类型 | 描述 | | --- | --- | --- | | enable | Boolean | 是否允许推视频流 |

  • isLocalVideoStreamPublished:查询当前是否允许推视频流。
aliElectronRtc.isLocalVideoStreamPublished()

返回说明:true表示允许推相机流,false表示不允许推相机流。 ​

  • isScreenSharePublished:查询当前是否允许推屏幕流。
aliElectronRtc.isScreenSharePublished()

返回说明:true表示允许推相机流,false表示不允许推相机流。 ​

  • publishLocalAudioStream:设置是否允许推音频流。
aliElectronRtc.publishLocalAudioStream(enable)

| 参数 | 类型 | 描述 | | --- | --- | --- | | enable | Boolean | 是否允许推音频流 |

返回说明:0表示方法调用成功,其他表示方法调用失败。

  • isLocalAudioStreamPublished:查询当前是否允许推音频流。
aliElectronRtc.isLocalAudioStreamPublished

返回说明:true表示允许推音频流,false表示不允许推音频流。

  • publishLocalDualStream:设置是否允许推次要视频流。
aliElectronRtc.publishLocalDualStream(enable)

| 参数 | 类型 | 描述 | | --- | --- | --- | | enable | Boolean | 是否允许推次要视频流 |

返回说明:0表示方法调用成功,其他表示方法调用失败。

  • isDualStreamPublished:查询当前是否允许推次要视频流。
aliElectronRtc.isDualStreamPublished()

返回说明:true表示允许推次要视频流,false表示不允许推次要视频流。

订阅相关接口
  • setRemoteVideoStreamType:设置订阅的相机流格式。
aliElectronRtc.setRemoteVideoStreamType(uid, streamType)

| 参数 | 类型 | 描述 | | --- | --- | --- | | uid | String | 远端用户ID。 | | streamType | AliEngineVideoStreamType | 相机流格式。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • setRemoteDefaultVideoStreamType:设置默认订阅的相机流格式。
aliElectronRtc.SetRemoteDefaultVideoStreamType(streamType)

| 参数 | 类型 | 描述 | | --- | --- | --- | | streamType | AliEngineVideoStreamType | 相机流格式。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • setDefaultSubscribeAllRemoteAudioStreams:设置是否默认拉音频流。
aliElectronRtc.setDefaultSubscribeAllRemoteAudioStreams(sub)

| 参数 | 类型 | 描述 | | --- | --- | --- | | sub | Boolean | 是否订阅 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • subscribeAllRemoteAudioStreams:停止或恢复拉所有远端音频流。
aliElectronRtc.subscribeAllRemoteAudioStreams(sub)

| 参数 | 类型 | 描述 | | --- | --- | --- | | sub | Boolean | 是否订阅。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • subscribeRemoteAudioStream:停止或恢复特定远端用户的音频流拉取。
aliElectronRtc.subscribeRemoteAudioStream(uid, sub)

| 参数 | 类型 | 描述 | | --- | --- | --- | | uid | String | 远端用户ID | | sub | Boolean | 是否订阅 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • setDefaultSubscribeAllRemoteVideoStreams:设置是否默认拉视频流。
aliElectronRtc.setDefaultSubscribeAllRemoteVideoStreams(sub)

| 参数 | 类型 | 描述 | | --- | --- | --- | | sub | Boolean | 是否订阅。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • subscribeAllRemoteVideoStreams:停止或恢复拉所有远端视频流。
aliElectronRtc.subscribeAllRemoteVideoStreams(sub)

| 参数 | 类型 | 描述 | | --- | --- | --- | | sub | Boolean | 是否订阅。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • subscribeRemoteVideoStream:停止或恢复特定远端用户的视频流拉取。
aliElectronRtc.subscribeRemoteVideoStream(uid, track, sub)

| 参数 | 类型 | 描述 | | --- | --- | --- | | uid | String | 远端用户ID。 | | track | AliEngineVideoTrack | 视频流类型。 | | sub | Boolean | 是否订阅。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

视频相关接口
  • setScreenShareEncoderConfiguration:设置屏幕共享编码属性。
aliElectronRtc.setScreenShareEncoderConfiguration(config)

| 参数 | 类型 | 描述 | | --- | --- | --- | | config | AliEngineScreenShareEncoderConfiguration | 屏幕共享编码属性。 |

  • setLocalViewConfig:为本地预览设置渲染窗口
aliElectronRtc.setLocalViewConfig(element)

| 参数 | 类型 | 描述 | | --- | --- | --- | | element | HTMLDivElement | 预览容器 |

  • enableLocalVideo:禁用或重新启用本地视频采集。
aliElectronRtc.enableLocalVideo(enable)

| 参数 | 类型 | 描述 | | --- | --- | --- | | enable | Boolean | 禁用或重新启用本地视频采集 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • muteLocalCamera:停止或恢复本地视频数据发送。
aliElectronRtc.muteLocalCamera(mute, track)

| 参数 | 类型 | 描述 | | --- | --- | --- | | mute | Boolean | 停止或恢复推视频流 | | track | AliEngineVideoTrack | 需要改变推流状态的视频流类型。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

说明此接口只是控制指定视频流上是否发送黑帧,采集和数据发送不会停止,如果需要关闭采集请使用enableLocalVideo接口,如果需要中止视频数据发送请使用publishLocalVideoStream接口。 ​

  • setRemoteViewConfig:为远端的视频设置渲染窗口
aliElectronRtc.setRemoteViewConfig(uid, container, type)

| 参数 | 类型 | 描述 | | --- | --- | --- | | uid | String | 用户ID。 | | container | HTMLDivElement | 视图容器 | | type | Number | 视频流 1:camera 2:screen |

  • stopRecord:停止录制。
aliElectronRtc.stopRecord()

返回说明:true表示方法调用成功,false表示方法调用失败。 ​

  • startRecord:开始录制
aliElectronRtc.startRecord(recordType, recordFormat, filePath, audioConfig, videoConfig, isFragment)

| 参数 | 类型 | 描述 | | --- | --- | --- | | recordType | AliEngineRecordType | 录制类型 | | recordFormat | AliEngineRecordFormat | 录制格式 | | filePath | String | 文件路径 | | audioConfig | AliEngineRecordAudioConfig | 录制音频设置 | | videoConfig | AliEngineRecordVideoConfig | 录制视频设置 | | isFragment | Boolean | 是否支持mp4内部分段,只在录制mp4时有效 |

返回说明:true表示方法调用成功,false表示方法调用失败。 注:目前仅支持音频录制 ​

  • pauseRecord:暂停录制。
aliElectronRtc.pauseRecord()

返回说明:true表示方法调用成功,false表示方法调用失败。

  • resumeRecord:重新开始录制。
aliElectronRtc.resumeRecord()

返回说明:true表示方法调用成功,false表示方法调用失败。 ​

  • setBeautyEffect:设置是否启用基础美颜。
aliElectronRtc.setBeautyEffect(enable, config)

| 参数 | 类型 | 描述 | | --- | --- | --- | | enable | Boolean | 是否启用基础美颜 | | config | AliEngineBeautyConfig | 基础美颜参数。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。

说明该接口目前只支持美白和磨皮。 ​

  • setVideoEncoderConfiguration:设置视频编码属性。
aliElectronRtc.setVideoEncoderConfiguration(config)

| 参数 | 类型 | 描述 | | --- | --- | --- | | config | ​AliEngineVideoEncoderConfiguration | 预定义的编码属性。 |

共享视频接口
  • startScreenShareByDesktopId:根据桌面ID进行屏幕分享。
aliElectronRtc.startScreenShareByDesktopId(desktopId, config) 

| 参数 | 类型 | 描述 | | --- | --- | --- | | desktopId | Number | 桌面ID(可通过getScreenShareSourceInfo接口获取) | | config | AliEngineScreenShareConfig​ | 屏幕分享配置 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 说明 配置指定区域分享时,分享区域最小分辨率为16 x 16,设置区域小于最小分辨率时重置为最小分辨率;设置分享区域超过实际桌面分辨率时,将分享整个桌面。 ​

  • startScreenShareByWindowId:根据窗口ID进行屏幕分享。
aliElectronRtc.startScreenShareByWindowId(windowId, config)

| 参数 | 类型 | 描述 | | --- | --- | --- | | windowId | Number | 窗口ID(可通过GetScreenShareSourceInfo接口获取) | | config | ​AliEngineScreenShareConfig | 屏幕分享配置 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • stopScreenShare:停止屏幕分享。
aliElectronRtc.stopScreenShare()

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • getScreenShareConfig:获取屏幕共享配置。
aliElectronRtc.getScreenShareConfig()

返回说明:返回屏幕共享配置信息 AliEngineScreenShareConfig​ ​

  • getScreenShareSourceInfo:获取屏幕分享源信息。
aliElectronRtc.getScreenShareSourceInfo(sourceType).then(sourceInfo => {
	//...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | sourceType | AliEngineScreenShareType | 屏幕分享类型。 |

返回说明:Promise 返回屏幕共享源列表

| 返回各项参数名 | 类型 | 描述 | | --- | --- | --- | | sourceId | Number | 源id | | sourceTitle | String | 源名称 | | appIcon | NativeImage | null | 窗口icon | | thumbnail | NativeImage | null | 缩略图 |

  • getCurrentScreenShareSourceId:获取当前屏幕共享源ID。
aliElectronRtc.getCurrentScreenShareSourceId()

返回说明:返回当前屏幕共享源ID。 ​

  • getCurrentScreenShareSourceType:获取当前屏幕共享源类型。
aliElectronRtc.getCurrentScreenShareSourceType()

返回说明:返回当前屏幕共享源类型。 ​

音频相关接口
  • muteLocalMic:停止或恢复本地音频数据发送。
aliElectronRtc.muteLocalMic(mute, mode)

| 参数 | 类型 | 描述 | | --- | --- | --- | | mute | Boolean | 停止或恢复本地音频数据发送 | | mode | AliEngineMuteLocalAudioMode | 静音模式,默认麦克风静音模式。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。

说明 mute只是发送音频数据为静音帧,采集和编码模块仍然在工作。 ​

  • muteRemoteAudio:停止或恢复远端的音频播放。
aliElectronRtc.muteRemoteAudio(uid, mute)

| 参数 | 类型 | 描述 | | --- | --- | --- | | uid | String | 用户ID。 | | mute | Boolean | 停止或恢复远端的音频播放 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • muteAllRemoteAudio:停止或恢复远端所有的音频播放。
aliElectronRtc.muteAllRemoteAudio(mute)

| 参数 | 类型 | 描述 | | --- | --- | --- | | mute | Boolean | 停止或恢复远端所有的音频播放 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • startAudioCapture:开启音频采集。
aliElectronRtc.startAudioCapture()

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • stopAudioCapture:关闭音频采集。
aliElectronRtc.stopAudioCapture()

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • startAudioPlayer:开启音频播放设备。
aliElectronRtc.StartAudioPlayer()

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • stopAudioPlayer:关闭音频播放。
aliElectronRtc.stopAudioPlayer()

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • enableAudioVolumeIndication:设置音量回调频率和平滑系数。
aliElectronRtc.enableAudioVolumeIndication(interval, smooth, reportVad)

| 参数 | 类型 | 描述 | | --- | --- | --- | | interval | Number | 时间间隔,单位为毫秒,最小值不得小于10ms,建议设置300~500ms;小于等于0表示不启用音量提示和说话人提示功能。 | | smooth | Number | 平滑系数,数值越大平滑程度越高,反之越低,实时性越好,取值范围:[0,9],建议设置3。 | | reportVad | Number | 说话人检测开关。取值:0:关闭。1:开启,通过onAudioVolumeCallback接口回调每一个说话人的状态。|

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • setAudioProfile:设置音频Profile。
aliElectronRtc.setAudioProfile(audio_profile, audio_scene)

| 参数 | 类型 | 描述 | | --- | --- | --- | | audio_profile | AliEngineAudioProfile | 音频采集或编码模式参数 | | audio_scene | AliEngineAudioScenario | 音频场景模式参数 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • startAudioAccompany:开始混音
aliElectronRtc.startAudioAccompany(filePath, onlyLocalPlay, replaceMic, loopCycles)

| 参数 | 类型 | 描述 | | --- | --- | --- | | filePath | String | 混音文件路径。 | | onlyLocalPlay | Boolean | 是否只本地播放。 | | replaceMic | Boolean | 是否替换掉MIC。 | | loopCycles | Number | 循环次数(可以设置-1或者正整数)。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • stopAudioAccompany:停止混音
aliElectronRtc.stopAudioAccompany()

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • setAudioAccompanyVolume:设置混音音量
aliElectronRtc.setAudioAccompanyVolume(volume)

| 参数 | 类型 | 描述 | | --- | --- | --- | | volume | Number | 混音音量,取值范围:[0,100]。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 说明设置音量需要在startAudioAccompany后才能生效。 ​

  • setAudioAccompanyPublishVolume:设置混音之后推流出去的音量
aliElectronRtc.setAudioAccompanyPublishVolume(volume)

| 参数 | 类型 | 描述 | | --- | --- | --- | | volume | Number | 混音音量,取值范围:[0,100]。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 说明设置音量需要在startAudioAccompany后才能生效。 ​

  • getAudioAccompanyPublishVolume:获取推流出去的混音音量
aliElectronRtc.getAudioAccompanyPublishVolume()

返回说明:返回推流出去的混音音量。 ​

  • setAudioAccompanyPlayoutVolume:设置混音之后本地播放的音量
aliElectronRtc.setAudioAccompanyPlayoutVolume(volume)

| 参数 | 类型 | 描述 | | --- | --- | --- | | volume | Number | 混音音量,取值范围:[0,100]。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 说明设置音量需要在startAudioAccompany后才能生效。 ​

  • getAudioAccompanyPlayoutVolume:获取混音本地播放的音量
aliElectronRtc.getAudioAccompanyPlayoutVolume()

返回说明:当前混音本地播放的音量大小。 ​

  • pauseAudioAccompany:暂停混音
aliElectronRtc.pauseAudioAccompany()

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • resumeAudioAccompany:重新开始混音
aliElectronRtc.resumeAudioAccompany()

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • getAudioAccompanyDuration:获取伴奏文件时长
aliElectronRtc.getAudioAccompanyDuration()

返回说明:返回当前伴奏文件时长,单位为毫秒。 ​

  • getAudioAccompanyCurrentPosition:获取音乐文件播放进度
aliElectronRtc.getAudioAccompanyCurrentPosition()

返回说明:当前音乐文件播放进度,单位为毫秒。 ​

  • setAudioAccompanyPosition:设置音频文件的播放位置
aliElectronRtc.setAudioAccompanyPosition(pos)

| 参数 | 类型 | 描述 | | --- | --- | --- | | pos | Number | 进度条位置,单位为毫秒。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • enableSystemAudioRecording:设置是否开启系统声音采集推送。
aliElectronRtc.enableSystemAudioRecording(enable, path)

| 参数 | 类型 | 描述 | | --- | --- | --- | | enable | Boolean | 是否开启系统声音采集推送 | | path | String | windows 可以设置为第三方播放器路径, mac需要设置为虚拟声卡设备名才能采集系统声音,关闭时需要传入要切换回的扬声器名称 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • isSystemAudioRecording:当前是否开启系统声音采集推送。
aliElectronRtc.isSystemAudioRecording()

返回说明:true表示开启状态, false表示关闭状态。 ​

  • setSystemAudioRecordingVolume:设置系统声音采集推送音量。
aliElectronRtc.setSystemAudioRecordingVolume(volume)

| 参数 | 类型 | 描述 | | --- | --- | --- | | volume | Number | 设置音量。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • getSystemAudioRecordingVolume:获取当前设置系统声音采集推送音量。
aliElectronRtc.getSystemAudioRecordingVolume()

返回说明:返回系统音量。 说明需要开启系统声音采集推送后才能设置,否则设置失败。 ​

音频设备管理接口
  • getAudioCaptureList:获取系统中的录音设备列表。
aliElectronRtc.getAudioCaptureList()

返回说明:返回系统中的录音设备列表。 ​

  • getCurrentAudioCaptureName:获取使用的录音设备名称。
aliElectronRtc.getCurrentAudioCaptureName()

返回说明:返回当前音频采集设备名。 ​

  • getCurrentAudioCaptureID:获取使用的录音设备ID。
aliElectronRtc.getCurrentAudioCaptureID()

返回说明:返回当前音频采集设备ID。 ​

  • setCurrentAudioCaptureName:选择录音设备名称。
aliElectronRtc.setCurrentAudioCaptureName()

| 参数 | 类型 | 描述 | | --- | --- | --- | | captureName | String | 音频采集设备名称。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • setCurrentAudioCaptureID:选择录音设备ID。
aliElectronRtc.setCurrentAudioCaptureID()

| 参数 | 类型 | 描述 | | --- | --- | --- | | captureID | String | 音频采集设备名称。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • getAudioPlayerList:获取系统中的扬声器列表。
aliElectronRtc.getAudioPlayerList()

返回说明:返回音频播放设备列表。 ​

  • getCurrentAudioPlayerName:获取当前使用的扬声器名称。
aliElectronRtc.getCurrentAudioPlayerName()

返回说明:返回当前音频播放设备名。 ​

  • getCurrentAudioPlayerID:获取当前使用的扬声器ID。
aliElectronRtc.getCurrentAudioPlayerID()

返回说明:返回当前音频播放设备ID。 ​

  • setCurrentAudioPlayerName:选择扬声器名称。
aliElectronRtc.setCurrentAudioPlayerName()

| 参数 | 类型 | 描述 | | --- | --- | --- | | playerName | String | 音频播放设备名称。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • setCurrentAudioPlayerID:选择扬声器ID。

| 参数 | 类型 | 描述 | | --- | --- | --- | | playerID | String | 音频播放设备ID。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • startTestAudioRecordByName:开始测试音频采集设备
aliElectronRtc.startTestAudioRecordByName(deviceName, callbackInterval)

| 参数 | 类型 | 描述 | | --- | --- | --- | | deviceName | String | 音频采集设备名称。 | | callbackInterval | Number | 音量回调频率,单位:毫秒,默认值200毫秒。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 说明开始测试后音量信息通过onAudioDeviceRecordLevel回调返回。 ​

  • startTestAudioRecordById:开启麦克风设备测试(按设备ID)。
aliElectronRtc.startTestAudioRecordById(deviceId, callbackInterval)

| 参数 | 类型 | 描述 | | --- | --- | --- | | deviceId | String | 设备ID。 | | callbackInterval | Number | 音量回调频率,单位:毫秒,默认值200毫秒。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 说明开始测试后音量信息通过onAudioDeviceRecordLevel回调返回。 ​

  • stopTestAudioRecord:停止测试音频采集设备。
aliElectronRtc.stopTestAudioRecord()

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • startTestAudioPlayoutByName:开始测试音频播放设备。
aliElectronRtc.startTestAudioPlayoutByName(deviceName, filePath, callbackInterval, loopCycles)

| 参数 | 类型 | 描述 | | --- | --- | --- | | deviceName | String | 音频播放设备名称。 | | filePath | String | 音频文件路径。 | | callbackInterval | Number | 音量回调频率,单位:毫秒,默认值200毫秒。 | | loopCycles | Number | 重复播放次数,-1表示循环播放。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • startTestAudioPlayoutById:开启扬声器设备测试(按设备ID)。
aliElectronRtc.startTestAudioPlayoutById(deviceId, filePath, callbackInterval, loopCycles)

| 参数 | 类型 | 描述 | | --- | --- | --- | | deviceId | String | 设备ID。 | | filePath | String | 音频文件路径。 | | callbackInterval | Number | 音量回调频率,单位:毫秒,默认值200毫秒。 | | loopCycles | Number | 重复播放次数,-1表示循环播放。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 说明开始测试后音量信息通过onAudioDevicePlayoutLevel回调返回。 ​

  • stopTestAudioPlayout:停止测试音频播放设备。
aliElectronRtc.stopTestAudioPlayout()

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

视频设备管理接口
  • getCameraList:获取摄像头列表。
aliElectronRtc.getCameraList()

返回说明:返回摄像头列表。 ​

  • getCurrentCameraName:获取当前使用的摄像头名称。
aliElectronRtc.getCurrentCameraName()

返回说明:返回当前使用的摄像头名称。 ​

  • getCurrentCameraID:获取当前使用的摄像头ID。
aliElectronRtc.getCurrentCameraID()

返回说明:返回当前使用的摄像头ID。 ​

  • setCurrentCameraName:选择摄像头名称。
aliElectronRtc.setCurrentCameraName(cameraName)

| 参数 | 类型 | 描述 | | --- | --- | --- | | cameraName | String | 摄像头名称。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • setCurrentCameraID:选择摄像头ID。
aliElectronRtc.setCurrentCameraID(cameraID)

| 参数 | 类型 | 描述 | | --- | --- | --- | | cameraID | String | 摄像头ID。 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

预览接口
  • startPreview:开始本地预览。
aliElectronRtc.startPreview()

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • stopPreview:停止本地预览。
aliElectronRtc.stopPreview()

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • getUserInfo:查询远端用户的各种状态。
aliElectronRtc.getUserInfo(uid)

| 参数 | 类型 | 描述 | | --- | --- | --- | | uid | String | 用户ID。 |

返回说明

| 返回 | 类型 | 描述 | | --- | --- | --- | | userInfo | Object | 用户信息 |

  • getSDKVersion:获取SDK版本号。
aliElectronRtc.getSDKVersion()

返回说明:返回SDK版本号。 ​

  • setClientRole:设置用户角色。
aliElectronRtc.setClientRole(clientRole)

| 参数 | 类型 | 描述 | | --- | --- | --- | | clientRole | AliEngineClientRole | 用户角色类型 |

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • getClientRole:获取用户角色。
aliElectronRtc.getClientRole()

返回说明:返回当前用户角色。 ​

  • startLastmileDetect:开始网络质量探测。
aliElectronRtc.startLastmileDetect()

返回说明:0表示方法调用成功,其他表示方法调用失败。 说明此接口需在joinChannel之前调用,探测结果在onLastmileDetectResultWithQuality回调。 ​

  • stopLastmileDetect:停止网络质量探测。
aliElectronRtc.stopLastmileDetect()

返回说明:0表示方法调用成功,其他表示方法调用失败。 ​

  • getCurrentConnectionStatus:获取当前网络连接状态。
aliElectronRtc.getCurrentConnectionStatus()

返回说明:返回当前网络连接状态 AliEngineConnectionStatus ​

  • on:订阅事件
aliElectronRtc.on(event, handler)

| 参数 | 类型 | 描述 | | --- | --- | --- | | event | String | 事件名称 | | handler | Function | 回调函数 |

  • off:取消订阅事件
aliElectronRtc.off(event, handler)

| 参数 | 类型 | 描述 | | --- | --- | --- | | event | String | 事件名称 | | handler | Function | 回调函数 |

回调文档

目录

| API | 描述 | 支持的最低版本 | | --- | --- | --- | | onJoinChannelResult | 加入频道结果的回调。 | 2.1.0 | | onLeaveChannelResult | 离开频道结果的回调。 | 2.1.0 | | onRemoteUserOnLineNotify | 远端用户上线的回调。 | 2.1.0 | | onRemoteUserOffLineNotify | 远端用户下线的回调。 | 2.1.0 | | onAudioPublishStateChanged | 音频推流变更的回调。 | 2.1.0 | | onVideoPublishStateChanged | 视频推流变更的回调。 | 2.1.0 | | onDualStreamPublishStateChanged | 次要流推流变更的回调。 | 2.1.0 | | onScreenSharePublishStateChangedWithInfo | 屏幕分享推流变更的回调(适用于Mac或windows端)。 | 2.1.0 | | onRemoteTrackAvailableNotify | 远端用户音视频流发生变化时的回调。 | 2.1.0 | | onAudioSubscribeStateChanged | 音频订阅情况变更的回调。 | 2.1.0 | | onVideoSubscribeStateChanged | 相机流订阅情况变更的回调。 | 2.1.0 | | onScreenShareSubscribeStateChanged | 屏幕分享流订阅情况变更的回调。 | 2.1.0 | | onSubscribeStreamTypeChanged | 大小流订阅情况变更的回调。 | 2.1.0 | | onOccurWarning | 警告回调。 | 2.1.0 | | onOccurError | 错误回调。 | 2.1.0 | | onBye | 被服务器踢出或者频道关闭时的回调。 | 2.1.0 | | onAudioDeviceStateChanged | 音频设备状态变更的回调。 | 2.1.0 | | onVideoDeviceStateChanged | 视频设备状态变更的回调。 | 2.1.0 | | onNetworkQualityChanged | 网络质量变化时的回调。 | 2.1.0 | | onUserAudioMuted | 对端用户停止音频数据发送的通知。 | 2.1.0 | | onUserVideoMuted | 对端用户发送视频黑帧数据发送的通知。 | 2.1.0 | | onUpdateRoleNotify | 用户角色发生改变时的回调。 | 2.1.0 | | onAudioPlayingStateChanged | 伴奏播放的回调。 | 2.1.0 | | onLastmileDetectResultWithQuality | 网络质量探测的回调。 | 2.1.0 | | onAudioDeviceRecordLevel | 音频采集设备测试的回调。 | 2.1.0 | | onAudioDevicePlayoutLevel | 音频播放设备测试回调。 | 2.1.0 | | onAudioDevicePlayoutEnd | 音频播放设备测试结束(音频文件播放完毕)时的回调。 | 2.1.0 | | onStats | 当前会话统计信息回调(2s触发一次)。 | 2.1.0 | | onLocalVideoStats | 本地视频统计信息回调(2s触发一次)。 | 2.1.0 | | onRemoteVideoStats | 远端视频统计信息回调(2s触发一次)。 | 2.1.0 | | onLocalAudioStats | 本地音频统计信息回调(2s触发一次)。 | 2.1.0 | | onRemoteAudioStats | 远端音频统计信息回调(2s触发一次)。 | 2.1.0 | | onMediaRecordEvent | 录制事件回调。 | 2.1.0 | | onAudioVolumeCallback | 用户音量大小的回调。 | 2.1.0 | | onActiveSpeaker | 订阅的当前说话人。 | 2.1.0 |

回调详情

  • onJoinChannelResult:加入频道结果的回调。
aliElectronRtc.on("onJoinChannelResult", (result, channel, elapsed)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | result | Number | 加入频道结果,成功返回0,失败返回错误码。 | | channel | String | 频道ID。 | | elapsed | Number | 加入频道耗时。 |

  • onLeaveChannelResult:离开频道结果的回调。调用leaveChannel接口后返回,如果leaveChannel后直接释放SDK,将不会收到此回调。
aliElectronRtc.on("onJoinChannelResult", (result)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | result | Number | 成功返回0,失败返回错误码信息。 |

  • onRemoteUserOnLineNotify:远端用户上线的回调。
aliElectronRtc.on("onRemoteUserOnLineNotify", (uid, elapsed)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | uid | String | 远端用户ID。 | | elapsed | Number | 用户加入频道时的耗时。 |

  • onRemoteUserOffLineNotify:远端用户下线的回调。
aliElectronRtc.on("OnRemoteUserOffLineNotify", (uid, reason)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | uid | String | 远端用户ID。 | | reason | AliEngineUserOfflineReason | 用户离线的原因。 |

  • onAudioPublishStateChanged:音频推流变更的回调。
aliElectronRtc.on("onAudioPublishStateChanged", (oldState, newState, elapseSinceLastState, channel)=> {
	// ...
})

| 名称 | 类型 | 描述 | | --- | --- | --- | | oldState | AliEnginePublishState | 之前的推流状态。 | | newState | AliEnginePublishState | 当前的推流状态。 | | elapseSinceLastState | Number | 状态变更时间间隔。 | | channel | String | 当前频道ID。 |

  • onVideoPublishStateChanged:视频推流变更的回调。
aliElectronRtc.on("onVideoPublishStateChanged", (oldState, newState, elapseSinceLastState, channeluid, elapsed)=> {
	// ...
})

| 名称 | 类型 | 描述 | | --- | --- | --- | | oldState | AliEnginePublishState | 之前的推流状态。 | | newState | AliEnginePublishState | 当前的推流状态。 | | elapseSinceLastState | Number | 状态变更时间间隔。 | | channel | String | 当前频道ID。 |

  • onDualStreamPublishStateChanged:次要流推流变更的回调。
aliElectronRtc.on("onDualStreamPublishStateChanged", (oldState, newState, elapseSinceLastState, channel)=> {
	// ...
})

| 名称 | 类型 | 描述 | | --- | --- | --- | | oldState | AliEnginePublishState | 之前的推流状态。 | | newState | AliEnginePublishState | 当前的推流状态。 | | elapseSinceLastState | Number | 状态变更时间间隔。 | | channel | String | 当前频道ID。 |

  • onScreenSharePublishStateChangedWithInfo:屏幕分享推流变更的回调
aliElectronRtc.on("onRemoteUserOnLineNotify", (oldState, newState, elapseSinceLastState, channel, screenShareInfo)=> {
	// ...
})

| 名称 | 类型 | 描述 | | --- | --- | --- | | oldState | AliEnginePublishState | 之前的推流状态。 | | newState | AliEnginePublishState | 当前的推流状态。 | | elapseSinceLastState | Number | 状态变更时间间隔。 | | channel | String | 当前频道ID。 | | screenShareInfo | AliEngineScreenShareInfo | 本次屏幕共享推流信息。 |

  • onRemoteTrackAvailableNotify:远端用户音视频流发生变化时的回调。
aliElectronRtc.on("onRemoteTrackAvailableNotify", (uid, audioTrack, videoTrack)=> {
	// ...
})

| 名称 | 类型 | 描述 | | --- | --- | --- | | uid | String | 远端用户ID。 | | audioTrack | AliEngineAudioTrack | 远端用户发生变化后的音频流。 | | videoTrack | AliEngineVideoTrack | 远端用户发生变化后的视频流。 |

  • onAudioSubscribeStateChanged:音频订阅情况变更的回调。
aliElectronRtc.on("onAudioSubscribeStateChanged", (uid, oldState, newState, elapseSinceLastState, channel)=> {
	// ...
})

| 名称 | 类型 | 描述 | | --- | --- | --- | | uid | String | 远端用户ID。 | | oldState | AliEngineSubscribeState | 之前的订阅状态。 | | newState | AliEngineSubscribeState | 当前的订阅状态。 | | elapseSinceLastState | Number | 状态变更时间间隔。 | | channel | String | 当前频道ID。 |

  • onVideoSubscribeStateChanged:相机流订阅情况变更的回调。
aliElectronRtc.on("onVideoSubscribeStateChanged", (uid, oldState, newState, elapseSinceLastState, channel)=> {
	// ...
})

| 名称 | 类型 | 描述 | | --- | --- | --- | | uid | String | 远端用户ID。 | | oldState | AliEngineSubscribeState | 之前的订阅状态。 | | newState | AliEngineSubscribeState | 当前的订阅状态。 | | elapseSinceLastState | Number | 状态变更时间间隔。 | | channel | String | 当前频道ID。 |

  • onScreenShareSubscribeStateChanged:屏幕分享流订阅情况变更的回调。
aliElectronRtc.on("onRemoteUserOnLineNotify", (uid, oldState, newState, elapseSinceLastState, channel)=> {
	// ...
})

| 名称 | 类型 | 描述 | | --- | --- | --- | | uid | String | 远端用户ID。 | | oldState | AliEngineSubscribeState | 之前的订阅状态。 | | newState | AliEngineSubscribeState | 当前的订阅状态。 | | elapseSinceLastState | Number | 状态变更时间间隔。 | | channel | String | 当前频道ID。 |

  • onSubscribeStreamTypeChanged:大小流订阅情况变更的回调。
aliElectronRtc.on("onSubscribeStreamTypeChanged", (uid, oldStreamType, newStreamType, elapseSinceLastState, channel)=> {
	// ...
})

| 名称 | 类型 | 描述 | | --- | --- | --- | | uid | String | 远端用户ID。 | | oldStreamType | AliEngineVideoStreamType | 之前的订阅状态。 | | newStreamType | AliEngineVideoStreamType | 当前的订阅状态。 | | elapseSinceLastState | Number | 状态变更时间间隔。 | | channel | String | 当前频道ID。 |

  • onOccurWarning:警告回调。目前警告回调可以忽略,不会影响正常使用。
aliElectronRtc.on("onOccurWarning", (warn, msg)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | warn | Number | 警告类型。 | | msg | String | 警告说明。 |

  • onOccurError:错误回调。
aliElectronRtc.on("onOccurError", (error, msg)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | error | Number | 错误类型。 当参数error为16908812或33620229时,您需要先释放实例,重新创建SDK实例,再调用joinChannel加入频道。 | | msg | String | 错误说明。 |

  • onBye:被服务器踢出或者频道关闭时的回调。
aliElectronRtc.on("onBye", (code)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | code | Number | onBye类型,详情请参见AliEngineOnByeType。 |

  • onAudioDeviceStateChanged:音频设备状态变更的回调。
aliElectronRtc.on("onAudioDeviceStateChanged", (deviceInfo, deviceType, deviceState)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | deviceInfo | ​AliEngineDeviceInfo | 外接设备信息。 | | deviceType | AliEngineExternalDeviceType | 外接设备类型。 | | deviceState | AliEngineExternalDeviceState | 外接设备状态。 |

  • onVideoDeviceStateChanged:视频设备状态变更的回调。
aliElectronRtc.on("onVideoDeviceStateChanged", (deviceInfo, deviceType, deviceState)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | deviceInfo | ​AliEngineDeviceInfo | 外接设备信息。 | | deviceType | AliEngineExternalDeviceType | 外接设备类型。 | | deviceState | AliEngineExternalDeviceState | 外接设备状态。 |

  • onNetworkQualityChanged:网络质量变化时的回调。
aliElectronRtc.on("onNetworkQualityChanged", (uid, upQuality, downQuality)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | uid | String | 网络质量发生变化的用户ID,用户ID为空表示本地,其他表示远端。 | | upQuality | AliEngineNetworkQuality | 上行网络质量。 | | downQuality | AliEngineNetworkQuality | 下行网络质量。 |

  • onConnectionStatusChange:网络连接状态改变的回调。
aliElectronRtc.on("onConnectionStatusChange", (status, reason)=> {
	// ...
})

| 名称 | 类型 | 描述 | | --- | --- | --- | | status | Number | 当前网络链接状态,详情请参见AliEngineConnectionStatus。 | | reason | Number | 网络链接状态改变原因,详情请参见AliEngineConnectionStatusChangeReason。 |

  • onUserAudioMuted:对端用户停止音频数据发送的通知。
aliElectronRtc.on("onUserAudioMuted", (uid, isMute)=> {
	// ...
})

| 名称 | 类型 | 描述 | | --- | --- | --- | | uid | String | 执行muteAudio的用户。 | | isMute | Boolean | 是否静音 |

  • onUserVideoMuted:对端用户发送视频黑帧数据发送的通知。
aliElectronRtc.on("onUserVideoMuted", (uid, isMute)=> {
	// ...
})

| 名称 | 类型 | 描述 | | --- | --- | --- | | uid | String | 执行EnableLocalVideo的用户。 | | isMute | Boolean | 是否打开相机流采集 |

  • onUpdateRoleNotify:用户角色发生改变时的回调。
aliElectronRtc.on("onUpdateRoleNotify", (oldRole, newRole)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | oldRole | AliEngineClientRole | 切换前的角色。 | | newRole | AliEngineClientRole | 切换后的角色。 |

  • onAudioPlayingStateChanged:伴奏播放的回调。
aliElectronRtc.on("onAudioPlayingStateChanged", (type, errorCode)=> {
	// ...
})

| 名称 | 类型 | 描述 | | --- | --- | --- | | type | AliEngineAudioPlayingType | 当前播放状态。 | | errorCode | AliEngineAudioPlayingErrorCode | 错误码。 |

  • onLastmileDetectResultWithQuality:网络质量探测的回调。
aliElectronRtc.on("onLastmileDetectResultWithQuality", (networkQuality)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | networkQuality | AliEngineNetworkQuality | 网络质量。 |

  • onAudioDeviceRecordLevel:音频采集设备测试的回调。
aliElectronRtc.on("onAudioDeviceRecordLevel", (level)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | level | Number | 音频采集设备音量值。 |

  • onAudioDevicePlayoutLevel:音频播放设备测试回调。
aliElectronRtc.on("onAudioDevicePlayoutLevel", (level)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | level | Number | 音频采集设备音量值。 |

  • onAudioDevicePlayoutEnd:音频播放设备测试结束(音频文件播放完毕)时的回调。
aliElectronRtc.on("onAudioDevicePlayoutEnd", ()=> {
	// ...
})
  • onStats:当前会话统计信息回调(2s触发一次)。
aliElectronRtc.on("onStats", (stats)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | stats | AliEngineStats | 会话统计信息。 |

  • onLocalVideoStats:本地视频统计信息回调(2s触发一次)。
aliElectronRtc.on("onLocalVideoStats", (localVideoStats)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | localVideoStats | AliEngineLocalVideoStats​ | 本地视频统计信息。 |

  • onRemoteVideoStats:远端视频统计信息回调(2s触发一次)。
aliElectronRtc.on("onRemoteVideoStats", (remoteVideoStats)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | remoteVideoStats | ​AliEngineRemoteVideoStats | 远端视频统计信息。 |

  • onLocalAudioStats:本地音频统计信息回调(2s触发一次)。
aliElectronRtc.on("onLocalAudioStats", (localAudioStats)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | localAudioStats | AliEngineLocalAudioStats | 本地音频统计信息。 |

  • onRemoteAudioStats:远端音频统计信息回调(2s触发一次)。
aliElectronRtc.on("onRemoteAudioStats", (remoteAudioStats)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | remoteAudioStats | AliEngineRemoteAudioStats | 远端音频统计信息。 |

  • onMediaRecordEvent:录制事件回调。
aliElectronRtc.on("onMediaRecordEvent", (event, filePath)=> {
	// ...
})

| 参数 | 类型 | 说明 | | --- | --- | --- | | event | Number | 录制事件。取值:0:录制开始。1:录制结束。2:打开文件失败。3:写文件失败。| | filePath | String | 录制文件路径。 |

  • onAudioVolumeCallback:用户音量大小的回调。
aliElectronRtc.on("onAudioVolumeCallback", (volumeInfo)=> {
	// ...
})

| 参数 | 类型 | 描述 | | --- | --- | --- | | volumeInfo | AliEngineUserVolumeInfo | 说话人结构体信息。AliEngineUserVolumeInfo中userid为0表示本地推流音量,1表示远端混音音量,其他表示用户的音量。 |

  • onActiveSpeaker:订阅的当前说话人。当前时间段说话可能性最大的用户uid。如果返回的uid为0,则默认为本地用户。
aliElectronRtc.on("onActiveSpeaker", (uid)=> {
	// ...
})

| 名称 | 类型 | 描述 | | --- | --- | --- | | uid | String | 用户ID。 |

数据类型

目录

| 数据类型 | 描述 | 支持的最低版本 | | --- | --- | --- | | AliEngineAudioPlayingType | 音乐伴奏播放状态。 | 2.1.0 | | AliEngineAudioPlayingErrorCode | 音乐伴奏播放错误码。 | 2.1.0 | | AliEngineConnectionStatus | 网络连接状态。 | 2.1.0 | | AliEngineConnectionStatusChangeReason | 网络连接状态变更原因。 | 2.1.0 | | AliEnginePublishState | 推流状态。 | 2.1.0 | | AliEngineSubscribeState | 订阅状态。 | 2.1.0 | | AliEngineVideoTrack | 视频流类型。 | 2.1.0 | | AliEngineAudioTrack | 音频流类型。 | 2.1.0 | | AliEngineVideoStreamType | 相机流类型。 | 2.1.0 | | AliEngineVideoRecordSource | 录制视频数据源。 | 2.1.0 | | AliEngineRotationMode | 视频旋转角度。 | 2.1.0 | | AliEngineAudioSampleRate | 音频采样率类型。 | 2.1.0 | | AliEngineNetworkQuality | 网络质量。 | 2.1.0 | | AliEngineAuthInfo | 鉴权信息。 | 2.1.0 | | AliEngineOnByeType | OnBye类型。 | 2.1.0 | | AliEngineUserOfflineReason | 用户离线原因。 | 2.1.0 | | AliEngineScreenShareType | 桌面分享类型。 | 2.1.0 | | AliEngineClientRole | 角色类型。 | 2.1.0 | | AliEngineExternalDeviceType | 外接设备类型。 | 2.1.0 | | AliEngineExternalDeviceState | 外接设备状态。 | 2.1.0 | | AliEngineMuteLocalAudioMode | 本地静音模式。 | 2.1.0 | | AliEngineUserVolumeInfo | 用户音量信息。 | 2.1.0 | | AliEngineScreenShareRegion | 屏幕共享区域。 | 2.1.0 | | AliEngineScreenShareEncoderConfiguration | 屏幕流码属性设置。 | 2.1.0 | | AliEngineScreenShareConfig | 屏幕共享参数配置。 | 2.1.0 | | AliEngineScreenShareInfo | 屏幕共享配置信息。 | 2.1.0 | | AliEngineStats | 会话数据统计信息。 | 2.1.0 | | AliEngineLocalVideoStats | 本地视频统计信息。 | 2.1.0 | | AliEngineRemoteVideoStats | 远端视频统计信息。 | 2.1.0 | | AliEngineLocalAudioStats | 本地音频统计信息。 | 2.1.0 | | AliEngineRemoteAudioStats | 远端音频统计信息。 | 2.1.0 | | AliEngineAudioProfile | 音频编码配置。 | 2.1.0 | | AliEngineAudioScenario | 音频场景。 | 2.1.0 | | AliEngineRecordType | 录制类型。 | 2.1.0 | | AliEngineRecordFormat | 录制格式。 | 2.1.0 | | AliEngineAudioQuality | 录制音频质量。 | 2.1.0 | | AliEngineVideoQuality | 录制视频质量。 | 2.1.0 | | AliEngineRecordAudioConfig | 录制音频设置。 | 2.1.0 | | AliEngineRecordVideoConfig | 录制视频设置。 | 2.1.0 | | AliEngineFrameRate | 视频帧率。 | 2.1.0 | | AliEngineVideoEncoderBitrate | 视频编码码率。 | 2.1.0 | | AliEngineVideoEncoderOrientationMode | 视频输出模式。 | 2.1.0 | | AliEngineVideoMirrorMode | 视频镜像模式。 | 2.1.0 | | AliEngineVideoDimensions | 视频分辨率。 | 2.1.0 | | AliEngineVideoEncoderConfiguration | 视频编码属性设置。 | 2.1.0 | | AliEngineChannelProfile | 频道类型。 | 2.1.0 | | AliEngineErrorCode | SDK错误码。 | 2.1.0 | | AliEngineBeautyConfig | 美颜设置。 | 2.1.0 | | AliEngineDeviceInfo | 设备信息。 | 2.1.0 | | ChannelMediaOptions | 入会选项 | 2.1.0 |

数据详情

注:枚举数据没有标注枚举值的默认按照表格从0开始枚举递增 ​

  • AliEngineAudioPlayingType:音乐伴奏播放状态。

| 枚举名 | 描述 | 枚举值 | | --- | --- | --- | | AliEngineAudioPlayingStarted | 开始播放。 | 100 | | AliEngineAudioPlayingStopped | 停止播放。 | 101 | | AliEngineAudioPlayingPaused | 暂停播放。 | 102 | | AliEngineAudioPlayingResumed | 重启播放。 | 103 | | AliEngineAudioPlayingEnded | 播放结束。 | 104 | | AliEngineAudioPlayingBuffering | 播放缓冲中。 | 105 | | AliEngineAudioPlayingBufferingEnd | 播放缓冲完。 | 106 | | AliEngineAudioPlayingFailed | 播放失败。 | 107 |

  • AliEngineAudioPlayingErrorCode:音乐伴奏播放错误码。

| 枚举名 | 描述 | 枚举值 | | --- | --- | --- | | AliEngineAudioPlayingNoError | 伴奏播放正常。 | 0 | | AliEngineAudioPlayingOpenFailed | 伴奏播放打开失败。 | -100 | | AliEngineAudioPlayingDecodeFailed | 伴奏播放解码失败。 | -101 |

  • AliEngineConnectionStatus:网络连接状态。

| 枚举名 | 描述 | | --- | --- | | AliEngineConnectionInit | 初始化完成。 | | AliEngineConnectionDisconnected | 网络连接断开。 | | AliEngineConnectionConnecting | 建立网络连接中。 | | AliEngineConnectionConnected | 网络已连接。 | | AliEngineConnectionReconnecting | 重新建立网络连接中。 | | AliEngineConnectionFailed | 网络连接失败。 |

  • AliEngineConnectionStatusChangeReason:网络连接状态变更原因。

| 枚举名 | 描述 | | --- | --- | | AliEngineConnectionChangedDummyReason | 未知原因。 | | AliEngineConnectionMediaPathChanged | 媒体通道变更。 | | AliEngineConnectionSignalingHeartbeatTimeout | 心跳超时。 | | AliEngineConnectionSignalingHeartbeatAlive | 心跳恢复。 | | AliEngineConnectionSignalingHttpdnsResolved | DNS解析成功。 | | AliEngineConnectionSignalingHttpdnsFailure | DNS解析失败。 | | AliEngineConnectionSignalingGslbFailure | GSLB请求失败。 | | AliEngineConnectionSignalingGslbSucccess | GSLB请求成功。 | | AliEngineConnectionSignalingJoinChannelFailure | 加入频道失败。 | | AliEngineConnectionSignalingJoinChannelSuccess | 加入频道成功。 | | AliEngineConnectionSignalingLeaveChannel | 离开频道。 | | AliEngineConnectionSignalingConnecting | 信令建立连接。 |

  • AliEnginePublishState:推流状态。

| 枚举名 | 描述 | | --- | --- | | AliEngineStatsPublishIdle | 初始状态。 | | AliEngineStatsNoPublish | 未推流。 | | AliEngineStatsPublishing | 推流中。 | | AliEngineStatsPublished | 已推流。 |

  • AliEngineSubscribeState:订阅状态。

| 枚举名 | 描述 | | --- | --- | | AliEngineStatsSubscribeIdle | 初始状态。 | | AliEngineStatsNoSubscribe | 未订阅。 | | AliEngineStatsSubscribing | 订阅中。 | | AliEngineStatsSubscribed | 已订阅。 |

  • AliEngineVideoTrack:视频流的类型。

| 枚举名 | 描述 | | --- | --- | | AliEngineVideoTrackNo | 无视频流。 | | AliEngineVideoTrackCamera | 摄像头流。 | | AliEngineVideoTrackScreen | 屏幕共享流。 | | AliEngineVideoTrackBoth | 摄像头和屏幕共享。 |

  • AliEngineAudioTrack:音频流的类型。

| 枚举名 | 描述 | | --- | --- | | AliEngineAudioTrackNo | 无音频流。 | | AliEngineAudioTrackMic | 麦克风流。 |

  • AliEngineVideoStreamType:相机流类型。

| 枚举名 | 描述 | | --- | --- | | AliEngineVideoStreamTypeNone | 无视频流。 | | AliEngineVideoStreamTypeHigh | 大流。 | | AliEngineVideoStreamTypeLow | 小流。 |

  • AliEngineVideoRecordSource:录制视频数据源。

| 枚举名 | 描述 | | --- | --- | | AliEngineVideoRecordSourceCamera | 摄像头流。 | | AliEngineVideoRecordSourceScreenShare | 屏幕共享流。 | | AliEngineVideoRecordSourceBoth | 摄像头和屏幕共享流。 |

  • AliEngineRotationMode:视频旋转角度。

| 枚举名 | 描述 | 枚举值 | | --- | --- | --- | | AliEngineRotationMode_0 | 旋转0度。 | 0 | | AliEngineRotationMode_90 | 旋转90度。 | 90 | | AliEngineRotationMode_180 | 旋转180度。 | 180 | | AliEngineRotationMode_270 | 旋转270度。 | 270 |

  • AliEngineAudioSampleRate:音频采样率类型。

| 枚举名 | 描述 | | --- | --- | | AliEngineAudioSampleRate_8000 | 8000Hz。 | | AliEngineAudioSampleRate_11025 | 11025Hz。 | | AliEngineAudioSampleRate_16000 | 16000Hz。 | | AliEngineAudioSampleRate_22050 | 22050Hz。 | | AliEngineAudioSampleRate_32000 | 32000Hz。 | | AliEngineAudioSampleRate_44100 | 44100Hz。 | | AliEngineAudioSampleRate_48000 | 48000Hz。 |

  • AliEngineNetworkQuality:网络质量。

| 枚举名 | 描述 | | --- | --- | | AliEngineNetworkQualityExcellent | 网络极好,流畅度清晰度质量好。 | | AliEngineNetworkQualityGood | 网络质量好,流畅度清晰度和极好差不多。 | | AliEngineNetworkQualityPoor | 网络质量较差,音视频流畅度清晰度有瑕疵,不影响沟通。 | | AliEngineNetworkQualityBad | 网络质量差,视频卡顿严重,音频能正常沟通。 | | AliEngineNetworkQualityVeryBad | 网络质量极差,基本无法沟通。 | | AliEngineNetworkQualityDisconnect | 网络中断。 | | AliEngineNetworkQualityUnknow | 未知。 |

  • AliEngineAuthInfo:鉴权信息

| 参数 | 类型 | 描述 | | --- | --- | --- | | channel | String | 频道号。 | | userid | String | 用户ID。 | | appid | String | 应用ID。 | | nonce | String | 令牌随机码。 | | token | String | 令牌。 | | timestamp | Number | 时间戳。 | | gslb | Array | 服务器地址。 | | displayName | String | 用户名字 |

  • AliEngineOnByeType:OnBye类型。

| 枚举名 | 描述 | 枚举值 | | --- | --- | --- | | AliEngineOnByeBeKickOut | 当前用户被踢出频道。 | 1 | | AliEngineOnByeChannelTerminated | 频道结束。 | 2 | | AliEngineOnByeUserReplaced | 相同用户在其他设备加入频道,当前设备被下线。 | 3 |

  • AliEngineUserOfflineReason:用户离线原因。

| 枚举名 | 描述 | | --- | --- | | AliEngineUserOfflineQuit | 用户主动离开。 | | AliEngineUserOfflineDropped | 因过长时间收不到对方数据包,超时掉线。 | | AliEngineUserOfflineBecomeAudience | 用户身份从主播切换为观众时触发。 |

  • AliEngineScreenShareType:桌面分享类型。

| 枚举名 | 描述 | | --- | --- | | AliEngineScreenShareDesktop | 桌面分享。 | | AliEngineScreenShareWindow | 窗口分享。 |

  • AliEngineClientRole:角色类型。

| 枚举名 | 描述 | 枚举值 | | --- | --- | --- | | AliEngineClientRoleInteractive | 参与互动角色。 | 1 | | AliEngineClientRoleLive | 仅观看角色。 | 2 |

  • AliEngineExternalDeviceType:外接设备类型。

| 枚举名 | 描述 | 枚举值 | | --- | --- | --- | | AliEngineExternalTypeUnknown | 未知类型。 | -1 | | AliEngineExternalTypeAudioCapture | 音频采集设备。 | 0 | | AliEngineExternalTypeAudioPlayout | 音频播放设备。 | 1 | | AliEngineExternalTypeVideoCapture | 视频采集设备。 | 2 |

  • AliEngineExternalDeviceState:外接设备状态。

| 枚举名 | 描述 | | --- | --- | | AliEngineExternalDeviceAdd | 新增外接设备。 | | AliEngineExternalDeviceRemove | 移除外接设备。 |

  • AliEngineMuteLocalAudioMode:本地静音模式。

| 枚举名 | 描述。 | | --- | --- | | AliEngineMuteLocalAudioModeDefault | 默认静音。 | | AliEngineMuteLocalAudioModeMuteAll | 禁止本地所有音。 | | AliEngineMuteLocalAudioModeMuteOnlyMic | 禁止麦克风。 |

  • AliEngineUserVolumeInfo:用户音量信息。

| 参数 | 类型 | 描述 | | --- | --- | --- | | uid | String | 用户ID(从AppServer下发的唯一标示符)。 | | volume | Number | 用户音量,取值范围:[0,255]。 | | speechState | Number | 语音状态 0:当前未说话。1:当前在说话。|

  • AliEngineScreenShareRegion:屏幕共享区域。

| 参数 | 类型 | 描述 | | --- | --- | --- | | originX | Number | x轴。 | | originY | Number | y轴。 | | width | Number | 宽度。 | | height | Number | 高度。 |

  • AliEngineScreenShareEncoderConfiguration:屏幕流码属性设置。

| 参数 | 类型 | 描述 | | --- | --- | --- | | dimensions | AliEngineVideoDimensions | 视频分辨率。 | | frameRate | AliEngineFrameRate | 视频帧率。 | | bitrate | Number | 码率。 | | rotationMode | AliEngineRotationMode | 视频旋转角度。 |

  • AliEngineScreenShareConfig:屏幕共享参数配置。

| 参数 | 类型 | 描述 | | --- | --- | --- | | isShareByRegion | Boolean | 是否指定区域,默认false。 | | shareRegion | AliEngineScreenShareRegion | 屏幕分享区域。 |

  • AliEngineScreenShareInfo:屏幕共享配置信息。

| 参数 | 类型 | 描述 | | --- | --- | --- | | shareType | AliEngineScreenShareType | 桌面分享类型。 | | shareSourceId | Number | 共享源ID。 | | shareConfig | AliEngineScreenShareConfig | 屏幕共享参数配置。 |

  • AliEngineStats:会话数据统计信息。

| 参数 | 类型 | 描述 | | --- | --- | --- | | sentKBitrate | Number | 发送码率。 | | rcvdKBitrate | Number | 接收码率。 | | sentBytes | Number | 发送字节数。 | | rcvdBytes | Number | 接收字节数。 | | systemCpu | Number | 电脑CPU使用率。 | | appCpu | Number | RTC进程CPU使用率。 | | videoRcvdKBitrate | Number | 视频接收码率。 | | videoSentKBitrate | Number | 视频发送码率。 | | callDuration | Number | 通话时长,单位:秒。 | | sentLossRate | Number | 发送丢包率。 | | lastmileDelay | Number | 延时时长,单位:毫秒。 |

  • AliEngineLocalVideoStats:本地视频统计信息。

| 参数 | 类型 | 描述 | | --- | --- | --- | | track | AliEngineVideoTrack | 视频流类型。 | | sentBitrate | Number | 发送码率。 | | sentFps | Number | 发送帧率。 | | encodeFps | Number | 编码器输出帧率。 |

  • AliEngineRemoteVideoStats:远端视频统计信息。

| 参数 | 类型 | 描述 | | --- | --- | --- | | userid | String | 用户ID。 | | track | AliEngineVideoTrack | 视频流类型。 | | width | Number | 宽。 | | height | Number | 高。 | | decodeFps | Number | 编码器输出帧率。 | | renderFps | Number | 渲染器输出帧率。 | | frozenTimes | Number | 卡顿次数。 |

  • AliEngineLocalAudioStats:本地音频统计信息。

| 参数 | 类型 | 描述 | | --- | --- | --- | | track | AliEngineAudioTrack | 音频流类型。 | | sentBitrate | Number | 发送码率。 | | sentSamplerate | Number | 发送的采样率。 | | numChannel | Number | 声道数。 | | inputLevel | Number | 输入音量。 |

  • AliEngineRemoteAudioStats:远端音频统计信息。

| 参数 | 类型 | 描述 | | --- | --- | --- | | userid | String | 远端用户UID | | track | AliEngineAudioTrack | 音频流类型 | | quality | Number | 音质 | | networkTransportDelay | Number | 网络传输延时 | | jitterBufferDelay | Number | jitterBuffer延时 | | audioLossRate | Number | 音频丢包率 | | rcvdBitrate | Number | 接收码率 | | totalFrozenTimes | Number | 卡顿次数 |

  • AliEngineAudioProfile:音频编码配置。

| 枚举名 | 描述 | 枚举值 | | --- | --- | --- | | AliEngineLowQualityMode | 低音质。 | 0x0000 | | AliEngineBasicQualityMode | 标准音质。 | 0x0001 | | AliEngineHighQualityMode | 高音质。 | 0x0010 | | AliEngineStereoHighQualityMode | 立体高音质。 | 0x0011 | | AliEngineSuperHighQualityMode | 超高音质。 | 0x0012 | | AliEngineStereoSuperHighQualityMode | 立体超高音质。 | 0x0013 |

  • AliEngineAudioScenario:音频场景。

| 枚举名 | 描述 | 枚举值 | | --- | --- | --- | | AliEngineSceneDefaultMode | 默认场景。 | 0x0000 | | AliEngineSceneEducationMode | 教育场景。 | 0x0100 | | AliEngineSeneMediaMode | 媒体场景。 | 0x0200 | | AliEngineSceneMusicMode | 音乐场景。 | 0x0300 |

  • AliEngineRecordType:录制类型。

| 枚举名 | 描述 | | --- | --- | | AliEngineRecordTypeAudio | 纯音频录制。 | | AliEngineRecordTypeVideo | 纯视频录制。 | | AliEngineRecordTypeBoth | 音视频录制。 |

  • AliEngineRecordFormat:录制格式。

| 枚举名 | 描述 | | --- | --- | | AliEngineRecordFormatAAC | AAC文件。 | | AliEngineRecordFormatWAV | WAV文件。 | | AliEngineRecordFormatMP4 | MP4文件。 |

  • AliEngineAudioQuality:录制音频质量。

| 枚举名 | 描述 | | --- | --- | | AliEngineAudioQualityLow | 低。 | | AliEngineAudioQualityMidium | 中。 | | AliEngineAudioQualityHigh | 高。 |

  • AliEngineVideoQuality:录制视频质量。

| 枚举名 | 描述 | | --- | --- | | AliEngineVideoQualityDefault | 默认,和采集保持一致(例如采集能力为1080P,默认就录制1080P的视频流)。 |

  • AliEngineRecordAudioConfig:录制音频设置。

| 参数 | 类型 | 描述 | | --- | --- | --- | | sampleRate | AliEngineAudioSampleRate | 音频采样率。 | | quality | AliEngineAudioQuality | 音频质量。 | | externalPcmCaptureRecording | Boolean | 外部PCM输入录制。 | | externalPcmRenderRecording | Boolean | 外部PCM渲染录制。 |

  • AliEngineRecordVideoConfig:录制视频设置。

| 参数 | 类型 | 描述 | | --- | --- | --- | | fps | Number | 帧率。 | | bitrate | Number | 码率。 | | quality | AliEngineVideoQuality | 视频质量。 | | sourceType | AliEngineVideoRecordSource | 视频源类型。 |

  • AliEngineFrameRate:视频帧率。

| 枚举值 | 描述 | 枚举值 | | --- | --- | --- | | AliEngineFrameRateFps5 | 5 fps。 | 5 | | AliEngineFrameRateFps10 | 10 fps。 | 10 | | AliEngineFrameRateFps15 | 15 fps。 | 15 | | AliEngineFrameRateFps20 | 20 fps。 | 20 | | AliEngineFrameRateFps25 | 25 fps。 | 25 | | AliEngineFrameRateFps30 | 30 fps。 | 30 |

  • AliEngineVideoEncoderBitrate:视频编码码率。

| 枚举值 | 描述 | | --- | --- | | AliEngineVideoStandardBitrate | 标准编码码率。 |

  • AliEngineVideoEncoderOrientationMode:视频输出模式。

| 枚举值 | 描述 | | --- | --- | | AliEngineVideoEncoderOrientationModeAdaptive | 自适应模式(默认值)。 | | AliEngineVideoEncoderOrientationModeFixedLandscape | 横向模式。 | | AliEngineVideoEncoderOrientationModeFixedPortrait | 纵向模式。 |

  • AliEngineVideoMirrorMode:视频镜像模式。

| 枚举值 | 描述 | | --- | --- | | AliEngineVideoMirrorModeDisabled | 无镜像。 | | AliEngineVideoMirrorModeEnable | 镜像。 |

  • AliEngineVideoDimensions:视频分辨率。

| 参数 | 类型 | 描述 | | --- | --- | --- | | width | Number | 宽。 | | height | Number | 高。 |

  • AliEngineVideoEncoderConfiguration:视频编码属性设置。

| 参数 | 类型 | 描述 | | --- | --- | --- | | dimensions | AliEngineVideoDimensions | 视频分辨率。 | | frameRate | AliEngineFrameRate | 视频帧率。 | | bitrate | Number | 码率。 | | orientationMode | AliEngineVideoEncoderOrientationMode | 视频输出模式。 | | mirrorMode | AliEngineVideoMirrorMode | 视频镜像模式。 | | rotationMode | AliEngineRotationMode | 视频旋转模式。 |

  • AliEngineChannelProfile:频道类型。

| 枚举名 | 描述 | | --- | --- | | AliEngineCommunication | 通信模式。 | | AliEngineInteractiveLive | 互动模式。 |

  • AliEngineErrorCode:SDK错误码。

| 枚举名 | 描述 | | --- | --- | | AliEngineErrorJoinBadAppId | App ID不存在。 | | AliEngineErrorJoinInvaildAppId | App ID已失效。 | | AliEngineErrorJoinBadChannel | 频道不存在。 | | AliEngineErrorJoinInvaildChannel | 频道已失效。 | | AliEngineErrorJoinBadToken | Token不存在。 | | AliEngineErrorJoinTimeout | 加入频道超时。 | | AliEngineErrorJoinBadParam | 加入频道参数错误。 | | AliEngineErrorJoinChannelFailed | 加入频道失败。 | | AliEngineErrorMicOpenFail | 采集设备初始化失败。 | | AliEngineErrorSpeakerOpenFail | 播放设备初始化失败。 | | AliEngineErrorMicInterrupt | 采集过程中出现异常。 | | AliEngineErrorSpeakerInterrupt | 播放过程中出现异常。 | | AliEngineErrorMicAuthFail | 麦克风设备授权失败。 | | AliEngineErrorMicNotAvailable | 麦克风设备未授权。 | | AliEngineErrorSpeakerNotAvailable | 无可用的音频采集设备。 | | AliEngineErrorCameraOpenFail | 相机设备初始化失败。 | | AliEngineErrorCameraInterrupt | 相机采集中发生异常。 | | AliEngineErrorVideoDisplayOpenFail | 渲染设备初始化失败。 | | AliEngineErrorVideoDisplayInterrupt | 渲染过程中出现异常。 | | AliEngineErrorAudioBufferFull | 音频输入的buffer已满。 | | AliEngineErrorVideoBufferFull | 视频输入的buffer已满。 | | AliEngineErrorAudioStreamError | 音频流错误。 | | AliEngineErrorAudioFileOpenFail | 音频文件打开失败。 | | AliEngineErrorAudioFormatNotSupported | 音频格式不支持。 | | AliEngineErrorIceConnectionConnectFail | 媒体通道建立失败。 | | AliEngineErrorIceConnectionReconnectFail | 媒体通道重连失败。 | | AliEngineErrorIceConnectionHeartbeatTimeout | 信令心跳超时。 | | AliEngineErrorLowLatencyLiveCommunicationFail | 低延时互动直播信令失败。 | | AliEngineErrorLowLatencyLiveMediaSettingFail | 低延时互动直播媒体设置错误。 | | AliEngineErrorLowLatencyLiveNoneBroadcaster | 低延时互动直播当前房间没有主播推流。 | | AliEngineErrorLowLatencyLiveNeedRestart | 低延时互动直播错误,应用层需要重新创建新的SDK实例。 | | AliEngineErrorLowLatencyLiveNeedRestartAgainLater | 低延时互动直播错误,应用层需要稍等一定时间(自定义间隔)重新创建新的SDK实例。 | | AliEngineErrorLowLatencyLiveServiceUnavailable | 低延时互动直播服务不可用或者服务降级。 | | AliEngineErrorLowLatencyLiveMediaConnectionInterrruption | 低延时互动直播网络中断错误。 | | AliEngineErrorUpdateRoleChannel | 更新频道角色失败。 | | AliEngineErrorPublishInvaild | 推流无效。 | | AliEngineErrorPublishNotJoinChannel | 未入会推流错误。 | | AliEngineErrorPublishAudioStreamFailed | 推音频流失败。 | | AliEngineErrorPublishVideoStreamFailed | 推视频流失败。 | | AliEngineErrorPublishDualStreamFailed | 推双流失败。 | | AliEngineErrorPublishScreenShareFailed | 推共享流失败。 | | AliEngineErrorPublishScreenShareConfigError | 推共享流配置失败。 | | AliEngineErrorSubscribeInvaild | 订阅无效。 | | AliEngineErrorSubscribeNotJoinChannel | 未入会订阅错误。 | | AliEngineErrorSubscribeAudioStreamFailed | 订阅音频流失败。 | | AliEngineErrorSubscribeVideoStreamFailed | 订阅视频流失败。 | | AliEngineErrorSubscribeDualStreamFailed | 订阅双流失败。 | | AliEngineErrorSubscribeScreenShareFailed | 订阅共享流失败。 | | AliEngineErrorInvaildState | SDK内部状态错误。 | | AliEngineErrorSessionRemoved | session已经被移除。 | | AliEngineErrorInvaildArgument | 无效的参数。 | | AliEngineErrorInner | SDK内部错误。 |

  • AliEngineBeautyConfig:美颜设置。

| 参数 | 类型 | 描述 | | --- | --- | --- | | whiteningLevel | Number | 美白,范围:[0,1],数值越大美白效果越好。 | | smoothnessLevel | Number | 磨皮,范围:[0,1],数值越大磨皮效果越好。 |

  • AliEngineDeviceInfo:设备信息。

| 参数 | 类型 | 描述 | | --- | --- | --- | | deviceName | String | 设备名称。 | | deviceID | String | 设备ID。 |

  • ChannelMediaOptions:入会选项

| 参数 | 类型 | 描述 | | --- | --- | --- | | autoSubscribeAudio | Boolean | 自动订阅音频(默认true) | | autoSubscribeVideo | Boolean | 自动订阅视频(默认true) |