云服务器内容精选

  • 基本使用逻辑 创建新的项目工程,导入 SDK 后,需要创建客户端并获取本地音视频设备信息。 创建本地流并初始化。 当用户加入房间后,将通过回调的方式通知房间内的其他用户,收到用户加入的回调后,可以对音视频流进行订阅、取消订阅等其它操作。 在会中,也可以对本地录音或播放设备等进行配置。 用户离开房间后,房间内其他用户会收到该用户离开的回调信息,离开房间后,需销毁对应资源。 在时序图中,单击相应接口名称可快速跳转到相应接口位置查看其使用方法。 父主题: Web SDK
  • 设备管理 表11 设备管理接口 接口 描述 setSpeakerModel 设置声音播放模式(只支持iphone) setCameraConfig 设置摄像头相关参数 switchCamera 切换前后镜头(只支持iphone) recordingDeviceTest 音频采集设备测试(只支持macOS) finishRecordingDeviceTest 结束音频采集设备测试(只支持macOS) playbackDeviceTest 音频播放设备测试(只支持macOS) finishPlaybackDeviceTest 结束音频播放设备测试(只支持macOS) echoTest 音频设备回路测试(只支持macOS) finishEchoTest 结束音频设备回路测试(只支持macOS) cameraDeviceTest 视频采集设备测试 finishCameraDeviceTest 结束视频采集设备测试
  • 自定义视频采集和渲染 表10 自定义视频采集和渲染接口 接口 描述 setExternalVideoCapture 设置是否开启外部视频采集 pushExternalVideoFrame 输入外部视频数据 setExternalMediaFrameOutput 设置媒体数据自渲染 setExternalVideoFrameOutputWithFormat 带Format参数设置媒体数据自渲染 pushAuxExternalVideoFrame 辅流输入外部视频数据
  • 音效文件播放管理 表7 音频文件播放管理接口 接口 描述 startAudioFile 开始播放音频文件 stopAudioFile 停止播放音频文件 pauseAudioFile 暂停播放音频文件 resumeAudioFile 恢复播放音频文件 adjustAudioFileVolume 调节音频文件播放音量 adjustAudioFilePlayoutVolume 设置本地播放音频音量 getAudioFileVolume 获取音频文件播放音量 getAudioFilePlayoutVolume 获取音频文件本地播放音量 getAudioFileDuration 获取音频文件时长 getAudioFileCurrentPosition 获取当前音频播放位置 setAudioFilePosition 设置音频播放位置 getAudioClipsVolume 获取音效总音量 getVolumeOfAudioClip 获取指定音效音量 setAudioClipsVolume 设置音效总音量 setVolumeOfAudioClip 设置指定音效音量 playAudioClip 播放音效文件 stopAudioClip 停止播放指定音效 stopAllAudioClips 停止播放所有音效 pauseAudioClip 暂停播放指定音效 pauseAllAudioClips 暂停播放所有音效 resumeAudioClip 恢复播放指定音效 resumeAllAudioClips 恢复播放所有音效 getAudioClipCurrentPosition 获取指定音效当前播放位置 setAudioClipPosition 设置指定音效播放位置 getAudioClipDuration 获取音效文件时长
  • 视频管理 表4 视频管理接口 接口 描述 enableLocalVideo 设置是否开启摄像头采集视频 setVideoEncoderConfig 设置视频编码参数 enableSmallVideoStream 大小流模式设置是否开启小流并设置小流编码参数 startLocalPreview 开启本地预览 stopLocalPreview 关闭本地预览 setupLocalVideo 设置/取消本地预览视图 updateLocalRenderMode 设置本地视频显示模式和镜像模式 setupRemoteView 设置远端流视图 updateRemoteRenderMode 设置远端视图显示模式,镜像模式 setRemoteVideoStreamType 设置选看指定用户的大流或者小流 setPriorRemoteVideoStreamType 设置默认选看远端的大流或者小流 pushLocalVideo 设置是否发送本地视频流 pullRemoteVideo 订阅或取消订阅远端某个用户视频流 pullAllRemoteVideo 订阅或取消订阅全部远端用户视频流 startRemoteStreamView 设置远端用户渲染视图(发起选看-旧接口) stopRemoteStreamView 关闭远端用户的渲染视图(停止选看) setRemoteVideoAdjustResolution 设置远端下行视频流的分辨率自适应 setVideoEncoderMirror 设置视频编码镜像模式 startPublishStream 开始旁路推流 updateTransCoding 更新旁路推流 stopPublishStream 停止旁路推流 startAllRemoteView 批量设置远端流视图 appendLocalView 设置本地视频另一个窗口显示 appendRemoteView 设置远端视频另一个窗口显示
  • 辅流管理 表5 辅流管理接口 接口 描述 startRemoteAuxiliaryStreamView 开启辅流渲染视图(发起辅流选看) stopRemoteAuxiliaryStreamView 关闭辅流渲染视图(停止辅流选看) updateRemoteAuxiliaryStreamRenderMode 设置辅流视图渲染模式,镜像模式 setRemoteAuxiliaryStreamViewRotation 设置辅流视图角度 setAuxiliaryVideoEncoderConfig 设置辅流编码能力 setAuxiliaryVideoEncodeSmooth 设置是否开启辅流的流畅度优先 pushAuxExternalVideoFrame 推送辅流数据
  • 音频管理 表3 音频管理接口 接口 描述 muteLocalAudio 设置是否发送本地音频流 enableLocalAudioStream 设置是否开启麦克风采集音频 muteRemoteAudio 订阅或取消订阅远端某个用户音频流 muteAllRemoteAudio 订阅或取消订阅全部远端用户音频流 setVolumeNotifyInterval 设置最大音量上报频率 adjustRecordingVolume 设置麦克风采集的音量(0-100) adjustPlaybackVolume 调整扬声器播放的音量(0-100) setShareComputerSound 共享声音 (只支持macOS) sendAudioSeiMsg 发送音频SEI消息 setDefaultSpeakerModel 设置默认的声音播放模式,在房间外调用 setAudioFrameRecordParameters 设置音频采集回调参数 setAudioConfig 设置音频场景
  • 初始化等基础接口 表1 初始化等基础接口 接口 描述 sharedEngine 创建连麦引擎实例 destroy 注销引擎 initWithConfig 初始化引擎配置信息 logUpload 上传日志 setEnableRtcStats 打点开关 getVersion 获取SDK版本号 setEncrytionParam 设置端到端加密模式 setAccessResourceType 设置接入的环境 setNetworkBandwidth 设置网络带宽限制
  • 房间功能 表2 房间功能接口 接口 描述 joinRoom 加入房间 changeUserRole 设置用户的角色,切换角色时使用 renewAuthorization 签名更新 leaveRoom 离开房间 changeUserName 设置用户自己的昵称 createConnection 创建 跨房(HWRtcConnection)对象,跨房前需先创建连接 addMultiRoomMediaRelay 添加单个跨房 removeMultiRoomMediaRelay 删除单个跨房 stopMultiRoomMediaRelay 停止所有跨房
  • createStream (static) createStream(config: StreamConfig): Stream 【功能说明】 创建本地流对象。 【请求参数】 config:必选,StreamConfig类型,指定创建流的参数。 StreamConfig 定义为:{ screen:可选,boolean类型,如果为true表示该流对象采集的是辅流音视频。辅流即共享屏幕的流。默认值为false,即该流对象采集的是主流音视频。 video:可选,boolean类型,指定是否采集主流的视频,主流即摄像头的流。默认值为false。 audio:可选,boolean类型,指定是否采集主流的音频。默认值为false。screen为false的时候该参数有效。 microphoneId:可选,string类型,在audio为true的时候有效,表示采集音频的源麦克风设备Id。如果不传,系统自动设置默认值。 cameraId:可选,string类型,在video为true的时候有效,表示采集视频的摄像头设备Id。如果不传,系统自动设置默认值。 facingMode:可选,string类型,在video为true的时候有效,user表示前置摄像头,environment表示后置摄像头。 screenAudio:可选,boolean类型,是否包含屏幕共享背景音。默认值为false。该功能仅支持Windows平台Chrome浏览器 74及以上版本。该字段为1.4.0版本新增。 audioSource:可选,MediaStreamTrack类型,表示输入音轨对象。通过指定Track设置音频。MediaStreamTrack为Web API基本接口。 videoSource:可选,MediaStreamTrack类型,表示输入视轨对象。通过指定Track设置主流视频。MediaStreamTrack为Web API基本接口。 mirror:可选,boolean类型,表示主流的本地视频是否镜像。默认值为false。 userId:可选,string类型,表示该流归属的userId。 } 【返回参数】 Stream:流对象。 在采集主流有两种方式: 通过“audioSource”和“videoSource”设置音频和视频主流。这种模式下不支持大小流。 通过“audio/microphoneId”和“video/cameraId/facingMode”设置音频和视频主流。 如果未指定任何的音频源和视频源,则创建的流对象不包含音频流和视频流,无法播放。 如果采集视频,同一个Stream对象不能同时采集主流和辅流。 如果需要包含屏幕共享背景音,需要设置screen和screenAudio均为true,该参数仅在1.4.0 及以上版本生效。
  • setLogLevel (static) setLogLevel(level: LogLevel): void 【功能说明】 设置日志输出等级。默认输出info等级日志。 【请求参数】 level:必选,LogLevel类型,设置日志级别。 LogLevel表示日志级别,枚举取值如下: none:string类型,表示关闭SDK日志打印。 error:string类型,表示开启SDK错误日志级别。 warn:string类型,表示开启SDK警告日志级别。 info:string类型,表示开启SDK信息日志级别。 debug:string类型,表示开启SDK调试日志级别。 【返回参数】 无
  • createClient (static)createClient(config: ClientConfig): Client 【功能说明】 创建一个 实时音视频 通话的客户端对象。一个客户端对象只能同时加入一个房间。可以创建多个客户端对象同时加入多个房间。 【请求参数】 config:必选,ClientConfig类型, 客户端对象配置信息。 ClientConfig定义为:{ appId:必选,string[128]类型,应用ID,只有App ID相同的应用程序才能进入同一个房间进行互动。应用的appId请参考应用管理进行获取。 domain:可选,string[128]类型,服务器的 域名 。需要与注册到SparkRTC平台的合法企业域名保持一致,该参数在SDK 1.0+版本中必填,SDK 2.0+版本中非必填。 countryCode: 可选,string[2]类型,需要满足ISO 3166-1的2位字母的国家码要求。表示业务接入点的国家码,SDK会根据设置将业务接入到对应区域的服务,如:CN表示中国大陆,US表示美国,HK表示中国香港。countryCode值的填写具体请参见国家码对照表。该参数为2.0.3版本新增,且为必选参数,从2.0.7版本开始,修改为可选参数。 } 【返回参数】 Client:客户端对象。
  • 客户端错误码 本章节介绍了Web SDK的客户端错误码RtcErrorCode的详细信息。 表1 错误码说明 类成员 错误码 描述 错误原因或建议处理方式 RTC_ERR_CODE_SUC CES S 0 success 成功。 RTC_ERR_CODE_RTC_SDK_ERROR 90000001 sdk internal error SDK内部错误,请联系技术支持。 RTC_ERR_CODE_WAIT_RSP_TIMEOUT 90000004 message response timeout 消息响应超时,请联系技术支持。 RTC_ERR_CODE_INVALID_PA RAM ETER 90000005 invalid parameter 参数传递错误,请参照API文档排查。 RTC_ERR_CODE_INVALID_OPERATION 90100001 illegal operation 非法操作,用户状态不正确。 RTC_ERR_CODE_NOT_SUPPORT_MEDIA_DEVICES 90100002 not support enumerate devices 浏览器不支持enumerateDevices方法。 RTC_ERR_CODE_NO_AVAILABLE_DEVICES 90100003 no available devices 没有找到可用设备,请排查设备是否就绪。 RTC_ERR_CODE_NO_AVAILABLE_VIDEO_INPUT_DEVICES 90100004 no available video input devices 没有找到可用摄像头设备,请排查视频采集设备是否就绪。 RTC_ERR_CODE_NO_AVAILABLE_AUDIO_INPUT_DEVICES 90100005 no available audio input devices 没有找到音频输入设备,请排查音频采集设备是否就绪。 RTC_ERR_CODE_NO_AVAILABLE_AUDIO_OUTPUT_DEVICES 90100006 no available audio output devices 没有找到音频输出设备。 RTC_ERR_CODE_STATUS_ERROR 90100007 room status error 房间状态不正确,检查是否入会成功。 RTC_ERR_CODE_WEBSOCKET_NOT_CONNECTED 90100008 websocket connection state is not "CONNECTED" websocket 链接未成功,检查链接情况。 RTC_ERR_CODE_WAIT_CONFIG_FAIL 90100009 wait server config fail 获取下发配置失败,请联系技术支持。 RTC_ERR_CODE_PUBLISH_RESPONSE_FAIL 90100010 publish response fail 发布流响应失败,请联系技术支持。 RTC_ERR_CODE_REGION_NOT_COVERED 90100011 current region is not covered, service unavailable 没有找到服务端地址,请联系技术支持。 RTC_ERR_CODE_WEBSOCKET_CONNECT_TIMEOUT 90100012 websocket connect timeout websocket建链超时,请联系技术支持。 RTC_ERR_CODE_WEBSOCKET_RECONNECT_TIMEOUT 90100013 websocket reconnect timeout websocket重连超时,请联系技术支持。 RTC_ERR_CODE_WEBSOCKET_NOT_OPEN 90100014 websocket is not open websocket链接未打开,请联系技术支持。 RTC_ERR_CODE_WEBSOCKET_INTERRUPTED 90100015 websocket connection state is idle, interrupt operation websocket链接被强制关闭,一般为离会或者重连。 RTC_ERR_CODE_WEBSOCKET_CONNECT_ERROR 90100016 websocket connect error websocket监听onerror,服务端主动断链。 RTC_ERR_CODE_CAPTURE_PERMISSION_DENIED 90100017 capture failed, permission denied 采集失败,音视频设备采集权限未被授权。建议提示用户授权摄像头/麦克风访问权限。 RTC_ERR_CODE_CAPTURE_OVER_CONSTRAINED 90100018 capture failed, Constraint parameter invalid 采集失败,音视频采集设备不支持设置的采集约束。 RTC_ERR_CODE_CAPTURE_DEVICE_NOT_FOUND 90100019 capture failed, requested device not found 采集失败,设备未找到。建议在通话开始前引导用户检查通话所需的摄像头或麦克风等设备是够就绪。 RTC_ERR_CODE_CAPTURE_DEVICE_NOT_READABLE 90100020 capture failed, maybe device is occupied by other application 采集失败,设备被占用,请检查使用状态。建议提示用户“暂时无法访问摄像头/麦克风,请确保当前没有其他应用请求访问摄像头/麦克风,并重试”。 RTC_ERR_CODE_PLAY_NOT_ALLOW 90100021 the user didn't interact with the document first, please trigger by gesture 不允许播放。 RTC_ERR_CODE_ROLE_NO_PERMISSION 90100022 the user role have no permission to operate 用户角色没有权限,请检查用户角色。 RTC_ERR_CODE_ANSWER_SDP_INVALID 90100023 the answer sdp is invalid SDP协商错误,请联系技术支持。 RTC_ERR_CODE_MEDIA_UPSTREAM_UNSUPPORTED 90100024 the upstream media is not supported 浏览器不支持媒体采集。 RTC_ERR_CODE_MEDIA_NETWORK_ERROR 90100026 media connection establish failed, please switch network or try again later 媒体建链失败,请切换网络重试。 RTC_ERR_CODE_CLIENT_RELAY_ROOM_OVER_MAXNUM 90100027 relay room number over maxium number 跨房数量超过最大值。 RTC_ERR_CODE_CLIENT_RELAY_JOINER_OVER_MAXNUM 90100028 joiner already exist in relay rooms 跨房内主播人数超过最大值。 RTC_ERR_CODE_ROOM_STREAM_STATUS_PAUSED 90100029 room stream status paused 房间音视频暂停。 RTC_ERR_CODE_SIGNATURE_EXPIRED 90100030 signature expired 签名过期。 RTC_ERR_CODE_SIGNATURE_INVALID 90100031 signature invalid 签名非法。 RTC_ERR_CODE_RTC_A CS 90100100 server internal exception 服务端内部错误,请联系技术支持。 RTC_ERR_CODE_RTC_CONTROL_ERROR 90100200 server internal exception 服务端内部错误,请联系技术支持。 RTC_ERR_CODE_SFU_ERROR 90100600 server internal exception 服务端内部错误,请联系技术支持。 父主题: 接口参考
  • 自采集自渲染 表8 自采集自渲染接口 接口 描述 windows是否支持 Mac是否支持 iOS是否支持 Android是否支持 setExternalVideoCapture 设置是否开启外部视频自采集 √ √ √ √ pushExternalVideoFrame 推送外部视频数据 √ √ √ √ setExternalVideoFrameOutput 设置是否开启视频流自渲染 √ √ √ √ setAuxiliaryExternalVideoFrameOutput 设置是否开启辅流自渲染 √ √ √ √ setExternalAudioCapture 设置是否开启外部音频自采集 √ √ √ √ pushExternalAudioFrame 推送外部音频数据 √ √ √ √ setExternalAudioFrameOutput 设置是否开启音频流自渲染 √ √ √ √
  • 音频文件播放管理 表7 音频文件播放管理接口 接口 描述 windows是否支持 Mac是否支持 iOS是否支持 Android是否支持 startAudioFile 播放音频文件 √ √ √ √ stopAudioFile 停止播放音频文件 √ √ √ √ pauseAudioFile 暂停播放音频文件 √ √ √ √ resumeAudioFile 恢复播放音频文件 √ √ √ √ adjustAudioFileVolume 调整音频音量 √ √ √ √ adjustAudioFilePlayoutVolume 调整本地播放音频音量 √ √ √ √ getAudioFileVolume 获取音频音量 √ √ √ √ getAudioFilePlayoutVolume 获取本地播放音频音量 √ √ √ √ getAudioFileDuration 获取音频时长 √ √ √ √ getAudioFilePosition 获取音频播放位置 √ √ √ √ setAudioFilePosition 设置音频播放位置 √ √ √ √ getAudioClipsVolume 获取音效总音量 √ √ √ √ setAudioClipsVolume 设置音效总音量 √ √ √ √ getVolumeOfAudioClip 获取指定音效音量 √ √ √ √ setVolumeOfAudioClip 设置指定音效音量 √ √ √ √ playAudioClip 播放音效文件 √ √ √ √ stopAudioClip 停止播放指定音效 √ √ √ √ stopAllAudioClips 停止播放所有音效 √ √ √ √ pauseAudioClip 暂停播放指定音效 √ √ √ √ pauseAllAudioClips 暂停播放所有音效 √ √ √ √ resumeAudioClip 恢复播放指定音效 √ √ √ √ resumeAllAudioClips 恢复播放所有音效 √ √ √ √ getAudioClipCurrentPosition 获取指定音效当前播放位置 √ √ √ √ setAudioClipPosition 设置指定音效播放位置 √ √ √ √ getAudioClipDuration 获取音效文件时长 √ √ √ √