public class LVRTCEngine
extends java.lang.Object
implements com.linkv.rtc.internal.audiomixing.IAudioDecoder, com.linkv.rtc.internal.audiomixing.IAudioDecoderCallback
| Modifier and Type | Method and Description |
|---|---|
void |
addDisplayView(Context context,
LVDisplayView view)
|
int |
adjustAudioMixingVolume(int volume)
调节音乐文件的播放音量。请在开启混音后调用该方法。
开启混音详见
startAudioMixing(String, boolean, int) |
void |
audioMixerCurrentPlayingTime(int time_ms)
当前混音播发进度
|
void |
audioMixerPlayerDidFinished()
混音结束回掉
|
void |
auth(java.lang.String appID,
java.lang.String appSign,
java.lang.String userId,
LVResultCallback1<java.lang.Integer> callback)
SDK 鉴权
|
static java.lang.String |
buildVersion()
获取 SDK 编译版本号
|
void |
enableExternalAudioInput(boolean enable)
是否开启外部音频数据输入,请在
loginRoom(String, String, boolean, boolean, LVResultCallback2)之前设置 |
void |
enableMic(boolean enable)
设置推流静音
|
void |
enableSoftwareAec(boolean enable)
Deprecated.
|
void |
enableSoftwareNS(boolean enable)
Deprecated.
|
void |
enableSpeakerphone(boolean enable)
开启扬声器
|
void |
enableVideoAutoRotation(boolean enable)
设置是否允许 SDK 自动根据设备的方向调整视频的输出方向,默认是true
|
long |
getAudioMixingCurrentPosition()
获取音乐文件的播放进度。单位为毫秒。请在开启混音后调用该方法。
开启混音详见
startAudioMixing(String, boolean, int) |
long |
getAudioMixingTotalLength()
获取当前伴奏文件总时长,单位毫秒。请在开启混音后调用该方法。
开启混音详见
startAudioMixing(String, boolean, int) |
int |
getAudioMixingVolume()
获取当前伴奏音量,请在开启混音后调用该方法。
开启混音详见
startAudioMixing(String, boolean, int) |
LVAVConfig |
getAVConfig()
获取Video采集/编码/推流相关参数设置
|
LVExternalAudioConfig |
getExternalAudioConfig()
获取外部输入音频数据的参数配置
|
static LVRTCEngine |
getInstance(Context context)
获取 SDK 引擎单例
|
LVBeautyManager |
getLVBeautyManager()
获取美颜参数管理
|
int |
getSoundLevelByUserId(java.lang.String userId)
获取用户音量大小
|
void |
initSDK()
SDK 初始化
|
boolean |
isSpeakerphoneOn()
判断扬声器是否开启
|
boolean |
isTextureInput() |
boolean |
linkRoom(java.lang.String roomId)
跨房间连麦
|
boolean |
linkRoom(java.lang.String roomId,
java.lang.String linkUserId)
跨房间连麦
|
void |
loginRoom(java.lang.String roomId,
java.lang.String userId,
boolean isHost,
boolean isAudioOnly,
LVResultCallback2<java.lang.Integer,java.util.ArrayList<LVUser>> callback)
加入房间
|
void |
logoutRoom(LVResultCallback1<java.lang.Integer> callback)
登出房间
|
void |
mixStream(LVMixStreamConfig config)
开始服务端混流
|
void |
muteLocalVideo(boolean mute)
暂停/恢复推送本地的视频数据
|
int |
pauseAudioMixing()
暂停播放音乐文件及混音。请在开启混音后调用该方法。
开启混音详见
startAudioMixing(String, boolean, int) |
void |
removeDisplayView(LVDisplayView view)
|
void |
removeDisplayView(java.lang.String uid)
根据uid移除预览视图,和
removeDisplayView(com.linkv.rtc.render.LVDisplayView)配对使用 |
int |
resumeAudioMixing()
恢复播放音乐文件及混音。请在开启混音后调用该方法。
开启混音详见
startAudioMixing(String, boolean, int) |
int |
sendAudioFrame(byte[] data)
外部输入音频数据
|
void |
sendVideoFrame(java.nio.ByteBuffer data,
int width,
int height,
int rotate,
int format,
long timestamp,
java.lang.String sei)
外部输入byte格式视频数据,目前只支持I420格式
|
void |
sendVideoFrame(int width,
int height,
int textureId,
float[] transformMatrix,
long timestamp,
java.lang.String sei)
外部输入texture格式视频数据
|
void |
setAecMode(LVConstants.Audio3AMode mode)
设置AEC开关,请在
startPublishing()前调用 |
void |
setAudioMixingMode(LVConstants.LVAudioMixingMode mode)
在伴奏过程中动态修改伴奏模式
|
int |
setAudioMixingPosition(int pos)
设置音乐文件的播放位置。请在开启混音后调用该方法。
开启混音详见
startAudioMixing(String, boolean, int) |
void |
setAudioModel(int audio_model)
设置声音模式
|
void |
setAudioRecordFlag(LVConstants.AudioRecordType... types)
设置音频录制模式,可同时设置多种录制模式,录制结果会通过
LVRTCCallback.onAudioMixStream(java.nio.ByteBuffer, int, int, int, int, com.linkv.rtc.LVConstants.AudioRecordType) 回调 |
void |
setAVConfig(LVAVConfig config)
设置Video采集/编码/推流相关参数
|
static void |
setDebugServerIp(java.lang.String debugServerIp)
设置测试url
|
void |
setExternalAudioConfig(LVExternalAudioConfig config)
设置外部输入音频数据的参数配置,请在
loginRoom(String, String, boolean, boolean, LVResultCallback2)之前设置 |
void |
setISOCountryCode(java.lang.String iso_cc)
设置国家码
|
void |
setLiveRoomCallback(LVRTCCallback callback)
设置引擎回调
|
void |
setLocalVideoRotation(LVConstants.LVVideoRotation rotation)
设置手动管理本地视图方向
逆时针旋转
|
static void |
setLogLevel(int logLevel)
设置log级别
|
void |
setNsMode(LVConstants.Audio3AMode mode)
设置NS开关,请在
startPublishing()前调用 |
void |
setOutputVideoRotation(LVConstants.LVVideoRotation rotation)
设置手动管理视频输出方向
逆时针旋转
|
void |
setPlayQualityMonitorCycle(int seconds)
设置拉流时数据统计信息回调的频率,可通过
LVRTCCallback.onPlayQualityUpdate(LVVideoStatistic, String)查看统计信息 |
void |
setPlayVolume(int volume)
控制所有远端音频流音量, 加入房间成功后调用
|
void |
setPlayVolume(java.lang.String userId,
int volume)
控制远端音频流音量, 加入房间成功后调用
|
void |
setPublishQualityMonitorCycle(int seconds)
设置推流时数据统计信息回调的频率,可通过
LVRTCCallback.onPublishQualityUpdate(LVVideoStatistic)查看统计信息 |
static void |
setUseInternationalEnv(boolean internationalEnv)
Deprecated.
|
static void |
setUseTestEnv(boolean useTestEnv)
设置使用线上或测试服务器环境
|
void |
setVideoDecoderMode(int softwareDecoder)
是否启用软件解码器
|
void |
setVideoEncoderMode(int isSoftwareCodec)
是否启用软件编码器
|
int |
startAudioMixing(java.lang.String filePath,
boolean replace,
int loop)
Deprecated.
|
int |
startAudioMixing(java.lang.String filePath,
LVConstants.LVAudioMixingMode mode,
int loop)
开始播放音乐文件及混音。
|
int |
startAudioMixing(Uri uri,
boolean replace,
int loop)
Deprecated.
|
int |
startAudioMixing(Uri uri,
LVConstants.LVAudioMixingMode mode,
int loop)
开始播放音乐文件及混音。
|
void |
startCapture()
开始采集视频,调用前请先调用
addDisplayView(Context, com.linkv.rtc.render.LVDisplayView) 添加本地预览视图 |
boolean |
startPlayingStream(java.lang.String userId)
开始播放一路音视频流
|
void |
startPublishing()
开始推流
|
void |
startSoundLevelMonitor(int timeInMs)
开启音量监听回调,开启后会收到
LVRTCCallback.onAudioVolumeUpdate(ArrayList) |
int |
stopAudioMixing()
停止播放音乐文件及混音。请在开启混音后调用该方法。
开启混音详见
startAudioMixing(String, boolean, int) |
void |
stopCapture()
停止采集视频
|
void |
stopMixStream()
停止混流
|
boolean |
stopPlayingStream(java.lang.String userId)
停止播放一路音视频流
|
void |
stopPublishing()
停止推流
|
void |
stopSoundLevelMonitor()
停止音量监听回调
|
void |
switchCamera(LVConstants.LVRTCCameraPosition position)
切换摄像头
|
boolean |
unInitSDK()
SDK 资源释放
|
boolean |
unlinkRoom(java.lang.String roomId)
取消跨房间连麦功能
|
boolean |
unlinkRoom(java.lang.String roomId,
java.lang.String unlinkUserId)
取消跨房间连麦功能
|
static java.lang.String |
versionName()
获取 SDK 主版本名称
|
static int |
versionNumber()
获取 SDK 主版本号
|
public static LVRTCEngine getInstance(Context context)
public static int versionNumber()
public static java.lang.String versionName()
public static java.lang.String buildVersion()
public static void setUseTestEnv(boolean useTestEnv)
useTestEnv - true:线上环境 false:测试环境@Deprecated public static void setUseInternationalEnv(boolean internationalEnv)
internationalEnv - true:国外环境 false:国内环境public static void setDebugServerIp(java.lang.String debugServerIp)
debugServerIp - 测试Ippublic static void setLogLevel(int logLevel)
logLevel - 详见LVConstants.LogLevelpublic void setLiveRoomCallback(LVRTCCallback callback)
callback - public void initSDK()
public void auth(java.lang.String appID,
java.lang.String appSign,
java.lang.String userId,
LVResultCallback1<java.lang.Integer> callback)
appID - 向LiveMe申请的appIdappSign - 向LiveMe申请的appSignuserId - 用户uid,辅助设置,可以不传callback - 鉴权结果回调public void loginRoom(java.lang.String roomId,
java.lang.String userId,
boolean isHost,
boolean isAudioOnly,
LVResultCallback2<java.lang.Integer,java.util.ArrayList<LVUser>> callback)
roomId - 房间IduserId - 用户IdisHost - 是否是主持人isAudioOnly - 是否以纯音频形式加入callback - 加入房间结果回调public void logoutRoom(LVResultCallback1<java.lang.Integer> callback)
callback - public boolean unInitSDK()
public void sendVideoFrame(java.nio.ByteBuffer data,
int width,
int height,
int rotate,
int format,
long timestamp,
java.lang.String sei)
data - I420格式的byte数组width - 采集数据宽height - 采集数据高rotate - 采集数据方向信息format - 格式请参考LVConstants.VideoFrameType,目前只支持I420格式timestamp - 该帧frame时间戳,单位毫秒sei - 该帧扩展信息public void sendVideoFrame(int width,
int height,
int textureId,
float[] transformMatrix,
long timestamp,
java.lang.String sei)
width - 采集数据宽height - 采集数据高textureId - texture idtransformMatrix - 该texture对应的矩阵信息timestamp - 该帧frame时间戳,单位毫秒sei - 该帧扩展信息public void mixStream(LVMixStreamConfig config)
config - 详见LVMixStreamConfigpublic void stopMixStream()
public void setAVConfig(LVAVConfig config)
config - 详见LVAVConfigpublic LVAVConfig getAVConfig()
LVAVConfigpublic void setAudioRecordFlag(LVConstants.AudioRecordType... types)
LVRTCCallback.onAudioMixStream(java.nio.ByteBuffer, int, int, int, int, com.linkv.rtc.LVConstants.AudioRecordType) 回调types - 详见LVConstants.AudioRecordTypepublic void setPublishQualityMonitorCycle(int seconds)
LVRTCCallback.onPublishQualityUpdate(LVVideoStatistic)查看统计信息seconds - 回调时间间隔,单位秒public void setPlayQualityMonitorCycle(int seconds)
LVRTCCallback.onPlayQualityUpdate(LVVideoStatistic, String)查看统计信息seconds - 回调时间间隔,单位秒public void startSoundLevelMonitor(int timeInMs)
LVRTCCallback.onAudioVolumeUpdate(ArrayList)timeInMs - 回调时间间隔,单位毫秒public void stopSoundLevelMonitor()
public void setVideoEncoderMode(int isSoftwareCodec)
isSoftwareCodec - 1:启用; 0:不起用; 默认不使用软件编码器public void setVideoDecoderMode(int softwareDecoder)
softwareDecoder - 1:启用; 0:不起用; 默认使用软件解码器public void startPublishing()
public void stopPublishing()
public boolean startPlayingStream(java.lang.String userId)
userId - 要播放的音视频流用户Idpublic boolean stopPlayingStream(java.lang.String userId)
userId - 要停止播放的音视频流用户 IDpublic boolean linkRoom(java.lang.String roomId)
roomId - 房间Idpublic boolean unlinkRoom(java.lang.String roomId)
roomId - 房间Idpublic boolean linkRoom(java.lang.String roomId,
java.lang.String linkUserId)
roomId - 房间IdlinkUserId - pk UserIdpublic boolean unlinkRoom(java.lang.String roomId,
java.lang.String unlinkUserId)
roomId - 房间IdunlinkUserId - 取消 pk UserIdpublic void enableSpeakerphone(boolean enable)
enable - true:开启 false:关闭public boolean isSpeakerphoneOn()
public void enableMic(boolean enable)
enable - true:不静音 false:静音public void setAudioModel(int audio_model)
audio_model - 0:音乐模式, 3:通话模式, -1:SDK自适应, 默认值为-1;public int getSoundLevelByUserId(java.lang.String userId)
userId - 用户Idpublic void setISOCountryCode(java.lang.String iso_cc)
iso_cc - 国家码public void enableExternalAudioInput(boolean enable)
loginRoom(String, String, boolean, boolean, LVResultCallback2)之前设置enable - true: 开启, false: 关闭public void setExternalAudioConfig(LVExternalAudioConfig config)
loginRoom(String, String, boolean, boolean, LVResultCallback2)之前设置config - LVExternalAudioConfigpublic LVExternalAudioConfig getExternalAudioConfig()
LVExternalAudioConfigpublic int sendAudioFrame(byte[] data)
data - 音频数据public void setPlayVolume(java.lang.String userId,
int volume)
userId - 被控制的用户Idvolume - 音量大小, [0,100], 100未原始音量大小public void setPlayVolume(int volume)
volume - 音量大小, [0,100], 100未原始音量大小@Deprecated
public int startAudioMixing(java.lang.String filePath,
boolean replace,
int loop)
startAudioMixing(String, LVConstants.LVAudioMixingMode, int)代替
开始播放音乐文件及混音。
1. 如需调用该方法,请确保使用 Android 4.2 或以上设备,且 API Level ≥ 16 2. 请在加入房间后调用该方法
filePath - 文件路径,如果路径以'/assets/'开始,则去assets/目录下找,否则去绝对路径下找replace - true:只推动设置的本地音频文件,不传输麦克风收录的音频 false:音频文件内容将会和麦克风采集的音频流进行混音loop - 指定音频文件循环播放的次数,正整数:循环的次数 -1:无限循环@Deprecated
public int startAudioMixing(Uri uri,
boolean replace,
int loop)
startAudioMixing(Uri, LVConstants.LVAudioMixingMode, int)代替
开始播放音乐文件及混音。
1. 如需调用该方法,请确保使用 Android 4.2 或以上设备,且 API Level ≥ 16 2. 请在加入房间后调用该方法
uri - 文件路径replace - true:只推动设置的本地音频文件,不传输麦克风收录的音频 false:音频文件内容将会和麦克风采集的音频流进行混音loop - 指定音频文件循环播放的次数,正整数:循环的次数 -1:无限循环public int startAudioMixing(java.lang.String filePath,
LVConstants.LVAudioMixingMode mode,
int loop)
1. 如需调用该方法,请确保使用 Android 4.2 或以上设备,且 API Level ≥ 16 2. 请在加入房间后调用该方法
startAudioMixing in interface com.linkv.rtc.internal.audiomixing.IAudioDecoderfilePath - 文件路径mode - 指定伴奏模式,详见mode定义LVConstants.LVAudioMixingModeloop - 指定音频文件循环播放的次数,正整数:循环的次数 -1:无限循环public int startAudioMixing(Uri uri,
LVConstants.LVAudioMixingMode mode,
int loop)
1. 如需调用该方法,请确保使用 Android 4.2 或以上设备,且 API Level ≥ 16 2. 请在加入房间后调用该方法
startAudioMixing in interface com.linkv.rtc.internal.audiomixing.IAudioDecoderuri - 文件路径mode - 指定伴奏模式,详见mode定义LVConstants.LVAudioMixingModeloop - 指定音频文件循环播放的次数,正整数:循环的次数 -1:无限循环public void setAudioMixingMode(LVConstants.LVAudioMixingMode mode)
setAudioMixingMode in interface com.linkv.rtc.internal.audiomixing.IAudioDecodermode - 与startAudioMixing(java.lang.String, boolean, int)中设置mode作用相同,详见mode定义LVConstants.LVAudioMixingModepublic int stopAudioMixing()
startAudioMixing(String, boolean, int)stopAudioMixing in interface com.linkv.rtc.internal.audiomixing.IAudioDecoderpublic int pauseAudioMixing()
startAudioMixing(String, boolean, int)pauseAudioMixing in interface com.linkv.rtc.internal.audiomixing.IAudioDecoderpublic int resumeAudioMixing()
startAudioMixing(String, boolean, int)resumeAudioMixing in interface com.linkv.rtc.internal.audiomixing.IAudioDecoderpublic int getAudioMixingVolume()
startAudioMixing(String, boolean, int)getAudioMixingVolume in interface com.linkv.rtc.internal.audiomixing.IAudioDecoderpublic int adjustAudioMixingVolume(int volume)
startAudioMixing(String, boolean, int)adjustAudioMixingVolume in interface com.linkv.rtc.internal.audiomixing.IAudioDecodervolume - 音量:0~100public long getAudioMixingTotalLength()
startAudioMixing(String, boolean, int)getAudioMixingTotalLength in interface com.linkv.rtc.internal.audiomixing.IAudioDecoderpublic long getAudioMixingCurrentPosition()
startAudioMixing(String, boolean, int)getAudioMixingCurrentPosition in interface com.linkv.rtc.internal.audiomixing.IAudioDecoderpublic int setAudioMixingPosition(int pos)
startAudioMixing(String, boolean, int)setAudioMixingPosition in interface com.linkv.rtc.internal.audiomixing.IAudioDecoderpos - 整数。进度条位置,单位为毫秒public void startCapture()
addDisplayView(Context, com.linkv.rtc.render.LVDisplayView) 添加本地预览视图public void stopCapture()
public void switchCamera(LVConstants.LVRTCCameraPosition position)
position - 请参考LVConstants.LVRTCCameraPositionpublic void addDisplayView(Context context,
LVDisplayView view)
view - LVDisplayViewpublic void removeDisplayView(LVDisplayView view)
view - LVDisplayViewpublic void removeDisplayView(java.lang.String uid)
removeDisplayView(com.linkv.rtc.render.LVDisplayView)配对使用uid - 流Idpublic void muteLocalVideo(boolean mute)
mute - true:暂停;false:恢复public void enableVideoAutoRotation(boolean enable)
enable - true:开启 false:关闭public void setOutputVideoRotation(LVConstants.LVVideoRotation rotation)
rotation - 必须是90的倍数public void setLocalVideoRotation(LVConstants.LVVideoRotation rotation)
rotation - 必须是90的倍数public boolean isTextureInput()
public LVBeautyManager getLVBeautyManager()
@Deprecated public void enableSoftwareAec(boolean enable)
enable - public void setAecMode(LVConstants.Audio3AMode mode)
startPublishing()前调用mode - 详见LVConstants.Audio3AMode@Deprecated public void enableSoftwareNS(boolean enable)
enable - public void setNsMode(LVConstants.Audio3AMode mode)
startPublishing()前调用mode - 详见LVConstants.Audio3AModepublic void audioMixerCurrentPlayingTime(int time_ms)
com.linkv.rtc.internal.audiomixing.IAudioDecoderCallbackaudioMixerCurrentPlayingTime in interface com.linkv.rtc.internal.audiomixing.IAudioDecoderCallbacktime_ms - 当前播发进度,单位毫秒public void audioMixerPlayerDidFinished()
com.linkv.rtc.internal.audiomixing.IAudioDecoderCallbackaudioMixerPlayerDidFinished in interface com.linkv.rtc.internal.audiomixing.IAudioDecoderCallback