public class lsMediaCapture
extends java.lang.Object
限定符和类型 | 类和说明 |
---|---|
static class |
lsMediaCapture.CustomData
自定义发送数据类
|
static class |
lsMediaCapture.FormatType |
static class |
lsMediaCapture.LiveStreamingPara
推流参数类
|
static class |
lsMediaCapture.LsMediaCapturePara
SDK初始化参数类
|
static class |
lsMediaCapture.SourceType
输入源类型
|
static class |
lsMediaCapture.StreamType |
static class |
lsMediaCapture.VideoPara
自定义视频编码参数类
|
static class |
lsMediaCapture.VideoQuality
视频能力
|
限定符和类型 | 字段和说明 |
---|---|
static java.lang.String |
SDK_VERSION |
构造器和说明 |
---|
lsMediaCapture(lsMediaCapture.LsMediaCapturePara lsMediaCapturePara)
初始化推流实例
|
限定符和类型 | 方法和说明 |
---|---|
void |
backgroundAudioEncode()
程序切后台后继续音频编码,编码静音帧
|
void |
backgroundVideoEncode()
程序切后台后继续视频编码,编码最后一帧图像
|
void |
backgroundVideoEncode(Bitmap bitmap)
程序切后台后继续视频编码,编码最后一帧图像
|
void |
changeCaptureFormat(lsMediaCapture.VideoQuality quality,
boolean scale_16x9)
切换分辨率
|
void |
changeCaptureFormatEx(lsMediaCapture.VideoPara videoPara)
切换分辨率
|
static lsMediaCapture |
createPreviewOnly(lsMediaCapture.LsMediaCapturePara lsMediaCapturePara) |
long |
currentStreamTimestamp()
获取当前推流时间戳,对应setStreamTimestampPassthrough 一起使用
|
long |
currentSyncTimestamp()
获取当前时间戳,对应 setSyncTimestamp
|
void |
destroyVideoPreview()
销毁视频预览实例
|
void |
enableScreenShot()
直播过程中,开启截图
|
float |
getCameraFps() |
int |
getCameraHeight() |
int |
getCameraMaxZoomValue()
获取摄像头支持的最大视频缩放比例
|
int |
getCameraWidth() |
int |
getCameraZoomValue()
获取当前视频缩放比例
|
float |
getDecimatedFps() |
int |
getExposureCompensation()
获取摄像头曝光强度
|
int |
getMaxExposureCompensation()
获取摄像头支持的最大曝光强度
|
int |
getMinExposureCompensation()
获取摄像头支持的最小曝光强度
|
float |
getRenderFps() |
java.lang.String |
getSDKVersion()
获取SDK版本号
|
boolean |
initLiveStream(lsMediaCapture.LiveStreamingPara paraCtx,
java.lang.String pushUrl)
初始化推流所需信息
|
void |
onConfigurationChanged()
屏幕方向变化通知
|
void |
pauseAudioLiveStream()
暂停音频推流
|
boolean |
pausePlayMusic()
暂停播放伴音文件
|
void |
pauseVideoLiveStream()
暂停视频推流
|
boolean |
postOnGLThread(java.lang.Runnable runnable)
将操作设置到具有GLContext的线程中(第三方滤镜时需要用到)
需要在destroyVideoPreview 之前调用 |
void |
releaseMessageHandler()
解除消息句柄的绑定
|
void |
resumeAudioEncode()
程序切回前台后恢复音频编码
|
void |
resumeAudioLiveStream()
继续音频推流
|
boolean |
resumePlayMusic()
继续播放伴音文件
|
void |
resumeVideoEncode()
程序切回前台后恢复视频编码
|
void |
resumeVideoLiveStream()
继续视频推流
|
int |
sendCustomData(lsMediaCapture.CustomData customData)
在码流中发送自定义数据
|
void |
sendCustomPCMData(byte[] buffer)
自定义采集的PCM数据
|
void |
sendCustomYUVData(byte[] buffer,
int videoWidth,
int videoHeight,
int bitrate,
int framerate)
|
void |
setAudioRawDataCB(lsAudioCaptureCallback callback)
设置麦克风采集原始数据回调
|
void |
setBeautyLevel(int level)
设置磨皮强度
|
void |
setCameraAutoFocus(boolean isAutoFocus)
设置是否自动对焦(自动对焦默认开启)
|
void |
setCameraFlashPara(boolean onFlash)
设置闪光灯开关
|
void |
setCameraFocus()
设置camera对焦
|
void |
setCameraZoomPara(int zoomValue)
设置视频缩放相关参数
|
void |
setCaptureRawDataCB(VideoCallback callback)
设置摄像头采集原始数据回调
|
void |
setDynamicWaterMarkPara(Bitmap[] bitmapArray,
int x,
int y,
int fps,
boolean looped)
已过时。
replaced by
setDynamicWaterMarkPara(Bitmap[], VideoEffect.Rect, int, int, int, boolean)
设置视频动态水印相关参数 |
void |
setDynamicWaterMarkPara(Bitmap[] bitmapArray,
VideoEffect.Rect rect,
int x,
int y,
int fps,
boolean looped)
设置视频动态水印相关参数
|
void |
setDynamicWaterPreview(boolean preview)
是否显示本地动态水印
|
void |
setExposureCompensation(int value)
设置摄像头曝光强度
|
void |
setFilterStrength(float filterStrength)
设置滤镜强度
|
void |
setFilterType(VideoEffect.FilterType filterType)
设置滤镜类型
|
void |
setGraffitiPara(Bitmap bitmap,
int x,
int y)
设置涂鸦
|
void |
setGraffitiPreview(boolean preview)
是否显示本地涂鸦
|
void |
setPreviewMirror(boolean mirror)
直播过程中,开关本地预览镜像效果(只对前置摄像头有效)
|
void |
setSizeRatio(boolean ratio)
设置相机是否按宽高比查看设置的分辨率
|
void |
setSourceType(lsMediaCapture.SourceType type)
设置数据源类型
|
void |
setVideoMirror(boolean mirror)
直播过程中,开关视频推流镜像效果(只对前置摄像头有效)
|
void |
setWaterMarkPara(Bitmap bitmap,
int x,
int y)
已过时。
replaced by
setWaterMarkPara(Bitmap, VideoEffect.Rect, int, int)
设置视频水印相关参数 |
void |
setWaterMarkPara(Bitmap bitmap,
VideoEffect.Rect rect,
int x,
int y)
设置视频水印相关参数
|
void |
setWaterPreview(boolean preview)
是否显示本地水印
|
void |
startLiveStreaming()
开始直播
|
boolean |
startPlayMusic(java.lang.String musicURL,
boolean loop)
开始播放伴音文件
|
void |
startRecord(java.lang.String path)
开始录制
当初始化参数中的autoRecord为false时生效 |
void |
startScreenCapture(NeteaseView videoView,
Intent mediaProjectionPermissionResultData,
lsMediaCapture.VideoQuality quality,
boolean scale_16x9)
打开视频预览
|
void |
startScreenCaptureEx(NeteaseView videoView,
Intent mediaProjectionPermissionResultData,
lsMediaCapture.VideoPara para)
打开视频预览
|
void |
startSpeedCalc(java.lang.String url,
long bytes)
开始测速
|
void |
startVideoPreview(NeteaseView videoView,
boolean frontCamera,
boolean filter,
lsMediaCapture.VideoQuality quality,
boolean scale_16x9)
打开视频预览
|
void |
startVideoPreviewEx(NeteaseView videoView,
boolean frontCamera,
boolean filter,
lsMediaCapture.VideoPara para)
打开视频预览
|
void |
stopLiveStreaming()
结束推流
|
boolean |
stopPlayMusic()
结束播放伴音文件,释放播放文件
|
void |
stopRecord()
结束录制
当初始化参数中的autoRecord为false时生效 |
void |
stopSpeedCalc()
停止测速
|
void |
stopVideoPreview()
关闭视频预览
|
void |
switchCamera()
切换前后摄像头
|
void |
uninitLsMediaCapture(boolean uninitNow)
反初始化推流实例
|
void |
updateCustomStatistics(JSONObject jsonObject)
更新自定义统计数据
|
public lsMediaCapture(lsMediaCapture.LsMediaCapturePara lsMediaCapturePara)
lsMediaCapturePara
- lsMediaCapture.LsMediaCapturePara
初始化参数类型public java.lang.String getSDKVersion()
public static lsMediaCapture createPreviewOnly(lsMediaCapture.LsMediaCapturePara lsMediaCapturePara)
public void setSourceType(lsMediaCapture.SourceType type)
type
- SDK:SDK负责采集 CustomMode:用户自定义采集public void uninitLsMediaCapture(boolean uninitNow)
uninitNow
- 立即反初始化实例的标记public void sendCustomYUVData(byte[] buffer, int videoWidth, int videoHeight, int bitrate, int framerate)
startVideoPreview(com.netease.vcloud.video.render.NeteaseView, boolean, boolean, com.netease.LSMediaCapture.lsMediaCapture.VideoQuality, boolean)
)buffer
- YUV数据videoWidth
- 视频原始宽videoHeight
- 视频原始高bitrate
- 编码码率framerate
- 编码帧率public void sendCustomPCMData(byte[] buffer)
buffer
- PCM数据public void startVideoPreview(NeteaseView videoView, boolean frontCamera, boolean filter, lsMediaCapture.VideoQuality quality, boolean scale_16x9)
videoView
- NeteaseView
frontCamera
- 是否前置摄像头filter
- 是否开启滤镜quality
- 视频能力scale_16x9
- 是否强制 16:9 模式public void startVideoPreviewEx(NeteaseView videoView, boolean frontCamera, boolean filter, lsMediaCapture.VideoPara para)
videoView
- NeteaseView
frontCamera
- 是否前置摄像头filter
- 是否开启滤镜para
- 视频采集以及编码的参数public void startScreenCapture(NeteaseView videoView, Intent mediaProjectionPermissionResultData, lsMediaCapture.VideoQuality quality, boolean scale_16x9)
videoView
- NeteaseView
mediaProjectionPermissionResultData
- MediaProjection权限申请成功后获得的intentquality
- 视频能力scale_16x9
- 是否强制 16:9 模式public void startScreenCaptureEx(NeteaseView videoView, Intent mediaProjectionPermissionResultData, lsMediaCapture.VideoPara para)
videoView
- NeteaseView
mediaProjectionPermissionResultData
- MediaProjection权限申请成功后获得的intentpara
- 视频采集以及编码的参数public void stopVideoPreview()
public void destroyVideoPreview()
public void startSpeedCalc(java.lang.String url, long bytes)
url
- 推流地址bytes
- 测速文件大小public void stopSpeedCalc()
public boolean initLiveStream(lsMediaCapture.LiveStreamingPara paraCtx, java.lang.String pushUrl)
paraCtx
- 推流参数pushUrl
- 推流地址public void startLiveStreaming()
public void stopLiveStreaming()
public void pauseVideoLiveStream()
public void resumeVideoLiveStream()
public void pauseAudioLiveStream()
public void resumeAudioLiveStream()
public void setCaptureRawDataCB(VideoCallback callback)
callback
- 裸流回调接口(NV21格式)public boolean postOnGLThread(java.lang.Runnable runnable)
runnable
- 具体操作任务public void setAudioRawDataCB(lsAudioCaptureCallback callback)
callback
- 裸流回调接口(PCM格式)public void releaseMessageHandler()
public boolean startPlayMusic(java.lang.String musicURL, boolean loop)
musicURL
- 音频文件地址/文件名loop
- 是否循环播放public boolean stopPlayMusic()
public boolean resumePlayMusic()
public boolean pausePlayMusic()
public void backgroundVideoEncode()
public void backgroundVideoEncode(Bitmap bitmap)
bitmap
- 垫片图,占位图public void resumeVideoEncode()
public void backgroundAudioEncode()
public void resumeAudioEncode()
public void switchCamera()
@Deprecated public void setWaterMarkPara(Bitmap bitmap, int x, int y)
setWaterMarkPara(Bitmap, VideoEffect.Rect, int, int)
bitmap
- 水印文件x
- 水印水平坐标X,整个图像左上角为(0,0)点y
- 水印垂直坐标Y,整个图像左上角为(0,0)点public void setWaterMarkPara(Bitmap bitmap, VideoEffect.Rect rect, int x, int y)
bitmap
- 水印文件rect
- 水印具体位置(上下左右中四个基本位置)x
- 距离 rect 的 x 坐标y
- 距离 rect 的 y 坐标public void setWaterPreview(boolean preview)
preview
- true:本地显示 false: 本地不显示@Deprecated public void setDynamicWaterMarkPara(Bitmap[] bitmapArray, int x, int y, int fps, boolean looped)
setDynamicWaterMarkPara(Bitmap[], VideoEffect.Rect, int, int, int, boolean)
bitmapArray
- 水印图片数组x
- 水印水平坐标X,整个图像左上角为(0,0)点y
- 水印垂直坐标Y,整个图像左上角为(0,0)点fps
- 动态水印的叠加帧率looped
- 动态水印是否循环叠加的标志public void setDynamicWaterMarkPara(Bitmap[] bitmapArray, VideoEffect.Rect rect, int x, int y, int fps, boolean looped)
bitmapArray
- 水印图片数组rect
- 水印具体位置(上下左右中四个基本位置)x
- 距离 rect 的 x 坐标y
- 距离 rect 的 y 坐标fps
- 动态水印的叠加帧率looped
- 动态水印是否循环叠加的标志public void setDynamicWaterPreview(boolean preview)
preview
- true:本地显示 false: 本地不显示public void setGraffitiPara(Bitmap bitmap, int x, int y)
bitmap
- 涂鸦图片x
- 水印水平坐标X,整个图像左上角为(0,0)点y
- 水印垂直坐标Y,整个图像左上角为(0,0)点public void setGraffitiPreview(boolean preview)
preview
- true:本地显示 false: 本地不显示public void setCameraZoomPara(int zoomValue)
zoomValue
- 缩放参数public int getCameraZoomValue()
public int getCameraMaxZoomValue()
public void setCameraFlashPara(boolean onFlash)
onFlash
- 闪光灯开关public void setExposureCompensation(int value)
value
- 摄像头曝光强度 (根据获取的最大和最小曝光度进行设置)public int getExposureCompensation()
public int getMaxExposureCompensation()
public int getMinExposureCompensation()
public void setVideoMirror(boolean mirror)
mirror
- 是否镜像public void setPreviewMirror(boolean mirror)
mirror
- 是否镜像public void enableScreenShot()
public void setSizeRatio(boolean ratio)
ratio
- true:按宽高比查看,false:按最近的一档分辨率查看public void setCameraFocus()
public void setCameraAutoFocus(boolean isAutoFocus)
isAutoFocus
- true:开启自动对焦 false:关闭自动对焦public void setFilterType(VideoEffect.FilterType filterType)
filterType
- 滤镜类型public void setFilterStrength(float filterStrength)
filterStrength
- 滤镜强度 (0 - 1)public void setBeautyLevel(int level)
level
- 磨皮强度 (0 - 5)public void changeCaptureFormat(lsMediaCapture.VideoQuality quality, boolean scale_16x9)
quality
- 需要切换的模板scale_16x9
- 是否16:9public void changeCaptureFormatEx(lsMediaCapture.VideoPara videoPara)
videoPara
- 自定义分辨率public void onConfigurationChanged()
public void startRecord(java.lang.String path)
public void stopRecord()
public void updateCustomStatistics(JSONObject jsonObject)
jsonObject
- 自定义统计数据public long currentSyncTimestamp()
public long currentStreamTimestamp()
public int sendCustomData(lsMediaCapture.CustomData customData)
customData
- 数据内容public float getRenderFps()
public float getCameraFps()
public float getDecimatedFps()
public int getCameraWidth()
public int getCameraHeight()