NIMNetCallManager Protocol Reference

Conforms to NSObject
Declared in NIMNetCallManagerProtocol.h

Overview

网络通话协议

– start:type:option:completion: required method

主叫发起通话 - 新接口

- (void)start:(NSArray<NSString*> *)callees type:(NIMNetCallMediaType)type option:(nullable NIMNetCallOption *)option completion:(nullable NIMNetCallStartHandler)completion

Parameters

callees

被叫帐号列表, 现在只支持传入一个被叫

type

呼叫类型

option

开始通话附带的选项, 可以为空。如果需要 SDK 自动开启摄像头,需要指定 option 的视频采集参数 videoCaptureParam

completion

发起通话结果回调

Discussion

主叫发起通话 - 新接口

Declared In

NIMNetCallManagerProtocol.h

– response:accept:option:completion: required method

被叫响应呼叫

- (void)response:(UInt64)callID accept:(BOOL)accept option:(nullable NIMNetCallOption *)option completion:(nullable NIMNetCallResponseHandler)completion

Parameters

callID

call id

accept

是否接听

option

开始通话附带的选项, 可以为空。如果需要 SDK 自动开启摄像头,需要指定 option 的视频采集参数 videoCaptureParam

completion

响应呼叫结果回调

Discussion

被叫响应呼叫

被叫拒绝接听时, 主叫不需要再调用hangup:接口

Declared In

NIMNetCallManagerProtocol.h

– hangup: required method

挂断通话

- (void)hangup:(UInt64)callID

Parameters

callID

需要挂断电话的call id, 如果尚未获取到call id就填0

Discussion

挂断通话

被叫在响应呼叫之前不要调用挂断接口

Declared In

NIMNetCallManagerProtocol.h

– reserveMeeting:completion: required method

预订多人会议

- (void)reserveMeeting:(NIMNetCallMeeting *)meeting completion:(nullable NIMNetCallMeetingHandler)completion

Parameters

meeting

预订的多人会议

completion

预订会议结果

Discussion

预订多人会议

Declared In

NIMNetCallManagerProtocol.h

– joinMeeting:completion: required method

加入多人会议

- (void)joinMeeting:(NIMNetCallMeeting *)meeting completion:(nullable NIMNetCallMeetingHandler)completion

Parameters

meeting

需要加入的多人会议

completion

加入会议结果

Discussion

加入多人会议

如果需要 SDK 自动开启摄像头,需要在 meeting 中指定 option 的视频采集参数 videoCaptureParam

Declared In

NIMNetCallManagerProtocol.h

– leaveMeeting: required method

离开多人会议

- (void)leaveMeeting:(NIMNetCallMeeting *)meeting

Parameters

meeting

需要离开的多人会议

Discussion

离开多人会议

当所有加入的人都离开了某会议, 该会议对应的名称才可以被重复预订

Declared In

NIMNetCallManagerProtocol.h

– startVideoCapture: required method

开始视频采集。用于需要在开始音视频通话之前开启视频采集的场景

- (BOOL)startVideoCapture:(NIMNetCallVideoCaptureParam *)param

Parameters

param

视频采集参数

Return Value

开始是否成功

Discussion

开始视频采集。用于需要在开始音视频通话之前开启视频采集的场景

视频采集开始以后无法再调用该接口进行更新设置。需要先停止采集以后才能再次开始

Declared In

NIMNetCallManagerProtocol.h

– startCustomVideo: required method

开始自定义采集。

- (BOOL)startCustomVideo:(NIMNetCallCustomVideoParam *)param

Parameters

param

自定义视频参数

Return Value

开始是否成功

Discussion

开始自定义采集。

Declared In

NIMNetCallManagerProtocol.h

– setVideoCaptureOrientation: required method

设置视频采集方向

- (BOOL)setVideoCaptureOrientation:(NIMVideoOrientation)orientation

Parameters

orientation

需要设置的方向

Return Value

设置是否成功

Discussion

设置视频采集方向

用于互动直播场景。只能在开始视频采集以后调用

Declared In

NIMNetCallManagerProtocol.h

– stopVideoCapture required method

停止视频采集。用于在网络通话的自动停止视频采集选项 stopVideoCaptureOnLeave 未开启时主动管理采集的关闭操作

- (void)stopVideoCapture

Discussion

停止视频采集。用于在网络通话的自动停止视频采集选项 stopVideoCaptureOnLeave 未开启时主动管理采集的关闭操作

Declared In

NIMNetCallManagerProtocol.h

– setDisplayAndCropRect required method

macOS 鼠标选择桌面采集录屏区域

- (void)setDisplayAndCropRect

Discussion

macOS 鼠标选择桌面采集录屏区域

调用该接口之后,即可以在屏幕上选择录屏区域

Declared In

NIMNetCallManagerProtocol.h

– setScreenCaptureCropRect: required method

macOS设置桌面采集录屏区域

- (void)setScreenCaptureCropRect:(CGRect)cropRect

Parameters

cropRect

采集范围

Discussion

macOS设置桌面采集录屏区域

Declared In

NIMNetCallManagerProtocol.h

– switchCamera: required method

切换网络通话摄像头

- (void)switchCamera:(NIMNetCallCamera)camera

Parameters

camera

选择的摄像头

Discussion

切换网络通话摄像头

切换网络通话类型将丢失该设置

Declared In

NIMNetCallManagerProtocol.h

– setCameraDisable: required method

设置摄像头关闭

- (BOOL)setCameraDisable:(BOOL)disable

Parameters

disable

是否关闭

Return Value

设置是否成功

Discussion

设置摄像头关闭

仅支持当前为视频模式时进行此设置, 切换网络通话类型将丢失该设置

Declared In

NIMNetCallManagerProtocol.h

– switchPreviewVideoQuality: required method

通话中切换预览视频质量

- (BOOL)switchPreviewVideoQuality:(NIMNetCallVideoQuality)quality

Parameters

quality

预览视频质量

Return Value

是否设置成功. 如果用户尚未加入, 则无法设置

Discussion

通话中切换预览视频质量

Declared In

NIMNetCallManagerProtocol.h

– switchVideoQuality: required method

通话中切换视频质量

- (BOOL)switchVideoQuality:(NIMNetCallVideoQuality)quality

Parameters

quality

期望的视频质量

Return Value

是否设置成功. 如果用户尚未加入, 则无法设置

Discussion

通话中切换视频质量

Declared In

NIMNetCallManagerProtocol.h

– setMeetingRole: required method

改变自己在会议中的角色

- (BOOL)setMeetingRole:(BOOL)actor

Parameters

actor

是否为发言者角色, 发言者发送音视频数据, 非发言者不发送音视频数据

Return Value

设置是否成功

Discussion

改变自己在会议中的角色

Declared In

NIMNetCallManagerProtocol.h

– startUploadLogWithRate:description:completion: required method

主动上传日志

- (void)startUploadLogWithRate:(NSInteger)rate description:(NSString *_Nullable)description completion:(void ( ^ ) ( NSError *error ))completion

Parameters

rate

评分

description

描述字段

completion

完成回调

Discussion

主动上传日志

主动上传日志

Declared In

NIMNetCallManagerProtocol.h

– setAudioMute:forUser: required method

指定某用户设置是否对其静音

- (BOOL)setAudioMute:(BOOL)mute forUser:(NSString *)uid

Parameters

mute

是否静音, 静音后将听不到该用户的声音

uid

用户 uid

Return Value

是否设置成功. 如果用户尚未加入, 则无法设置

Discussion

指定某用户设置是否对其静音

Declared In

NIMNetCallManagerProtocol.h

– setRemoteRenderModel:forUser: required method

指定某用户的远端渲染模式

- (BOOL)setRemoteRenderModel:(NIMNetCallRenderMode *)model forUser:(NSString *)uid

Parameters

model

渲染模式

uid

用户 uid

Return Value

是否设置成功. 如果用户尚未加入, 则无法设置

Discussion

指定某用户的远端渲染模式

Declared In

NIMNetCallManagerProtocol.h

– setAllUserAudioMute: required method

指定所有远端用户是否对其静音

- (BOOL)setAllUserAudioMute:(BOOL)mute

Parameters

mute

是否静音, 静音后将听不到所有用户的声音

Return Value

是否设置成功.

Discussion

指定所有远端用户是否对其静音

Declared In

NIMNetCallManagerProtocol.h

– setVideoMute:forUser: required method

指定某用户设置是否接收其视频

- (BOOL)setVideoMute:(BOOL)mute forUser:(NSString *)uid

Parameters

mute

是否拒绝视频, 拒绝后将没有该用户视频数据回调

uid

用户uid

Return Value

是否设置成功. 如果用户尚未加入, 则无法设置

Discussion

指定某用户设置是否接收其视频

Declared In

NIMNetCallManagerProtocol.h

– setVideoSendMute: required method

设置禁止发送视频

- (BOOL)setVideoSendMute:(BOOL)mute

Parameters

mute

是否禁止发送视频

Return Value

是否设置成功. 如果用户尚未加入, 则无法设置

Discussion

设置禁止发送视频

Declared In

NIMNetCallManagerProtocol.h

– control:type: required method

发送网络通话的控制信息,用于方便通话双方沟通信息

- (void)control:(UInt64)callID type:(NIMNetCallControlType)type

Parameters

callID

控制信息相关通话的call id

type

控制类型

Discussion

发送网络通话的控制信息,用于方便通话双方沟通信息

Declared In

NIMNetCallManagerProtocol.h

– registerRemoteAudioCallBackWithUid:callback: required method

注册远端音频数据回调

- (BOOL)registerRemoteAudioCallBackWithUid:(NSString *)uid callback:(nullable NIMNetCallRemoteAudioPlayCallback)callback

Parameters

uid

用户uid

callback

数据回调,取消注册就设置 callback nil

Return Value

是否设置成功

Discussion

注册远端音频数据回调

Declared In

NIMNetCallManagerProtocol.h

– registerPlayAudioCallBack: required method

注册音频播放数据回调

- (BOOL)registerPlayAudioCallBack:(nullable NIMNetCallAudioPlayCallback)callback

Parameters

callback

数据回调 取消注册就设置 callback nil

Return Value

是否设置成功

Discussion

注册音频播放数据回调

Declared In

NIMNetCallManagerProtocol.h

– setMute: required method

设置网络通话麦克风静音

- (BOOL)setMute:(BOOL)mute

Parameters

mute

是否开启麦克风静音

Return Value

开启麦克风静音是否成功

Discussion

设置网络通话麦克风静音

该设置不影响伴音发送, 切换网络通话类型将丢失该设置

Declared In

NIMNetCallManagerProtocol.h

– setAudioSendMute: required method

设置是否关闭语音发送,包含伴音

- (BOOL)setAudioSendMute:(BOOL)mute

Parameters

mute

是否关闭语音发送

Return Value

设置是否成功

Discussion

设置是否关闭语音发送,包含伴音

Declared In

NIMNetCallManagerProtocol.h

– setSpeaker: required method

设置网络通话扬声器模式

- (BOOL)setSpeaker:(BOOL)useSpeaker

Parameters

useSpeaker

是否开启扬声器

Return Value

开启扬声器是否成功

Discussion

设置网络通话扬声器模式

切换网络通话类型将丢失该设置

Declared In

NIMNetCallManagerProtocol.h

– selectAudioExternalDevice: required method

选择音频外部设备类型

- (void)selectAudioExternalDevice:(NIMNetCallAudioExternalDeviceType)deviceType

Parameters

deviceType

设备类型

Discussion

选择音频外部设备类型

目前该接口只针对插入设备后选择设备类型的场景,SDK根据设备类型自动选择合适的音频配置,与 onAudioExternalDeviceStateChanged 配合使用。

Declared In

NIMNetCallManagerProtocol.h

– startAudioDump required method

打开音频dump

- (void)startAudioDump

Discussion

打开音频dump

Declared In

NIMNetCallManagerProtocol.h

– stopAudioDump required method

关闭音频dump

- (void)stopAudioDump

Discussion

关闭音频dump

Declared In

NIMNetCallManagerProtocol.h

– videoCaptureDevices required method

获取视频采集设备

- (NSArray<NIMNetCallVideoDevice*> *)videoCaptureDevices

Return Value

所有视频采集设备

Discussion

获取视频采集设备

Declared In

NIMNetCallManagerProtocol.h

– currentCaptureDevice required method

获取当前视频采集设备

- (NIMNetCallVideoDevice *)currentCaptureDevice

Return Value

当前视频采集设备

Discussion

获取当前视频采集设备

Declared In

NIMNetCallManagerProtocol.h

– switchCaptureDeviceWithDevice: required method

  • 切换视频采集设备
- (BOOL)switchCaptureDeviceWithDevice:(NIMNetCallVideoDevice *)videoDevice

Discussion

  • 切换视频采集设备

  • @param videoDevice 视频采集设备

Declared In

NIMNetCallManagerProtocol.h

– audioDevices required method

  • 获取macOS下所有音频输入输出设备 *
- (NSArray<NIMNetCallMacAudioDevice*> *)audioDevices

Return Value

所有音频设备

Discussion

  • 获取macOS下所有音频输入输出设备 *

Declared In

NIMNetCallManagerProtocol.h

– currentAudioInputDevice required method

获取macOS当前音频输入设备

- (NIMNetCallMacAudioDevice *)currentAudioInputDevice

Return Value

音频输入设备

Discussion

获取macOS当前音频输入设备

Declared In

NIMNetCallManagerProtocol.h

– currentAudioOutputDevice required method

获取macOS当前音频输出设备

- (NIMNetCallMacAudioDevice *)currentAudioOutputDevice

Return Value

音频输出设备

Discussion

获取macOS当前音频输出设备

Declared In

NIMNetCallManagerProtocol.h

– audioInputDevices required method

获取macOS所有音频输入设备

- (NSArray<NIMNetCallMacAudioDevice*> *)audioInputDevices

Return Value

音频输入设备

Discussion

获取macOS所有音频输入设备

Declared In

NIMNetCallManagerProtocol.h

– audioOutputDevices required method

获取macOS音频输出设备

- (NSArray<NIMNetCallMacAudioDevice*> *)audioOutputDevices

Return Value

音频输出设备

Discussion

获取macOS音频输出设备

Declared In

NIMNetCallManagerProtocol.h

– switchAudioInputDeviceWithDevice: required method

  • 切换macOS的音频输入设备 *
  • @param device 目标音频采集设备
- (BOOL)switchAudioInputDeviceWithDevice:(NIMNetCallMacAudioDevice *)device

Discussion

  • 切换macOS的音频输入设备 *
  • @param device 目标音频采集设备

  • @return 是否设置成功

Declared In

NIMNetCallManagerProtocol.h

– setProximityMonitoringType: required method

设置近距离传感器类型,默认为 NIMNetCallProximityMonitoringTypeDefault

- (BOOL)setProximityMonitoringType:(NIMNetCallProximityMonitoringType)type

Parameters

type

近距离传感器类型

Return Value

设置近距离传感器是否成功

Discussion

设置近距离传感器类型,默认为 NIMNetCallProximityMonitoringTypeDefault

默认情况下音频模式会打开传感器,以用户设置优先

Declared In

NIMNetCallManagerProtocol.h

– switchType: required method

切换网络通话类型

- (void)switchType:(NIMNetCallMediaType)type

Parameters

type

通话类型

Discussion

切换网络通话类型

切换通话类型会丢失这些设置: 静音模式, 扬声器模式, 摄像头关闭, 切换摄像头

Declared In

NIMNetCallManagerProtocol.h

– setVideoMaxEncodeBitrate: required method

设置视频最大编码码率

- (BOOL)setVideoMaxEncodeBitrate:(NSUInteger)bitrate

Parameters

bitrate

最大编码码率 (bps)

Return Value

是否设置成功

Discussion

设置视频最大编码码率

Declared In

NIMNetCallManagerProtocol.h

– switchVideoEncoder: required method

切换视频编码器

- (BOOL)switchVideoEncoder:(NIMNetCallVideoCodec)codec

Parameters

codec

视频编码器

Return Value

是否设置成功. 如果用户尚未加入, 则无法设置

Discussion

切换视频编码器

硬编码设置仅在iOS8及以上系统有效

Declared In

NIMNetCallManagerProtocol.h

– switchVideoDecoder: required method

切换视频解码器

- (BOOL)switchVideoDecoder:(NIMNetCallVideoCodec)codec

Parameters

codec

视频解码器

Return Value

是否设置成功. 如果用户尚未加入, 则无法设置

Discussion

切换视频解码器

硬解码设置仅在iOS8及以上系统有效

Declared In

NIMNetCallManagerProtocol.h

– selectVideoAdaptiveStrategy: required method

选择视频调控策略

- (BOOL)selectVideoAdaptiveStrategy:(NIMAVChatVideoAdaptiveStrategy)videoAdaptiveStrategy

Parameters

videoAdaptiveStrategy

视频调控策略

Return Value

是否设置成功.

Discussion

选择视频调控策略

Declared In

NIMNetCallManagerProtocol.h

– sendVideoSampleBuffer: required method

发送视频 SampleBuffer

- (nullable NSError *)sendVideoSampleBuffer:(CMSampleBufferRef)buffer

Parameters

buffer

只支持包含以下三种 CVPixelBuffer 数据格式的 sampleBuffer: kCVPixelFormatType_32BGRA、kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange、kCVPixelFormatType_420YpCbCr8BiPlanarFullRange

Return Value

发送结果

Discussion

发送视频 SampleBuffer

可以发送SDK回调上来的视频数据,也可以发送自定义视频数据 自定义数据输入不能超过720P

Declared In

NIMNetCallManagerProtocol.h

– setAsMainArea:completion: required method

互动直播设置主画面

- (void)setAsMainArea:(NSString *)uid completion:(void ( ^ ) ( NSError *__nullable error ))completion

Parameters

uid

被设置的用户id

completion

完成回调 如果设置成功 error 为 nil

Discussion

互动直播设置主画面

在互动直播下,动态切换布局,设置用户为主画面,只有互动直播主播可以设置

Declared In

NIMNetCallManagerProtocol.h

– switchBypassStreamingUrl: required method

切换互动直播推流地址

- (BOOL)switchBypassStreamingUrl:(NSString *)url

Parameters

url

推流地址

Return Value

是否设置成功

Discussion

切换互动直播推流地址

Declared In

NIMNetCallManagerProtocol.h

– startAudioMix: required method

开始混音任务

- (nullable NSError *)startAudioMix:(NIMNetCallAudioFileMixTask *)task

Parameters

task

文件混音任务

Return Value

结果, 如果成功开始了, 返回 nil

Discussion

开始混音任务

开始新的任务会结束正在进行中的任务

Declared In

NIMNetCallManagerProtocol.h

– updateAudioMix: required method

更新混音任务

- (nullable NSError *)updateAudioMix:(NIMNetCallAudioFileMixTask *)task

Parameters

task

文件混音任务

Return Value

结果, 如果成功开始了, 返回 nil

Discussion

更新混音任务

可以更新循环播放次数和音量等

Declared In

NIMNetCallManagerProtocol.h

– pauseAudioMix required method

暂停混音

- (BOOL)pauseAudioMix

Return Value

是否成功

Discussion

暂停混音

Declared In

NIMNetCallManagerProtocol.h

– resumeAudioMix required method

恢复混音

- (BOOL)resumeAudioMix

Return Value

是否成功

Discussion

恢复混音

Declared In

NIMNetCallManagerProtocol.h

– stopAudioMix required method

结束混音

- (BOOL)stopAudioMix

Return Value

是否成功

Discussion

结束混音

Declared In

NIMNetCallManagerProtocol.h

– currentAudioMixTask required method

获取当前进行中的混音任务

- (nullable NIMNetCallAudioFileMixTask *)currentAudioMixTask

Return Value

混音任务. 如果没有当前任务则返回 nil

Discussion

获取当前进行中的混音任务

Declared In

NIMNetCallManagerProtocol.h

– playSoundEffect: required method

播放音效,用于在混音时播放短暂的音效

- (nullable NSError *)playSoundEffect:(NIMNetCallAudioFileMixTask *)task

Parameters

task

音效任务。

Return Value

结果, 如果成功开始了, 返回 nil

Discussion

播放音效,用于在混音时播放短暂的音效

Declared In

NIMNetCallManagerProtocol.h

– updateSoundEffect: required method

更新音效任务

- (nullable NSError *)updateSoundEffect:(NIMNetCallAudioFileMixTask *)task

Parameters

task

文件音效任务

Return Value

结果, 如果成功开始了, 返回 nil

Discussion

更新音效任务

可以更新循环播放次数和音量等

Declared In

NIMNetCallManagerProtocol.h

– pauseSoundEffect required method

暂停音效

- (BOOL)pauseSoundEffect

Return Value

是否成功

Discussion

暂停音效

Declared In

NIMNetCallManagerProtocol.h

– resumeSoundEffect required method

恢复音效

- (BOOL)resumeSoundEffect

Return Value

是否成功

Discussion

恢复音效

Declared In

NIMNetCallManagerProtocol.h

– stopSoundEffect required method

结束音效

- (BOOL)stopSoundEffect

Return Value

是否成功

Discussion

结束音效

Declared In

NIMNetCallManagerProtocol.h

– fileTotalTime required method

混音文件总时长

- (SInt64)fileTotalTime

Return Value

总时长 单位ms

Discussion

混音文件总时长

Declared In

NIMNetCallManagerProtocol.h

– currentPlayTime required method

混音文件当前播放时间

- (SInt64)currentPlayTime

Return Value

当前播放时间 单位ms

Discussion

混音文件当前播放时间

Declared In

NIMNetCallManagerProtocol.h

– seekToTime: required method

混音文件seek到传入时间

- (void)seekToTime:(SInt64)time

Parameters

time

传入时间 单位ms

Discussion

混音文件seek到传入时间

Declared In

NIMNetCallManagerProtocol.h

– startAudioCustomInputTask: required method

开始音频自定义输入

- (nullable NSError *)startAudioCustomInputTask:(NIMNetCallAudioCustomInputTask *)task

Parameters

task

自定义输入任务

Return Value

结果 如果成功 返回 nil

Discussion

开始音频自定义输入

Declared In

NIMNetCallManagerProtocol.h

– inputAudioData:size:sampleRate: required method

输入音频pcm数据

- (nullable NSError *)inputAudioData:(SInt16 *)audioData size:(UInt32)size sampleRate:(Float64)sampleRate

Parameters

audioData

音频数据

size

音频数据大小 单位字节 不能超过半秒数据 计算方式(采样率 * (mBytesPerPacket / mFramesPerPacket) * 0.5秒)

sampleRate

采样率 需要与开始任务中的采样率一致

Return Value

结果 如果成功 返回 nil

Discussion

输入音频pcm数据

传入的音频数据格式(AudioStreamBasicDescription)需要符合 mFormatID = kAudioFormatLinearPCM; mFormatFlags = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked; mFramesPerPacket = 1;//每个packet的中frame的个数 mChannelsPerFrame = 1;//声道数 mBitsPerChannel = 16;//每个采样数据的位数 mBytesPerPacket = 2;//每个packet中数据的字节数 内部不做校验(如果不符合可能会无声音或异常声音)

Declared In

NIMNetCallManagerProtocol.h

– stopAudioCustomInputTask required method

结束音频自定义输入

- (void)stopAudioCustomInputTask

Discussion

结束音频自定义输入

Declared In

NIMNetCallManagerProtocol.h

– startEarBack required method

打开耳返

- (void)startEarBack

Discussion

打开耳返

Declared In

NIMNetCallManagerProtocol.h

– stopEarBack required method

关闭耳返

- (void)stopEarBack

Discussion

关闭耳返

Declared In

NIMNetCallManagerProtocol.h

– changeEarBackVolume: required method

调节耳返音量

- (BOOL)changeEarBackVolume:(NSUInteger)volume

Parameters

volume

耳返音量 接受输入值为 0 到 10

Return Value

是否调节成功

Discussion

调节耳返音量

Declared In

NIMNetCallManagerProtocol.h

– localPreview required method

获得当前视频通话的本地预览层

- (nullable UIView *)localPreview

Return Value

预览层

Discussion

获得当前视频通话的本地预览层

Declared In

NIMNetCallManagerProtocol.h

– remoteDisplayViewWithUid: required method

获得当前视频通话远端渲染层

- (nullable UIView *)remoteDisplayViewWithUid:(NSString *)uid

Parameters

uid

被设置的用户id

Return Value

渲染层

Discussion

获得当前视频通话远端渲染层

Declared In

NIMNetCallManagerProtocol.h

– snapshotFromLocalVideoCompletion: required method

本地截图. 截取自己下一帧待发送的画面

- (void)snapshotFromLocalVideoCompletion:(void ( ^ ) ( UIImage *__nullable image ))result

Parameters

result

截图结果

Discussion

本地截图. 截取自己下一帧待发送的画面

如果截图失败, result 中 image 为 nil

Declared In

NIMNetCallManagerProtocol.h

– currentCallID required method

获取正在进行中的网络通话call id

- (UInt64)currentCallID

Return Value

call id, 如果没有正在进行中的通话则返回0

Discussion

获取正在进行中的网络通话call id

Declared In

NIMNetCallManagerProtocol.h

– netStatus: required method

获取当前网络通话中某用户的网络状态

- (NIMNetCallNetStatus)netStatus:(NSString *)user

Parameters

user

用户. 可以传入自己的 id 以获取自己的发送网络状况

Return Value

网络状态

Discussion

获取当前网络通话中某用户的网络状态

Declared In

NIMNetCallManagerProtocol.h

– startRecording:videoBitrate:uid: required method

开始MP4文件录制, 录制通话过程中自己的音视频内容到MP4文件

- (BOOL)startRecording:(nullable NSURL *)filePath videoBitrate:(UInt32)videoBitrate uid:(NSString *)userId

Parameters

filePath

录制文件路径, SDK不负责创建目录, 请确保文件路径的合法性, 也可以传入nil, 由SDK自己选择文件路径

videoBitrate

录制文件视频码率设置, 可以不指定, 由SDK自己选择合适的码率

userId

录制用户对象的id

Return Value

是否允许开始录制

Discussion

开始MP4文件录制, 录制通话过程中自己的音视频内容到MP4文件

只有通话连接建立以后才允许开始录制

Declared In

NIMNetCallManagerProtocol.h

– startRecording:option:uid: required method

开始MP4文件录制, 录制通话过程中自己的音视频内容到MP4文件

- (BOOL)startRecording:(nullable NSURL *)filePathURL option:(NIMNetCallMP4RecordOption *)option uid:(NSString *)userId

Parameters

filePathURL

录制文件路径, SDK不负责创建目录, 请确保文件路径的合法性, 也可以传入nil, 由SDK自己选择文件路径

option

录制文件视频参数设置, 可以不指定, 由SDK自己选择合适的参数值

userId

录制用户对象的id

Return Value

是否允许开始录制

Discussion

开始MP4文件录制, 录制通话过程中自己的音视频内容到MP4文件

只有通话连接建立以后才允许开始录制

Declared In

NIMNetCallManagerProtocol.h

– stopRecordingWithUid: required method

停止MP4文件录制

- (BOOL)stopRecordingWithUid:(NSString *)userId

Parameters

userId

录制用户对象的id

Return Value

是否接受停止录制请求

Discussion

停止MP4文件录制

Declared In

NIMNetCallManagerProtocol.h

– startAudioRecording:error: required method

  • 开始通话录音. 录制通话中所有参与者的声音, 包含混音任务播放的声音, 录制成 aac 或者 wav 文件 *
  • @param filePath 录制文件路径, 不包含文件类型后缀. 包含文件类型后缀的完整文件路径可以在开始录制以后通过 currentAudioRecordingFilePath 查询. *
  • @discussion SDK不负责创建目录, 请确保文件路径的合法性, 也可以传入 nil, 由 SDK 自己选择文件路径 *
  • @param error 错误. 如果开始通话录音失败, 此处回填错误码
- (BOOL)startAudioRecording:(nullable NSURL *)filePath error:(NSError *__nullable *)error

Discussion

  • 开始通话录音. 录制通话中所有参与者的声音, 包含混音任务播放的声音, 录制成 aac 或者 wav 文件 *
  • @param filePath 录制文件路径, 不包含文件类型后缀. 包含文件类型后缀的完整文件路径可以在开始录制以后通过 currentAudioRecordingFilePath 查询. *
  • @discussion SDK不负责创建目录, 请确保文件路径的合法性, 也可以传入 nil, 由 SDK 自己选择文件路径 *
  • @param error 错误. 如果开始通话录音失败, 此处回填错误码

  • @return 开始通话录音的结果.

Declared In

NIMNetCallManagerProtocol.h

– stopAudioRecording required method

结束通话录音

- (void)stopAudioRecording

Discussion

结束通话录音

Declared In

NIMNetCallManagerProtocol.h

– currentAudioRecordingFilePath required method

获取当前通话录音文件路径

- (nullable NSURL *)currentAudioRecordingFilePath

Return Value

当前通话录音文件路径. 如果没有进行中的通话录音则返回 nil

Discussion

获取当前通话录音文件路径

Declared In

NIMNetCallManagerProtocol.h

– netCallLogFilepath required method

获得 SDK 网络通话网络层log 文件路径

- (NSString *)netCallLogFilepath

Return Value

SDK 网络通话 log

Discussion

获得 SDK 网络通话网络层log 文件路径

Declared In

NIMNetCallManagerProtocol.h

– getConnectStatus required method

当前音视频连接状态查询接口

- (NIMNetCallConnectStatus)getConnectStatus

Return Value

连接状态

Discussion

当前音视频连接状态查询接口

Declared In

NIMNetCallManagerProtocol.h

– addDelegate: required method

添加网络通话委托

- (void)addDelegate:(id<NIMNetCallManagerDelegate>)delegate

Parameters

delegate

网络通话委托

Discussion

添加网络通话委托

Declared In

NIMNetCallManagerProtocol.h

– removeDelegate: required method

移除网络通话委托

- (void)removeDelegate:(id<NIMNetCallManagerDelegate>)delegate

Parameters

delegate

网络通话委托

Discussion

移除网络通话委托

Declared In

NIMNetCallManagerProtocol.h

– selectBeautifyType: required method

选择滤镜类型

- (BOOL)selectBeautifyType:(NIMNetCallFilterType)type

Parameters

type

滤镜类型

Return Value

是否设置成功

Discussion

选择滤镜类型

Declared In

NIMNetCallManagerProtocol.h

– changeLensPosition: required method

改变焦距 实际放大倍数

- (BOOL)changeLensPosition:(float)scale

Parameters

scale

放大倍数

Return Value

是否设置成功

Discussion

改变焦距 实际放大倍数

Declared In

NIMNetCallManagerProtocol.h

– setCameraFlash: required method

设置闪光灯开关

- (void)setCameraFlash:(BOOL)isFlashOn

Parameters

isFlashOn

是否开启闪光灯

Discussion

设置闪光灯开关

Declared In

NIMNetCallManagerProtocol.h

– setPreViewMirror: required method

设置预览镜像

- (void)setPreViewMirror:(BOOL)isMirrorOn

Parameters

isMirrorOn

是否开启预览镜像

Discussion

设置预览镜像

Declared In

NIMNetCallManagerProtocol.h

– setCodeMirror: required method

设置编码镜像

- (void)setCodeMirror:(BOOL)isMirrorOn

Parameters

isMirrorOn

是否开启编码镜像

Discussion

设置编码镜像

Declared In

NIMNetCallManagerProtocol.h

– setFocusMode: required method

设置对焦模式

- (BOOL)setFocusMode:(NIMNetCallFocusMode)mode

Parameters

mode

对焦模式

Return Value

是否设置成功

Discussion

设置对焦模式

Declared In

NIMNetCallManagerProtocol.h

– getMaxZoomScale required method

获取摄像头支持的最大放大倍数

- (CGFloat)getMaxZoomScale

Discussion

获取摄像头支持的最大放大倍数

  • @return 放大倍数

Declared In

NIMNetCallManagerProtocol.h

– addWaterMark:rect:location: required method

添加静态水印

- (BOOL)addWaterMark:(UIImage *)image rect:(CGRect)rect location:(NIMNetCallWaterMarkLocation)location

Parameters

image

水印图片

rect

水印具体位置和大小(x,y根据location位置,计算具体的位置信息)

location

水印位置

Return Value

是否设置成功

Discussion

添加静态水印

Declared In

NIMNetCallManagerProtocol.h

– addDynamicWaterMarks:fpsCount:loop:rect:location: required method

添加动态水印

- (BOOL)addDynamicWaterMarks:(NSArray *)imageArray fpsCount:(unsigned int)count loop:(BOOL)looped rect:(CGRect)rect location:(NIMNetCallWaterMarkLocation)location

Parameters

imageArray

动态图像数组

count

播放速度的快慢:count代表count帧显示同一张图

looped

是否循环,不循环就显示一次

rect

具体位置和大小(x,y根据location位置,计算具体的位置信息)

location

位置

Return Value

是否设置成功

Discussion

添加动态水印

Declared In

NIMNetCallManagerProtocol.h

– cleanWaterMark required method

清除水印

- (void)cleanWaterMark

Discussion

清除水印

Declared In

NIMNetCallManagerProtocol.h

– changeNMCVideoPreViewManualFocusPoint: required method

手动对焦

- (void)changeNMCVideoPreViewManualFocusPoint:(CGPoint)devicePoint

Parameters

devicePoint

Discussion

手动对焦

Declared In

NIMNetCallManagerProtocol.h

– changeNMCVideoExposurePointOfInterestPoint: required method

设置曝光兴趣点

- (void)changeNMCVideoExposurePointOfInterestPoint:(CGPoint)devicePoint

Parameters

devicePoint

Discussion

设置曝光兴趣点

Declared In

NIMNetCallManagerProtocol.h

– setContrastFilterIntensity: required method

设置对比度滤镜强度,支持自然 粉嫩 怀旧 黑白模式

- (BOOL)setContrastFilterIntensity:(float)value

Parameters

value

值 [0-4] 默认为 1

Return Value

是否设置成功

Discussion

设置对比度滤镜强度,支持自然 粉嫩 怀旧 黑白模式

Declared In

NIMNetCallManagerProtocol.h

– setSmoothFilterIntensity: required method

设置磨皮滤镜强度,支持自然 粉嫩 怀旧 黑白模式

- (BOOL)setSmoothFilterIntensity:(float)value

Parameters

value

值 [0-1] 默认为 0

Return Value

是否设置成功

Discussion

设置磨皮滤镜强度,支持自然 粉嫩 怀旧 黑白模式

Declared In

NIMNetCallManagerProtocol.h

– setUpNetCallSocksWithParam: required method

设置音视频代理

- (void)setUpNetCallSocksWithParam:(NIMNetCallSocksParam *)socksParam

Parameters

socksParam

代理配置参数

Discussion

设置音视频代理

不可与参数配置方式同时使用, 建议使用接口方式设置代理参数

Declared In

NIMNetCallManagerProtocol.h

– getMeetingIdWithUserUid: required method

根据UserId查询音视频房间id

- (UInt64)getMeetingIdWithUserUid:(NSString *)userId

Return Value

meetingUid

Discussion

根据UserId查询音视频房间id

@param userId

Declared In

NIMNetCallManagerProtocol.h

– setAutoPublish:autoSub: required method

设置视频是否自动发布,是否自动订阅;音频是否自动订阅,音频的发布是全发布的。 默认是自动发布和订阅,必须在joinChannel之前设置

- (NIMNetCallSubscribeError)setAutoPublish:(BOOL)autoPub autoSub:(BOOL)autoSub

Parameters

autoPub

是否自动发布

autoSub

是否自动订阅

Return Value

返回操作类型

Discussion

设置视频是否自动发布,是否自动订阅;音频是否自动订阅,音频的发布是全发布的。 默认是自动发布和订阅,必须在joinChannel之前设置

Declared In

NIMNetCallManagerProtocol.h

– isAutoSubscribeAudio required method

查询音频当前是否为自动订阅模式

- (BOOL)isAutoSubscribeAudio

Return Value

否为自动订阅模式

Discussion

查询音频当前是否为自动订阅模式

Declared In

NIMNetCallManagerProtocol.h

– isAutoPublishVideo required method

查询视频当前是否为自动发布模式

- (BOOL)isAutoPublishVideo

Return Value

是否为自动发布模式

Discussion

查询视频当前是否为自动发布模式

Declared In

NIMNetCallManagerProtocol.h

– setPubishFallBack: required method

设置弱网条件下音视频流回退策略 必须在启动音视频之前设置

- (NIMNetCallSubscribeError)setPubishFallBack:(NIMNetCallSubscribeServerFbType)option

Parameters

option

回退策略

Return Value

返回操作类型

Discussion

设置弱网条件下音视频流回退策略 必须在启动音视频之前设置

Declared In

NIMNetCallManagerProtocol.h

– publishVideo required method

发布视频流

- (NIMNetCallSubscribeError)publishVideo

Return Value

返回操作类型

Discussion

发布视频流

Declared In

NIMNetCallManagerProtocol.h

– unpublishVideo required method

取消发布视频流

- (NIMNetCallSubscribeError)unpublishVideo

Return Value

返回操作类型

Discussion

取消发布视频流

Declared In

NIMNetCallManagerProtocol.h

– isAutoSubscribeVideo required method

查询视频当前是否为自动订阅模式

- (BOOL)isAutoSubscribeVideo

Return Value

否为自动订阅模式

Discussion

查询视频当前是否为自动订阅模式

Declared In

NIMNetCallManagerProtocol.h

– subscribeVideo:profile: required method

订阅远端用户uid的视频流

- (NIMNetCallSubscribeError)subscribeVideo:(NSString *)uid profile:(NIMNetCallSimulcastProfile)profile

Parameters

uid

用户uid

Return Value

返回为0时说明接口执行成功,但是否订阅成功还得看回调结果。返回为非0时,说明接口执行异常中断,订阅失败

Discussion

订阅远端用户uid的视频流

Declared In

NIMNetCallManagerProtocol.h

– unsubscribeVideo: required method

取消订阅远端用户uid的视频流

- (NIMNetCallSubscribeError)unsubscribeVideo:(NSString *)uid

Parameters

uid

用户uid

Return Value

返回为0时说明接口执行成功,但是否订阅成功还得看回调结果。返回为非0时,说明接口执行异常中断,订阅失败

Discussion

取消订阅远端用户uid的视频流

Declared In

NIMNetCallManagerProtocol.h

– subscribeAudio required method

订阅远端音频流

- (NIMNetCallSubscribeError)subscribeAudio

Return Value

返回为0时说明接口执行成功,但是否订阅成功还得看回调结果。返回为非0时,说明接口执行异常中断,订阅失败

Discussion

订阅远端音频流

Declared In

NIMNetCallManagerProtocol.h

– unsubscribeAudio required method

取消订阅远端音频流

- (NIMNetCallSubscribeError)unsubscribeAudio

Return Value

返回为0时说明接口执行成功,但是否订阅成功还得看回调结果。返回为非0时,说明接口执行异常中断,订阅失败

Discussion

取消订阅远端音频流

Declared In

NIMNetCallManagerProtocol.h

– setLocalVideoSimulcastModel: required method

设置本地视频多流模式

- (NIMNetCallSubscribeError)setLocalVideoSimulcastModel:(NIMNetCallSimulcastModel)mode

Return Value

返回为0时说明接口执行成功,但是否订阅成功还得看回调结果。返回为非0时,说明接口执行异常

Discussion

设置本地视频多流模式

Declared In

NIMNetCallManagerProtocol.h

– recordsWithOption:completion: required method

获取点对点通话记录

- (void)recordsWithOption:(NIMNetCallRecordsSearchOption *_Nullable)option completion:(NIMNetCallSearchRecordsHandler)completion

Parameters

option

本地查询可选项, nil 返回所有

completion

查询结果回调

Discussion

获取点对点通话记录

Declared In

NIMNetCallManagerProtocol.h

– deleteAllRecords required method

清空点对点通话记录

- (void)deleteAllRecords

Discussion

清空点对点通话记录

Declared In

NIMNetCallManagerProtocol.h