LVRTCEngine Class Reference

Inherits from NSObject
Declared in LVRTCEngine.h

Overview

RTC 引擎服务主类,音视频基本功能通过该类提供

Other Methods

+ alloc

不能直接使用,请通过 sharedInstance 获取该实例

+ (instancetype)alloc

Discussion

Warning: 不能直接使用

Declared In

LVRTCEngine.h

– init

不能直接使用,请通过 sharedInstance 获取该实例

- (instancetype)init

Discussion

Warning: 不能直接使用

Declared In

LVRTCEngine.h

+ new

不能直接使用,请通过 sharedInstance 获取该实例

+ (instancetype)new

Discussion

Warning: 不能直接使用

Declared In

LVRTCEngine.h

+ versionName

LVRTCEngine SDK 版本号(1.0.1)

+ (NSString *)versionName

Return Value

版本号

Discussion

开发者使用本 API 获取 SDK 版本号

Declared In

LVRTCEngine.h

+ versionNumber

LVRTCEngine SDK 版本号,数字(10001)

+ (NSInteger)versionNumber

Return Value

版本号

Discussion

开发者使用本 API 获取 SDK 版本号

Declared In

LVRTCEngine.h

+ buildVersion

SDK 内部版本号,汇报给 linkv 时可以提供该版本号

+ (NSString *)buildVersion

Declared In

LVRTCEngine.h

+ initSdk

初始化 SDK

+ (void)initSdk

Declared In

LVRTCEngine.h

+ unInitSDK

卸载 SDK,销毁单例对象资源

+ (void)unInitSDK

Declared In

LVRTCEngine.h

+ setISOCountryCode:

设置 ISO 国家码, 辅助调度信息.

+ (void)setISOCountryCode:(NSString *)iso

Parameters

iso

iso 国家码参数

Declared In

LVRTCEngine.h

+ setPublishQualityMonitorCycle:

设置推流时数据统计信息回调的频率,回调方法请看 OnPublishQualityUpdate 回调

+ (void)setPublishQualityMonitorCycle:(int)sec

Parameters

sec

回调频率(1 / sec)

Declared In

LVRTCEngine.h

+ setPlayQualityMonitorCycle:

设置拉流时数据统计信息回调的频率,回调方法请看 OnPlayQualityUpate 回调

+ (void)setPlayQualityMonitorCycle:(int)sec

Parameters

sec

回调频率(1 / sec)

Declared In

LVRTCEngine.h

+ setLogLevel:

设置日志打印级别(SDK 日志保存在缓存目录的 cmliveroom 目录下)

+ (void)setLogLevel:(LVLoggingSeverity)level

Parameters

level

日志打印级别

Declared In

LVRTCEngine.h

+ setUseTestEnv:

是否使用测试环境

+ (void)setUseTestEnv:(BOOL)env

Parameters

env

YES 为使用测试环境,NO 为不使用测试环境(默认为 NO)

Declared In

LVRTCEngine.h

+ setDebugServerIp:

设置调试的 signal IP 地址

+ (void)setDebugServerIp:(NSString *)ip

Parameters

ip

signal IP 地址

Declared In

LVRTCEngine.h

+ setDecoderPixelType:

设置接收到视频数据时解码的像素格式类型

+ (bool)setDecoderPixelType:(OSType)osType

Parameters

osType

像素格式类型(CVPixelFormatType)

Declared In

LVRTCEngine.h

+ setEncoderPixelType:

设置视频数据编码的像素格式类型

+ (bool)setEncoderPixelType:(OSType)osType

Parameters

osType

像素格式类型(CVPixelFormatType)

Declared In

LVRTCEngine.h

+ sharedInstance

返回 LVRTCEngine 实例对象

+ (instancetype)sharedInstance

Declared In

LVRTCEngine.h

– auth:skStr:userId:completion:

SDK 鉴权

- (void)auth:(NSString *)appId skStr:(NSString *)skStr userId:(NSString *)userId completion:(LVServiceCompletion)completion

Parameters

appId

向 LiveMe 申请的 appId

skStr

SDK 签名字符串

userId

用户 ID

completion

鉴权完成回调

Declared In

LVRTCEngine.h

– setAVConfig:

设置视频编码参数

- (void)setAVConfig:(LVAVConfig *)config

Parameters

config

编码参数配置

Discussion

注:如果后面设置的视频采集分辨率大于之前设置的分辨率,摄像头可能会进行重庆操作

Declared In

LVRTCEngine.h

– getAVConfig

获取当前视频编码参数

- (LVAVConfig *)getAVConfig

Return Value

视频编码参数

Declared In

LVRTCEngine.h

– loginRoom:roomId:isHost:isOnlyAudio:delegate:

加入音视频房间(音视频会议)

- (void)loginRoom:(NSString *)userId roomId:(NSString *)roomId isHost:(bool)isHost isOnlyAudio:(bool)isOnlyAudio delegate:(id<LVRTCEngineDelegate>)delegate

Parameters

userId

用户 ID

roomId

房间 ID

isHost

是否是主持人

isOnlyAudio

是否以音频模式加入

delegate

房间回调代理

Declared In

LVRTCEngine.h

– logoutRoom:

退出房间

- (void)logoutRoom:(LVServiceCompletion)completion

Parameters

completion

离开房间结果回调

Declared In

LVRTCEngine.h

– mixStream:

开始远端视频混流(将多路视频流混合在一个视频流中),混流成功与否通过 OnMixComplete 回调告知

- (bool)mixStream:(LVMixStreamConfig *)config

Parameters

config

混乱配置

Declared In

LVRTCEngine.h

– stopMixStream

停止混流

- (void)stopMixStream

Declared In

LVRTCEngine.h

– startPublishing

发布音视频数据(推流),如果登录房间时 isOnlyAudio 为 YES 则只发送音频数据,视频数据不发送,推流状态的变更通过 OnPublishStateUpdate: 回调

- (bool)startPublishing

Declared In

LVRTCEngine.h

– stopPublishing

停止发布音视频数据

- (void)stopPublishing

Declared In

LVRTCEngine.h

– startPlayingStream:

开始播放一路音视频流,播放状态的变更通过 OnPlayStateUpdate:userId: 回调

- (void)startPlayingStream:(NSString *)userId

Parameters

userId

要播放的音视频流用户 ID

Declared In

LVRTCEngine.h

– stopPlayingStream:

停止播放一路音视频流

- (void)stopPlayingStream:(NSString *)userId

Parameters

userId

要停止播放的音视频流用户 ID

Declared In

LVRTCEngine.h

– linkRoom:

房间之间 PK(跨房间连麦功能)

- (void)linkRoom:(NSString *)roomId

Parameters

roomId

房间 ID

Declared In

LVRTCEngine.h

– unlinkRoom:

取消跨房间连麦功能

- (void)unlinkRoom:(NSString *)roomId

Parameters

roomId

房间 ID

Declared In

LVRTCEngine.h

– linkRoom:linkUserId:

房间之间 PK(跨房间连麦功能)

- (void)linkRoom:(NSString *)roomId linkUserId:(NSString *)linkUserId

Parameters

roomId

房间 ID

linkUserId

PK 对象的 userId

Declared In

LVRTCEngine.h

– unlinkRoom:unlinkUserId:

取消跨房间连麦功能

- (void)unlinkRoom:(NSString *)roomId unlinkUserId:(NSString *)unlinkUserId

Parameters

roomId

房间 ID

unlinkUserId

取消 pk 对象的 userId

Declared In

LVRTCEngine.h

– startCapture

开始视频采集

- (void)startCapture

Declared In

LVRTCEngine.h

– stopCapture

停止视频采集

- (void)stopCapture

Declared In

LVRTCEngine.h

– switchCamera:

切换摄像头

- (void)switchCamera:(LVRTCCameraPosition)position

Parameters

position

摄像头位置

Declared In

LVRTCEngine.h

– addDisplayView:

为音视频设置预览视图,请先加入房间后再进行设置,SDK 内部会自动将视图和接收到的音视频数据进行绑定操作

- (void)addDisplayView:(LVRTCDisplayView *)view

Parameters

view

视图信息

Discussion

如果不传 uid 则该视图默认为当前登录用户

Declared In

LVRTCEngine.h

– removeDisplayView:

移除预览视图

- (void)removeDisplayView:(LVRTCDisplayView *)view

Parameters

view

视图信息

Declared In

LVRTCEngine.h

– enableMic:

开启或关闭麦克风

- (bool)enableMic:(bool)enbale

Parameters

enbale

true 开启,false 关闭(默认为 true)

Return Value

true 成功,false 失败

Discussion

推流时可调用本 API 进行参数配置

Declared In

LVRTCEngine.h

– enableSpeakerphone:

扬声器和听筒切换功能

- (bool)enableSpeakerphone:(bool)enable

Parameters

enable

true 视同扬声器播放音频,false 使用听筒播放音频。(默认 true)

Return Value

true 成功,false 失败

Declared In

LVRTCEngine.h

– setAudioRecordFlag:

声音数据回调参数设置,支持多种录制模式,录制结果通过 OnAudioMixStream: samples:nchannel:nchannel flag: 回调

- (void)setAudioRecordFlag:(LVAudioRecordType)flag

Parameters

flag

参考 CMAudioRecodType, 默认 CMAudioRecodTypeNone 标识不回调

Declared In

LVRTCEngine.h

– startSoundLevelMonitor:

开启音量变化监听,并设置音量变化监听回调频率,成功后回调 OnAudioVolumeUpdate:

- (void)startSoundLevelMonitor:(unsigned int)timeInMS

Parameters

timeInMS

单位毫秒(默认回调频率为 100 ms 回调一次)

Declared In

LVRTCEngine.h

– stopSoundLevelMonitor

停止音量变化的监听

- (void)stopSoundLevelMonitor

Declared In

LVRTCEngine.h

– getSoundLevelByUserId:

获取用户的音量信息

- (int)getSoundLevelByUserId:(NSString *)userId

Parameters

userId

用户 ID

Return Value

用户 ID 对应的音量数据

Declared In

LVRTCEngine.h

– enableVideoAutoRotation:

设置是否允许 SDK 自动根据设备的方向调整视频的输出方向

- (void)enableVideoAutoRotation:(BOOL)enable

Parameters

enable

打开和关闭(默认是 YES)

Declared In

LVRTCEngine.h

– setOutputVideoRotation:

设置手动管理视频输出方向,该方法需要先调用 enableVideoAutoRotateAdapter,将自动旋转方法关闭才能生效

- (void)setOutputVideoRotation:(LVVideoRotation)rotation

Parameters

rotation

视频输出方向,(默认是 LVVideoRotation_0)

Declared In

LVRTCEngine.h

– startAudioMixing:mode:loop:

开始播放音乐文件及混音(声音伴奏)

- (int)startAudioMixing:(NSString *)filePath mode:(LVAudioMixingMode)mode loop:(int)loop

Parameters

filePath

文件路径

mode

LVAudioMixingMode,设置混音模式

loop

指定音频文件循环播放的次数,正整数:循环的次数 -1:无限循环

Return Value

0 : 方法调用成功,!0:失败

Declared In

LVRTCEngine.h

– setAudioMixingMode:

动态调整混音模式

- (void)setAudioMixingMode:(LVAudioMixingMode)mode

Parameters

mode

混音模式参数

Declared In

LVRTCEngine.h

– stopAudioMixing

停止播放音乐文件及混音。请在房间内调用该方法。

- (int)stopAudioMixing

Return Value

0:方法调用成功 !0:方法调用失败

Declared In

LVRTCEngine.h

– pauseAudioMixing

暂停播放音乐文件及混音。请在房间内调用该方法。

- (int)pauseAudioMixing

Return Value

0:方法调用成功 !0:方法调用失败

Declared In

LVRTCEngine.h

– resumeAudioMixing

恢复播放音乐文件及混音。请在房间内调用该方法。

- (int)resumeAudioMixing

Return Value

0:方法调用成功 !0:方法调用失败

Declared In

LVRTCEngine.h

– getAudioMixingVolume

获取当前伴奏音量,请在伴奏开始后调用

- (int)getAudioMixingVolume

Return Value

-1:伴奏未开始 0~100:当前伴奏音量

Declared In

LVRTCEngine.h

– adjustAudioMixingVolume:

调节音乐文件的播放音量。请在房间内调用该方法。

- (int)adjustAudioMixingVolume:(int)volume

Parameters

volume

音量:0~100

Return Value

0:方法调用成功 !0:方法调用失败

Declared In

LVRTCEngine.h

– getAudioMixingTotalLength

获取当前伴奏文件总时长,单位毫秒。请在房间内调用该方法。

- (long)getAudioMixingTotalLength

Return Value

文件长度

Declared In

LVRTCEngine.h

– getAudioMixingCurrentPosition

获取音乐文件的播放进度。单位为毫秒。请在房间内调用该方法。

- (long)getAudioMixingCurrentPosition

Return Value

<0:方法调用失败 >=0:方法调用成功并返回伴奏播放进度

Declared In

LVRTCEngine.h

– setAudioMixingPosition:

设置音乐文件的播放位置。请在房间内调用该方法。

- (long)setAudioMixingPosition:(int)pos

Parameters

pos

整数。进度条位置,单位为毫秒

Return Value

0:方法调用成功 !0:方法调用失败

Declared In

LVRTCEngine.h

– setExternalAudioConfig:

设置外置音频数据参数

- (void)setExternalAudioConfig:(LVExternalAudioConfig *)audioConfig

Parameters

audioConfig

音频参数

Declared In

LVRTCEngine.h

– getExternalAudioConfig

获取当前外置音频参数

- (LVExternalAudioConfig *)getExternalAudioConfig

Return Value

外置音频参数

Declared In

LVRTCEngine.h

– enableExternalAudioInput:

打开和关闭外置音频采集功能,该参数如果打卡会自动将 SDK 内置麦克风功能禁用,由用户向 SDK 输入音频 PCM 数据。请在加入房间之前设置

- (void)enableExternalAudioInput:(bool)enable

Parameters

enable

true: 打卡,false: 关闭

Declared In

LVRTCEngine.h

– sendAudioFrame:length:

发送外置音频数据,注:只有调用 enableExternalAudioInput 打开外部音频输入接口之后才会生效

- (int)sendAudioFrame:(int16_t *)audioFrameBuffer length:(int)length

Parameters

audioFrameBuffer

音频数据

length

音频数据长度(int16_t 数组数据长度)

Return Value

发送成功与否

Declared In

LVRTCEngine.h

– sendVideoFrame:

外部采集的视频数据

- (void)sendVideoFrame:(CMSampleBufferRef)sampleBuffer

Parameters

sampleBuffer

视频数据(必须是解码的视频数据)

See Also

Declared In

LVRTCEngine.h

– sendVideoFrame:sei:

外部采集的视频数据(可以随视频附加其他信息) 注:调用 startCapture 后该方法会被忽略

- (void)sendVideoFrame:(CMSampleBufferRef)sampleBuffer sei:(NSString *)sei

Parameters

sampleBuffer

视频数据(必须是解码的视频数据)

sei

媒体附加数据,该数据会随视频一起发送到接收端

See Also

Declared In

LVRTCEngine.h

– setPlayVolume:userId:

控制远端音频流音量, 加入房间成功后调用

- (void)setPlayVolume:(int)volume userId:(NSString *)userId

Parameters

volume

音量大小(0,100)

userId

被控制的用户ID

Declared In

LVRTCEngine.h

– setPlayVolume:

控制所有远端音频流音量, 加入房间成功后调用

- (void)setPlayVolume:(int)volume

Parameters

volume

音量大小(0,100)

Declared In

LVRTCEngine.h

– getLVBeautyManager

获取美颜参数管理(美颜管理器)

- (LVBeautyManager *)getLVBeautyManager

Declared In

LVRTCEngine.h

– setAecMode:

设置回声消除音频模式

- (void)setAecMode:(LVAudio3AMode)mode

Parameters

mode

模式参数

Declared In

LVRTCEngine.h

– setNsMode:

设置降噪模式

- (void)setNsMode:(LVAudio3AMode)mode

Parameters

mode

模式参数

Declared In

LVRTCEngine.h

– setAgcMode:

设置自动增益模式

- (void)setAgcMode:(LVAudio3AMode)mode

Parameters

mode

模式参数

Declared In

LVRTCEngine.h

DEPRECATED Methods

– startAudioMixing:replace:loop:

开始播放音乐文件及混音(声音伴奏)

- (int)startAudioMixing:(NSString *)filePath replace:(BOOL)replace loop:(int)loop

Parameters

filePath

文件路径

replace

true: 只推动设置的本地音频文件,不传输麦克风收录的音频 false:音频文件内容将会和麦克风采集的音频流进行混音

loop

指定音频文件循环播放的次数,正整数:循环的次数 -1:无限循环

Return Value

0 : 方法调用成功,!0:失败

Declared In

LVRTCEngine.h

+ setUseInternationalEnv:

是否使用国际版本,该接口已废弃,SDK 内部会自动调度到国际或国内服务

+ (void)setUseInternationalEnv:(BOOL)env

Parameters

env

YES 为国际版本,NO 为国内版本

Declared In

LVRTCEngine.h