音频管理
muteLocalAudio
- (int)muteLocalAudio:(BOOL)mute;
【功能说明】
设置是否关闭本地音频流发送。
【请求参数】
mute:YES表示关闭音频流发送,NO表示开启音频流发送。
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HWRtcErrorCode。
- 默认开启本地音频发流。
- 关闭本地音频发流,不影响本地音频采集。
- 远端用户订阅该用户时,远端用户会收到onRemoteAudioStateChange远端流状态变化回调。
enableLocalAudioStream
- (int)enableLocalAudioStream:(BOOL)enable;
【功能说明】
设置是否开启本地麦克风采集音频。
【请求参数】
enable:YES表示开启,NO表示关闭。
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HWRtcErrorCode。
- 默认开启,关闭不会影响音频流发送。
- 远端用户订阅该用户时,远端用户会收到onRemoteAudioStateChange远端流状态变化回调。
muteRemoteAudio
- (int)muteRemoteAudio:(NSString *)userid muted:(BOOL)muted;
【功能说明】
订阅或取消订阅对应远端用户的音频流。同一时间所有房间最多只能接收17路音频流。
【请求参数】
- userid : 远端用户的id,唯一的标识。
- muted:YES表示取消订阅,NO表示订阅。默认值 NO。
【返回参数】
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HWRtcErrorCode。
muteAllRemoteAudio
- (int)muteAllRemoteAudio:(BOOL)muted;
【功能说明】
订阅或取消订阅当前房间全部用户的音频流。
【请求参数】
muted:YES表示取消订阅,NO表示订阅。
【返回参数】
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HWRtcErrorCode。
- 取消所有音频流接收,同时也会取消接收新加入用户的音频流。
- 开启所有音频流接收,同时也会开启接收新加入用户的音频流。
- 默认开启所有音频流接收。
setVolumeNotifyInterval
- (int)setVolumeNotifyInterval:(int)volInterval;
【功能说明】
指定音量提示的时间间隔, 设置后按时间间隔触发回调,包括用户音量回调onUserVolumeStatsNotify,本地采集音量回调onLocalVolumeChangedNotify。
【请求参数】
volInterval:间隔时间, 0 关闭音量上报不再触发回调 。volInterval取值范围为[100 10000]ms。建议设置为2000ms,默认值为2000ms。
【返回参数】
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HWRtcErrorCode。
adjustRecordingVolume
- (int)adjustRecordingVolume:(unsigned int)volume;
【功能说明】
调整录制音量值。
【请求参数】
volume:音量值,取值范围为[0,100],默认音量值为10, 此接口不会影响系统音量。
- 0:方法调用成功。
- >0:方法调用失败,具体请参见HWRtcErrorCode。
adjustPlaybackVolume
- (int)adjustPlaybackVolume:(unsigned int)volume; - (int)adjustPlaybackVolume:(NSString *)userid volume :(unsigned int)volume;
【功能说明】
设置扬声器播放的音量。
【请求参数】
- volume:范围为[0-100],其中10表示原始音量。
- userid:用户id。
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HWRtcErrorCode。
不影响系统音量。
setShareComputerSound
- (int)setShareComputerSound:(BOOL)enable;
【功能说明】
共享声音。
【请求参数】
enable:YES表示开启,NO表示关闭。 默认关闭。
【返回参数】
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HRTCErrorCode。
- 用户需要提交工单联系华为云技术客服获取共享音频驱动。
- 安装驱动有两种方式推荐,任选其一:
由于第二种方法无法覆盖安装驱动,因此建议您使用第一种集成方式,以对应驱动的版本更新。
- 在安装集成了SDK的应用时,一同安装驱动。执行如下脚本:
sudo installer -pkg "pkg安装包全路径+文件名" -target /Library/Audio/Plug-Ins
- 应用启动共享功能时,让SDK自主安装,此时需要做前置动作:将驱动放置在用户的Documents/Resource文件夹(如果Documents目录下没有Resource文件夹,则需要创建),需要用户权限来安装驱动,安装完成后需要重启应用。安装成功后,之后打开共享功能无需再安装。
- 在安装集成了SDK的应用时,一同安装驱动。执行如下脚本:
- SDK无法检测到应用的卸载动作,所以需要应用层面在卸载时删除驱动缓存,执行如下脚本:
sudo rm -rf /Library/Audio/Plug-Ins/HAL/HWMeetAudioDevice.driver sudo launchctl kickstart -k system/com.apple.audio.coreaudiod
- 检测驱动安装是否成功:
- 查看/Library/Audio/Plug-Ins/HAL/HWMeetAudioDevice.driver是否存在。
- 查看系统设置偏好-声音-输出一栏,是否切换为hw驱动作为输出。该检查方式只有在启动了共享时才可查看。
sendAudioSeiMsg
- (int)sendAudioSeiMsg:(NSString *)message repeateCount:(int)repeateCount;
【功能说明】
发送音频SEI消息。通过音频SEI可将自定义信息嵌入到音频流中,发送给其他用户。
【请求参数】
- message:发送的内容。长度为1-500字节。
- repeateCount:发送次数(1-10)。根据需要填发送次数,一般发1次。
【返回参数】
- 0:方法调用成功。
- < 0:方法调用失败。具体请参见HRTCErrorCode。
setDefaultSpeakerModel
- (int)setDefaultSpeakerModel:(HWRtcSpeakerModel)speakerModel;
【功能说明】
设置默认的声音播放模式,在房间外调用。
【请求参数】
speakerModel:声音播放模式,具体请参见HWRtcSpeakerModel。默认值为HWRtcSpeakerModelSpeaker。
【返回参数】
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HRTCErrorCode。
setAudioFrameRecordParameters
- (int)setAudioFrameRecordParameters:(int)sampleRate channel:(int)channel mode:(HWRTCAudioOperateMode)mode samplesPerCall:(int)samplesPerCall;
【功能说明】
设置采集回调参数,配合setAudioFrameObserver的onAudioFrameRecord使用。
【请求参数】
- sampleRate:onAudioFrameRecord中返回的采样率,可设置为8000,16000,32000,44100,48000。
- channel:声道,1表示单声道,2表示双声道。
- mode:可读可写模式,具体请参见HWRTCAudioOperateMode。
- samplesPerCall:每次回调的单声道样点数(小于(sampleRate/100)*channel*2*3, 大于(sample/(100*3))*channel*2)。
【返回参数】
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HRTCErrorCode。
setAudioConfig
- (int)setAudioConfig:(HWRtcAudioQualityLevel)level scene:(HWRtcAudioSceneType)scene;
【功能说明】
设置使用场景。该接口需要在joinRoom前调用。
此接口可在initWithConfig接口设置场景后改变音频场景,暂不支持初始化scene设置音乐再通过此接口设置为会议。
【请求参数】
- level:表示档位,会议模式暂时只支持16k。具体请参见HWRtcAudioQualityLevel。
- scene:表示音频模式,具体请参见HWRtcAudioSceneType。
- 0:方法调用成功。
- > 0:方法调用失败。具体请参见HWRtcErrorCode。