文档首页 > > SDK参考> iOS SDK> 接口参考> HWRtcEngine

HWRtcEngine

分享
更新时间:2020/11/18 GMT+08:00

本章节介绍了iOS SDK的HWRtcEngine接口详情。

表1 HWRtcEngine接口

接口

描述

sharedEngine

创建连麦引擎实例

destroy

注销引擎

init

初始化引擎配置信息

setLogParam

设置打印日志级别和日志地址

setVideoEncParam

设置视频编码参数

joinRoom

加入房间

setUserRole

设置用户的角色

setupLocalView

设置本地预览画面

startRemoteStreamView

开启远端预览画面

stopRemoteStreamView

关闭远端预览画面

setRemoteViewDisplayMode

设置远端画面显示模式

startPreview

开启本地预览

stopPreview

关闭本地预览

muteLocalAudio

设置是否发送本地音频流

muteLocalVideo

设置是否发送本地视频流

enableLocalVideo

设置是否开启摄像头采集视频

setSpeakerModel

设置声音播放模式(仅iOS)

switchCamera

切换前后镜头(仅iOS)

adjustRecordingVolume

调整录制音量

adjustPlaybackVolume

调整播放音量

renewSignature

更新签名

startRemoteSubStreamView

开启选看辅流画面

stopRemoteSubStreamView

停止选看辅流画面

setRemoteSubStreamViewRotation

设置辅流画面角度(仅iOS)

setRemoteSubStreamViewDisplayMode

设置辅流画面显示模式(仅iOS)

leaveRoom

离开房间

getPlaybackDevices

获取扬声器设备(仅MAC)

setPlaybackDevices

设置扬声器设备(仅MAC)

getRecordingDevices

获取麦克风设备(仅MAC)

setRecordingDevices

设置麦克风设备(仅MAC)

getRecordingDevices

获取摄像头设备(仅MAC)

setVideoDevice

设置摄像头设备(仅MAC)

SetPlaybackDevicesVolume

设置当前扬声器音量(仅MAC)

getPlaybackDevicesVolume

获取当前扬声器的音量(仅MAC)

setRecordingDevicesVolume

设置麦克风的音量(仅MAC)

getRecordingDevicesVolume

获取当前麦克风的音量(仅MAC)

setplaybackDeviceMute

设置扬声器播放是否静音

setRecordingDeviceMute

设置麦克风是否静音

getRecordingDeviceMute

检查远端音频输出是否关闭

getPlaybackDeviceMute

获取本地麦克风是否静音

getCurrentPlaybackDevice

获取所有扬声器设备(仅MAC)

getCurrentVideoDevice

获取所有摄像头设备(仅MAC)

getCurrentRecordingDevice

获取当前麦克风设备(仅MAC)

logUpload

上传日志

connectOtherRoom

开启跨房,加入其他房间

disconnectOtherRoom

结束跨房,离开其他房间

setRemoteAudioTopNVoice

设置在所有可接收的音频流中,接收前N个音量最大的音频流。

muteRemoteAudio

订阅或取消订阅某个用户音频

muteAllRemoteAudio

订阅或取消订阅全部用户

setLocalViewMirror

设置本地视频镜像模式

setVideoEncoderMirror

设置视频编码镜像模式

startAudioFile

开始播放音频文件

stopAudioFile

停止播放音频文件

pauseAudioFile

暂停播放音频文件

resumeAudioFile

恢复播放音频文件

setExternalAudioCapture

设置是否开启外部音频采集

setExternalVideoCapture:

设置是否开启外部视频采集

pushExternalAudioFrame:

输入外部音频数据

pushExternalVideoFrame

输入外部视频数据

setExternalMediaFrameOutput

设置媒体数据自渲染

startNetworkTest

开始入会前网络检测

stopNetworkTest

停止入会前网络检测

sharedEngine

+ (instancetype)sharedEngine;

功能说明

创建连麦引擎实例。

请求参数

返回参数

返回引擎实例对象。

destroy

- (void)destroy;

功能说明

注销引擎。

请求参数

无。

返回参数

无。

init

-(int)init:(NSString*)domain appId:(NSString*)appId;

功能说明

初始化引擎配置信息。

请求参数
  • domain :企业域名,通过该域名可以获取就近接入IP地址列表。
  • appId:应用ID。
返回参数
  • 0:成功
  • 非0:失败

注意事项

如果domain 和appid发生改变,需要调用destroy

setLogParam

-(int)setLogParam:(HWRtcLogLevel)logLevel logPath:(NSString*)logPath enable:(BOOL)enable;

功能说明

设置打印日志的级别和地址。

请求参数
  • logLevel :日志级别,具体请参见HWRtcLogLevel
  • logPath:日志地址。
  • enable:是否开启日志。
返回参数
  • 0:成功
  • 非0:失败

setVideoEncParam

- (int)setVideoEncParam:(NSArray<HWRtcVideoEncode*>*)videoEncodes totalBitRate:(int)totalBitRate;

功能说明

设置视频编码参数。

请求参数
  • videoEncodes :视频编码参数,具体请参见HWRtcVideoEncode
  • totalBitRate:总带宽。
返回参数
  • 0:成功
  • 非0:失败

joinRoom

-(int)joinRoom:(HWRtcUserInfo *)userInfo roomId:(NSString*)roomId mediaType:(HWRtcMediaType)mediaType;

功能说明

加入房间。

请求参数
  • userInfo :用户信息,具体请参见HWRtcUserInfo
  • roomId:房间ID。
  • mediaType:媒体类型,具体请参见HWRtcMediaType
返回参数
  • 0:成功
  • 非0:失败

注意事项

会触发以下回调:

setUserRole

-(int)setUserRole:(HWRtcRole)role;

功能说明

设置用户的角色。

请求参数

role:用户角色,具体请参见HWRtcRole

返回参数
  • 0:成功
  • 非0:失败

【注意事项】

会触发回调onUserRoleChange,选看当前未选看用户,或者选看用户的的流类型发生了变化时。

setUserRole

- (int)setUserRole:(NSString *)roomid role:(HWRtcRole)role;

功能说明

设置在对应房间的角色。

请求参数

  • roomid :房间ID。
  • role:用户角色,具体请参见HWRtcRole

返回参数

  • 0:成功
  • 非0:失败

注意事项

选看当前未选看用户或者选看用户的的流类型发生了变化时,会触发回调onUserRoleChange

setupLocalView

-(int)setupLocalView:(HWRtcVideoCanvas *)local viewMode:(HWRtcVideoDisplayMode)viewMode;

功能说明

设置本地预览画面。

请求参数

返回参数

  • 0:成功
  • 非0:失败

startRemoteStreamView

-(int)startRemoteStreamView:(HWRtcVideoCanvas *)remote  streamType:(HWRtcStreamType)streamType;

功能说明

开启远端预览画面。

请求参数
返回参数
  • 0:成功
  • 非0:失败

【注意事项】

选看当前未选看用户,或者选看用户的的流类型发生了变化时,会触发回调onFirstRemoteVideoDecoded

stopRemoteStreamView

-(int)stopRemoteStreamView:(NSString*)userid;

功能说明

关闭远端预览画面。

请求参数

userid:用户id。

返回参数
  • 0:成功
  • 非0:失败

setRemoteViewDisplayMode

-(int)setRemoteViewDisplayMode:(HWRtcVideoDisplayMode)displayMode userid:(NSString *)userid;

功能说明

设置远端画面显示模式。

请求参数
返回参数
  • 0:成功
  • 非0:失败

startPreview

- (int)startPreview;

功能说明

开启本地预览。

请求参数

无。

【返回参数】

  • 0:成功
  • 非0:失败

注意事项

joinRoom之前调用setupLocalView后才会生效。打开预览后需要调用stopPreview关闭预览,否则一直处于预览状态。若需要在房间内预览,可调用setupLocalView,设置有效view开启预览,设置为0表示关闭预览。

stopPreview

- (int)stopPreview;

功能说明

关闭本地预览。

请求参数

无。

返回参数

  • 0:成功
  • 非0:失败

注意事项

joinRoom之前调用才会生效。打开预览后需要调用stopPreview关闭预览,否则依然处于预览状态。若需要在房间内预览,可调用setupLocalView,设置有效view开启预览,设置为0表示关闭预览。

muteLocalAudio

-(int)muteLocalAudio:(BOOL)mute;

功能说明

音频流发送开关。

请求参数

mute:YES表示关闭音频流发送,NO表示开启音频流发送。

返回参数
  • 0:成功
  • 非0:失败
注意事项
  • 默认开启本地音频发流,需要在加入房间后调用。
  • 关闭本地音频发流,不影响本地音频采集。
  • 远端用户选看该用户时,远端用户会触发onRemoteAudioStateChange远端流状态变化回调。

muteLocalVideo

-(int)muteLocalVideo:(BOOL)mute;

功能说明

视频流发送开关。

请求参数

mute:YES表示关闭视频流发送,NO表示开启视频流发送。

返回参数

  • 0:成功
  • 非0:失败
注意事项
  • 默认开启本地视频发流,需要在加入房间后调用。
  • 关闭本地视频发流,不影响本地视图采集,仍可见本地视图。
  • 远端用户选看该用户时,远端用户会触发onRemoteVideoStateChange远端流状态变化回调。

enableLocalVideo

- (int)enableLocalVideo:(BOOL)enable;

功能说明

设置是否关闭本地预览页面。

请求参数

enable:YES表示关闭,NO表示开启。

【返回参数】
  • 0:成功
  • 非0:失败

setSpeakerModel

-(int)setSpeakerModel:(HWRtcSpeakerModel)speakerModel;

功能说明

设置声音播放模式。

请求参数

speakerModel :声音播放模式,具体请参见HWRtcSpeakerModel

返回参数

  • 0:成功
  • 非0:失败

注意事项

只支持iOS

switchCamera

-(int)switchCamera;

功能说明

切换前后镜头。

【请求参数】

无。

返回参数

  • 0:成功
  • 非0:失败

注意事项

只支持iOS

adjustRecordingVolume

-(int)adjustRecordingVolume:(unsigned int)volume;

功能说明

调整录制音量。

请求参数

volume:采集音量,取值范围为0-100。

返回参数
  • 0:成功
  • 非0:失败

adjustPlaybackVolume

-(int)adjustPlaybackVolume:(unsigned int)volume;

功能说明

调整播放音量。

请求参数

volume:播放音量,取值范围为0-100。

返回参数

  • 0:成功
  • 非0:失败

renewSignature

- (int)renewSignature:(NSString *)signature time:(long long)time;

功能说明

更新签名。

请求参数
  • signature :鉴权签名字串。
  • time :时间戳 UTC
返回参数
  • 0:成功
  • 非0:失败

startRemoteSubStreamView

- (int)startRemoteSubStreamView:(HWRtcVideoCanvas *)streamView streamType:(HWRtcStreamType)streamType;

功能说明

开启选看辅流画面。

请求参数

返回参数

  • 0:成功
  • 非0:失败

stopRemoteSubStreamView

- (int)stopRemoteSubStreamView:(NSString *)userid;

功能说明

停止先看辅流画面。

请求参数

userid :用户ID。

返回参数

  • 0:成功
  • 非0:失败

setRemoteSubStreamViewRotation

- (int)setRemoteSubStreamViewRotation:(HWRtcVideoRotation)rotation userid:(NSString *)userid;

功能说明

设置辅流画面角度。

请求参数

返回参数

  • 0:成功
  • 非0:失败

注意事项

只支持IPHONE

setRemoteSubStreamViewDisplayMode

- (int)setRemoteSubStreamViewDisplayMode:(HWRtcVideoDisplayMode)displayMode userid:(NSString *)userid;

功能说明

设置辅流画面显示模式。

请求参数
返回参数
  • 0:成功
  • 非0:失败

注意事项

只支持IPHONE

leaveRoom

- (int)leaveRoom;

功能说明

离开房间。

请求参数

无。

返回参数
  • 0:表示成功。
  • 非0:表示失败。

注意事项

将会触发onLeaveRoomonConnStateChange回调。

getPlaybackDevices

-(NSArray<HWRtcDeviceInfo*>*)getPlaybackDevices;

功能说明

获取扬声器设备。

请求参数

返回参数

NSArray <HWRtcDeviceInfo*> 数组类型。数组内为HWRtcDeviceInfo对象。

注意事项

只支持macOS

setPlaybackDevices

- (int)setPlaybackDevice:(NSString*_Nonnull)deviceId;

功能说明

设置扬声器设备。

请求参数

deviceId:设备ID,从getPlaybackDevices获取。

返回参数
  • 0:成功
  • 非0:失败

注意事项

只支持macOS

getRecordingDevices

-(NSArray<HWRtcDeviceInfo*>*)getRecordingDevices;

功能说明

获取麦克风设备。

请求参数

返回参数

NSArray <HWRtcDeviceInfo*> 数组类型。数组内为HWRtcDeviceInfo对象。

注意事项

只支持macOS

setRecordingDevices

- (int)setRecordingDevice:(NSString*_Nonnull)deviceId;

功能说明

设置麦克风设备。

请求参数

deviceId:设备ID,从getPlaybackDevices获取。

返回参数
  • 0:成功
  • 非0:失败

注意事项

只支持macOS

setPlaybackDevice

-(int)setPlaybackDevice:(NSString*)deviceId;

功能说明

设置当前扬声器设备。

请求参数

deviceId: 设备ID,可以从getPlaybackDevices获取到设备ID。

返回参数

  • 0:成功
  • 非0:失败

注意事项

支持macOS。

setRecordingDevice

-(int)setRecordingDevice:(NSString*)deviceId;

功能说明

设置麦克风设备。

请求参数

deviceId:设备ID,可以从getRecordingDevices获取到设备ID。

返回参数
  • 0:成功
  • 非0:失败

注意事项

支持macOS。

getVideoDevices

-(NSArray<HWRtcDeviceInfo*>*)getVideoDevices;

功能说明

获取摄像头设备。

请求参数

返回参数

NSArray <HWRtcDeviceInfo*> 数组类型。数组内为HWRtcDeviceInfo对象。

注意事项

只支持macOS

setVideoDevice

-(int)setVideoDevice:(NSString*)deviceId;

功能说明

设置摄像头设备。

请求参数

deviceId: 设备ID,可以从getVideoDevices获取到设备ID。

返回参数
  • 0:成功
  • 非0:失败

注意事项

支持macOS。

SetPlaybackDevicesVolume

-(int)SetPlaybackDevicesVolume:(unsigned int)volume;

功能说明

设置扬声器的音量。

请求参数

volume:取值范围为0-100,其中10为正常音量,0为静音,100为最大音量。

返回参数

  • 0:成功
  • 非0:失败

注意事项

支持macOS。

getPlaybackDevicesVolume

-(int)getPlaybackDevicesVolume;

功能说明

获取扬声器的音量。

请求参数

无。

返回参数

音量,取值范围为0-100,其中10为正常音量,0为静音,100为最大音量。

注意事项

支持macOS。

setRecordingDevicesVolume

-(int)setRecordingDevicesVolume:(unsigned int)volume;

功能说明

设置采集声音音量。

请求参数

volume:音量大小,取值范围为0-100,其中10为正常音量,0为静音,100为最大音量。

返回参数

  • 0:成功
  • 非0:失败

注意事项

支持macOS。

getRecordingDevicesVolume

-(int)getRecordingDevicesVolume;

功能说明

获取麦克风采集的音量。

请求参数

无。

返回参数

音量,取值在0-100, 其中10为正常音量,0为静音,100为最大音量。

注意事项

支持macOS。

setplaybackDeviceMute

-(int)setplaybackDeviceMute:(BOOL)mute;

功能说明

设置扬声器播放是否静音。

请求参数

mute:YES 表示静音,NO表示不静音。

返回参数

  • 0:成功
  • 非0:失败

setRecordingDeviceMute

-(int)setRecordingDeviceMute:(BOOL)mute;

功能说明

设置麦克风是否静音。

请求参数

mute:YES 表示关闭麦克风,NO表示开启麦克风。

返回参数
  • 0:成功
  • 非0:失败

getRecordingDeviceMute

-(BOOL)getRecordingDeviceMute;

功能说明

检查远端音频输出是否关闭。

请求参数

无。

返回参数

  • YES:关闭
  • NO:未关闭

getPlaybackDeviceMute

-(BOOL)getPlaybackDeviceMute;

功能说明

获取本地麦克风是否静音。

请求参数

无。

返回参数

  • YES:静音
  • NO:未静音

getCurrentPlaybackDevice

- (NSString *)getCurrentPlaybackDevice;

功能说明

获取所有扬声器设备。

请求参数

无。

返回参数

所有扬声器设备。

注意事项

支持macOS。

getCurrentVideoDevice

- (NSString *)getCurrentVideoDevice;

功能说明

获取所有摄像头设备。

请求参数

无。

返回参数

所有摄像头设备。

注意事项

支持macOS。

getCurrentRecordingDevice

- (NSString *)getCurrentRecordingDevice;

功能说明

获取当前输入声音设备。

请求参数

无。

返回参数

所有摄像头设备。

注意事项

支持macOS。

logUpload

- (int)logUpload;

功能说明

上传日志。

请求参数

无。

返回参数

  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

注意事项

将会触发以下回调:

connectOtherRoom

- (int)connectOtherRoom:(NSString *)roomid role:(HWRtcRole)role;

功能说明

开启跨房,加入其他房间。

请求参数

roomid:房间ID。

role:用户角色。

返回参数
  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

【注意事项】

将会触发回调onConnectOtherRoom。

disconnectOtherRoom

- (int)disconnectOtherRoom:(NSString *)roomid role:(HWRtcRole)role;

功能说明

结束跨房,离开其他房间。

请求参数
  • roomid :房间ID。
  • role:用户角色。
返回参数
  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

注意事项

将会触发回调onDisconnectOtherRoom。

setRemoteAudioTopNVoice

- (int)setRemoteAudioTopNVoice:(int)topNVoice;

功能说明

设置在所有可接收的音频流中,接收前N个音量最大的音频流。

请求参数

topNVoice:设置接收的音频流数量,范围原来(0,17]。

返回参数

  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

注意事项

互动视频建议设置参数为3。接收前3个音量最大的音频流,默认接收所有用户的音频流。

muteRemoteAudio

- (int)muteRemoteAudio:(NSString *)userid muted:(BOOL)muted;

功能说明

订阅或取消订阅某个用户音频。

请求参数

  • userid : 用户id
  • muted:YES表示取消订阅,NO表示订阅。

返回参数

  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

muteAllRemoteAudio

- (int)muteAllRemoteAudio:(BOOL)muted;

功能说明

订阅或取消订阅全部用户。

请求参数

muted: YES表示取消订阅,NO表示订阅。

返回参数

  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

注意事项

  • 取消所有音频流接收,同时也会取消接收新加入用户的音频流。
  • 开启所有音频流接收,同时也会开启接收新加入用户的音频流。
  • 默认开启所有音频流接收。

setLocalViewMirror

- (int)setLocalViewMirror:(HWRtcVideoMirrorType)mirror;

功能说明

设置本地视频镜像模式。

请求参数

mirror:镜像类型,具体请参见HWRtcVideoMirrorType

返回参数

  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

setVideoEncoderMirror

- (int)setVideoEncoderMirror:(HWRtcVideoMirrorType)mirror;

功能说明

设置视频编码镜像模式。

请求参数

mirror:镜像类型,具体请参见HWRtcVideoMirrorType

返回参数

  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

注意事项

该接口不改变本地摄像头的预览画面,但会改变另一端用户看到的(以及服务器录制的)画面效果。

startAudioFile

-(int)startAudioFile:(HWRtcStartAudioFileParam * _Nonnull)startAudioFileParam;

功能说明

开始播放音频文件。

请求参数

startAudioFileParam:镜像类型,具体请参见HWRtcStartAudioFileParam

返回参数

  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

注意事项

将会触发onStartAudioFile回调。

stopAudioFile

-(int)stopAudioFile;

功能说明

停止播放音频文件。

请求参数

返回参数

  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

注意事项

将会触发onStopAudioFile回调。

pauseAudioFile

-(int)pauseAudioFile;

功能说明

暂停播放音频文件。

请求参数

返回参数

  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

注意事项

将会触发onPauseAudioFile回调

resumeAudioFile

-(int)resumeAudioFile;

功能说明

恢复播放音频文件。

请求参数

暂无。

返回参数

  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

注意事项

将会触发onResumeAudioFile回调。

setExternalAudioCapture

-(int)setExternalAudioCapture:(BOOL)enable sampleRate:(NSUInteger)sampleRate channels:(NSUInteger)channels;

功能说明

设置是否开启外部音频采集。

请求参数
  • enable:YES表示开启, NO表示关闭。
  • sampleRate:采样率。
  • channels:声道数。
返回参数
  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

注意事项

必须在加入房间joinRoom前调用,且需要房间在内调用pushExternalAudioFrame,推送外部音频数据。

setExternalVideoCapture

-(int)setExternalVideoCapture:(BOOL)enabled;

功能说明

设置是否开启外部视频采集。

请求参数

enable :YES表示开启, NO表示关闭。

返回参数

  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

注意事项

必须在加入房间joinRoom前调用,且需要房间在内调用pushExternalVideoFrame,推送外部视频数据。

pushExternalAudioFrame

-(int)pushExternalAudioFrame:(NSData * _Nonnull)audioData size:(NSUInteger)size;

功能说明

输入外部音频数据。

请求参数
  • audioData:音频流数据。
  • size:数据长度。

返回参数

  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

pushExternalVideoFrame

-(int)pushExternalVideoFrame:(HWRtcVideoFrame* _Nonnull)videoFrame;

功能说明

输入外部视频数据。

请求参数

videoFrame:视频流数据 ,具体请参见 HWRtcVideoFrame

返回参数

  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

setExternalMediaFrameOutput

-(int)setExternalMediaFrameOutput:(HWRtcMediaType)mediaType remoteEnable:(BOOL)remoteEnable localEnable:(BOOL)localEnable;

功能说明

设置媒体数据自渲染。

请求参数
  • mediaType:“audio”表示设置音频,“video”表示设置视频 ,具体请参见 HWRtcMediaType
  • remoteEnable:YES表示开启远端自渲染, NO表示关闭远端自渲染。
  • localEnable:YES表示开启本地自渲染,NO表示关 闭本地自渲染。

返回参数

  • 0:表示成功。
  • 非0:表示失败,具体请参见HWRtcErrorCode

startNetworkTest

- (int)startNetworkTest:(HWRTCNetworkTestConfig *_Nonnull)netWorkTestConfig;

功能说明

开启入会前网络检测。

请求参数

返回参数

  • 0:成功
  • 非0:失败

stopNetworkTest

- (int)stopNetworkTest;

功能说明

停止入会前网络检测。

请求参数

返回参数

  • 0:成功
  • 非0:失败
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问