云服务器内容精选

  • 基本使用逻辑 创建新的项目工程,导入 SDK 后,需要创建客户端并获取本地音视频设备信息。 创建本地流并初始化。 当用户加入房间后,将通过回调的方式通知房间内的其他用户,收到用户加入的回调后,可以对音视频流进行订阅、取消订阅等其它操作。 在会中,也可以对本地录音或播放设备等进行配置。 用户离开房间后,房间内其他用户会收到该用户离开的回调信息,离开房间后,需销毁对应资源。 在时序图中,单击相应接口名称可快速跳转到相应接口位置查看其使用方法。 父主题: Web SDK
  • 自采集自渲染 表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 获取音效文件时长 √ √ √ √
  • 音频管理 表6 音频管理接口 接口 描述 windows是否支持 Mac是否支持 iOS是否支持 Android是否支持 enableLocalAudioStream 设置是否开启麦克风音频采集 √ √ √ √ adjustRecordingVolume 设置麦克风采集的音量(0-100) √ √ √ √ adjustPlaybackVolume 调整扬声器播放的音量(0-100) √ √ √ √ setShareComputerSound 设置是否开启系统音频采集、发送 √ √ x x muteLocalAudio 设置是否发送本地音频流 √ √ √ √ muteRemoteAudio 设置是否接收指定远端用户的音频流 √ √ √ √ muteAllRemoteAudio 设置是否接收远端所有用户的音频流 √ √ √ √ enableUserVolumeNotify 设置开启/关闭所有用户音量值上报并设置上报周期 √ √ √ √ setSpeakerModel 设置声音播放模式 x x √ √ echoTest 开始语音通话回路测试 √ x x x finishEchoTest 停止语音直播回路测试 √ x x x setDefaultSpeakerModel 设置默认声音播放模式 x x √ √ enableAudioTNR 设置是否开启音频降噪功能 √ √ √ √ sendAudioSeiMsg 发送音频SEI消息 √ √ √ √ setAudioFrameRecordParameters 设置音频采集回调的参数 √ √ √ √
  • 屏幕共享 表5 屏幕共享接口 接口 描述 windows是否支持 Mac是否支持 iOS是否支持 Android是否支持 getScreenShareSources 获取屏幕可共享对象列表 √ √ x √ setScreenShareTarget 选择屏幕共享对象 √ √ x √ startScreenShare 开启屏幕共享 √ √ x √ stopScreenShare 停止屏幕共享 √ √ x √ addHiddenShareWindow 将指定窗口加入屏幕共享排除列表 √ √ x √ deleteHiddenShareWindow 将指定窗口从屏幕共享排除列表中移除 √ √ x √ removeAllHiddenShareWindow 将所有窗口从屏幕共享排除列表中移除 √ √ x √ getScreenShareSources 获取屏幕可共享对象列表,包含缩略图 √ x x x
  • 辅流管理 表4 辅流管理接口 接口 描述 windows是否支持 Mac是否支持 iOS是否支持 Android是否支持 setRemoteAuxiliaryStreamViewRotation 设置远端辅流视图旋转角度 × x √ √ startRemoteAuxiliaryStreamView 开启辅流渲染视图(发起辅流选看) √ √ x √ stopRemoteAuxiliaryStreamView 关闭辅流渲染视图(停止辅流选看) √ √ x √ updateRemoteAuxiliaryStreamRenderMode 设置辅流视图显示模式,镜像模式 √ √ x √ setRemoteAuxiliaryStreamViewOrientation 设置远端辅流视图方向(横竖屏) × x √ √ setAuxiliaryVideoEncoderConfig 设置辅流编码参数 √ √ x √ setAuxiliaryVideoEncodeSmooth 设置是否开启辅流的流畅度优先(降低辅流选看分辨率) √ √ x √
  • 视频管理 表3 视频管理接口 接口 描述 windows是否支持 Mac是否支持 iOS是否支持 Android是否支持 enableLocalVideo 设置是否开启本地摄像头采集视频 √ √ √ √ setVideoEncoderConfig 设置视频发流编码参数 √ √ √ √ enableSmallVideoStream 大小流模式设置是否开启小流并设置小流编码参数 √ √ √ √ startLocalPreview 开始本地预览 √ √ √ √ stopLocalPreview 关闭本地预览 √ √ √ √ setupLocalView 设置本地渲染视图 √ √ √ √ updateLocalRenderMode 设置本地视图渲染模式,镜像模式 √ √ √ √ setupRemoteView 设置远端流渲染视图(发起选看,参数置空则停止选看) √ √ √ √ updateRemoteRenderMode 设置远端用户视图渲染模式,镜像模式 √ √ √ √ setRemoteVideoStreamType 大小流模式,设置远端视频流类型 √ √ √ √ setPriorRemoteVideoStreamType 大小流模式,设置所有订阅的远端视频流类型。 √ √ √ √ pushLocalVideo 设置是否发送本地视频流 √ √ √ √ pullAllRemoteVideo 设置是否接收所有用户的视频流 √ √ √ √ startRemoteStreamView 设置远端用户渲染视图(发起选看-老接口) √ √ √ √ stopRemoteStreamView 关闭远端用户的渲染视图(停止选看) √ √ √ √ setRemoteVideoAdjustResolution 设置是否开启远端分辨率自适应 √ √ √ √ setVideoEncoderMirror 设置编码器输出的画面(本地发流)镜像模式 √ √ √ √ setCameraConfig 设置摄像头参数 × × √ √ switchCamera 切换摄像头,移动端 × x √ √ startAllRemoteView 批量设置远端流视图 √ √ √ √ setRemoteViewRotation 设置远端流视图旋转角度 × x √ √ setRemoteViewOrientation 设置远端流视图方向(横竖屏) × x √ √ setVideoPaddingImage 设置关闭视频发流时发送的图片 √ √ √ √ pullAllRemoteVideo 设置是否接收所用户的视频流 √ √ √ √ setBeautyRetouchOption 设置是否开启美颜功能 × x √ √ enableVideoBrighten 设置是否开启增亮功能 √ × x x ApplyGSensorMode 设置是否开启重力感应 × x √ x startPublishStream 开始旁路推流 √ √ √ √ updateTransCoding 更新旁路推流 √ √ √ √ stopPublishStream 停止旁路推流 √ √ √ √ setVideoWaterMark 插入/删除水印 √ x x x setBackgroundBlur 设置本地视频背景虚化 √ x x √ setBackgroundReplace 设置本地视频背景替换 √ x x √ appendLocalView 设置本地视频另一个窗口显示 √ √ x x appendRemoteView 设置远端视频另一个窗口显示 √ √ x x
  • 房间功能 表2 房间功能接口 接口 描述 windows是否支持 Mac是否支持 iOS是否支持 Android是否支持 joinRoom 加入房间 √ √ √ √ leaveRoom 离开房间 √ √ √ √ renewAuthorization 签名更新 √ √ √ √ changeUserRole 设置用户的角色,角色切换使用 √ √ √ √ changeUserName 设置用户自己的昵称 √ √ √ √ createConnection 创建连接。跨房前需先创建连接 √ √ √ √ addMultiRoomMediaRelay 添加单个跨房 √ √ √ √ removeMultiRoomMediaRelay 删除单个跨房 √ √ √ √ stopMultiRoomMediaRelay 停止所有跨房 √ √ √ √ subscribeAISubtitles 订阅AI字幕 √ √ √ √
  • 初始化等基础接口 表1 初始化等基础接口 接口 描述 windows是否支持 Mac是否支持 iOS是否支持 Android是否支持 createHRtcEngine 创建IHRTCEngine对象 √ √ √ √ getHRtcEngine 获取创建后的IHRTCEngine对象 √ √ √ √ enableStats 开启打点统计,在initialize前调用 √ √ √ √ initialize IHRtcEngine对象初始化函数 √ √ √ √ release 释放IHRtcEngine对象资源,退出时调用 √ √ √ √ logUpload 开启日志上传 √ √ √ √ getVersion 获取当前SDK版本号 √ √ √ √ getAudioDeviceManager 获取系统音频设备管理对象 √ √ √ √ getVideoDeviceManager 获取系统视频设备管理对象 √ √ √ √ setJniLoadParams 设置jvm context 仅安卓使用 × × × √ setEncryption 设置端到端加密模式 √ √ √ √ setAccessResourceType 设置接入环境 √ √ √ √ setNetworkBandwidth 设置网络带宽限制 √ √ √ √ renewAppid 设置Appid √ √ √ √
  • createConnection - (HWRtcConnection *_Nullable)createConnection:(NSString *_Nullable)roomId; 【功能说明】 根据房间ID,创建HWRtcConnection对象,为跨房做准备。 通过此接口创建一个与房间关联的HWRtcConnection连接对象。 该方法支持多次调用,创建多个HWRtcConnection连接对象,调用每个对象中的joinRoom方法,可以同时加入到多个房间。在每个房间中,可以分别订阅和选看房间中的用户。 具体请参见事件回调(HWRtcConnection)有关接口和回调。 【请求参数】 roomid:房间ID。 【返回参数】 HWRtcConnection:成功返回连接对象指针,失败返回为空。 同一时间最多只能创建4个连接对象,每个连接对象对应的房间ID必须互不相同。 如果使用HWRtcConnection对象加入房间,则加入房间的房间ID不能和已创建连接对象对应的房间ID相同。 同一时间只能以JOINER角色加入某一个房间。
  • getVideoTrack getVideoTrack(resolutionId?:string): MediaStreamTrack 【功能说明】 获取视频轨道。 【请求参数】 resolutionId:可选,string类型。指定分辨率Id,如果不指定,默认选择分辨率最高的视频。 【返回参数】 MediaStreamTrack 类型。MediaStreamTrack类型详情可参见MediaStreamTrack。
  • getStreamInfo getStreamInfo(): StreamInfo 【功能说明】 获取已经初始化的本地流,或者收到的远端流的的信息。 【请求参数】 无 【返回参数】 StreamInfo 类型定义如下:{ videoProfiles:RTCVideoProfileInfo[]类型。 audioProfile:RTCAudioProfile类型。 } RTCVideoProfileInfo类型定义如下:{ resolutionId:string类型,表示分辨率Id。 hasTrack:boolean类型,表示该分辨率的视频是否具备可播放的track。 width:number类型,分辨率的宽度,单位为像素。 height:number类型,分辨率的高度,单位为像素。 frameRate:number类型,视频帧率,单位为帧/秒。 minBitrate:number类型,视频最小码率,单位为bps。 maxBitrate:number类型,视频最大码率,单位为bps。 } RTCAudioProfile类型定义如下:{ sampleRate:number类型,表示音频采样率。 channelCount:number类型,表示音频声道数。 bitrate:number类型,表示音频码率,单位为bps。 }
  • getVideoSnapshot getVideoSnapshot(resolutionId?: string,format?: string, encoderOptions?: number): string 【功能说明】 获取视频截图 【请求参数】 resolutionId:可选,string类型。双流场景,指定需要截图的视频分辨率Id,resolutionId可通过接口getStreamInfo 获取。如果不传resolutionId,则默认对分辨率最高的视频流截图。 format:可选,string类型。表示截图的格式,可填‘jpeg’、‘webp’、'png'。如果不传format,则默认使用png格式截图。 encoderOptions:可选,number类型。format填‘jpeg’或者‘webp’时生效,表示图片质量,值范围【0,1】,默认值为1。 【返回参数】 string类型,表示视频截图对象的url,当视频未播放,或者resolutionId错误时,返回的string为空。
  • stop stop(option?: StopOption): void 【功能说明】 停止播放音视频流。 【请求参数】 option:可选,StopOption类型,表示停止播放的选项。如果不传,则停止该流的音频和所有分辨率的视频。 StopOption类型定义如下:{ audio:可选,boolean类型。表示是否停止音频。默认为false。 video:可选,boolean类型。表示是否停止视频。默认为false。 resolutionIds:可选,string[] 型。在video为true的时候有效。指定停止播放的分辨率Id 的视频,如果不传resolutionIds,则默认停止所有分辨率的视频。 } 【返回参数】 无
  • close close(option?: CloseOption): void 【功能说明】 关闭音视频的播放。对于本地流,该方法在关闭播放的同时会关闭音视频采集,释放设备资源占用。 【请求参数】 option:可选,CloseOption类型,表示关闭音视频的选项。如果option不填写,则关闭音频和所有分辨率的视频。 CloseOption类型定义如下:{ audio:可选,boolean类型。表示是否关闭音频。默认为false。 video:可选,boolean类型。表示是否关闭视频。默认为false。 resolutionIds:可选,string[]类型。在video为true的时候有效。指定关闭播放的分辨率Id的视频,如果不传resolutionIds,默认关闭所有分辨率的视频。 } 【返回参数】 无