Package com.alivc.live.pusher
Interface ILivePusher
-
- All Known Implementing Classes:
AlivcLivePusher
public interface ILivePusher
推流接口
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
addDynamicsAddons(java.lang.String path, float x, float y, float w, float h)
添加动态贴纸void
addWaterMark(java.lang.String path, float x, float y, float width)
添加水印,起点位置坐标x[0,width) y[0,height),宽度(0,width],最多添加3个 需在startPreview之后调用void
changeResolution(AlivcResolutionEnum resolutionEnum)
change resolution dynamicallyvoid
destroy()
释放推流void
focusCameraAtAdjustedPoint(float x, float y, boolean autoFocus)
对焦,对焦点的坐标x[0,屏幕宽度],y[0,屏幕宽度]int
getCurrentExposure()
获取采集曝光AlivcLivePushStats
getCurrentStatus()
获取当前状态int
getCurrentZoom()
获取当前缩放值AlivcLivePushError
getLastError()
获取最近的错误值AlivcLivePushStatsInfo
getLivePushStatsInfo()
获取推流统计数据int
getMaxZoom()
获取摄像头支持的最大缩放值, 0 : 不支持缩放 大于0 : 最大缩放值java.lang.String
getPushUrl()
获取推流URLint
getSupportedMaxExposure()
获取采集支持最大曝光int
getSupportedMinExposure()
获取采集支持最小曝光void
init(android.content.Context context, AlivcLivePushConfig config)
初始化推流参数void
inputStreamAudioData(byte[] data, int size, int sampleRate, int channels, long pts)
输入自定义音频数据void
inputStreamAudioPtr(long dataPtr, int size, int sampleRate, int channels, long pts)
输入自定义音频数据void
inputStreamVideoData(byte[] data, int width, int height, int stride, int size, long pts, int rotation)
输入自定义视频流void
inputStreamVideoPtr(long dataptr, int width, int height, int stride, int size, long pts, int rotation)
输入自定义视频流boolean
isCameraSupportAutoFocus()
获取是否支持自动对焦boolean
isCameraSupportFlash()
获取是否支持闪光灯boolean
isNetworkPushing()
获取当前网络推流状态boolean
isPushing()
是否正在推流void
pause()
暂停推流void
pauseBGM()
暂停播放背景音乐void
pauseScreenCapture()
暂停录屏推流(隐私开)void
reconnectPushAsync(java.lang.String url)
重新连接进行推流void
removeDynamicsAddons(int id)
删除动态贴纸void
restartPush()
重新开始推流void
restartPushAync()
重新开始推流void
resume()
恢复推流void
resumeAsync()
异步恢复推流void
resumeBGM()
恢复播放背景音乐void
resumeScreenCapture()
恢复录屏推流(隐私关)void
setAudioDenoise(boolean on)
设置音频降噪void
setAutoFocus(boolean autoFocus)
设置自动对焦void
setBGMEarsBack(boolean isOpen)
设置耳返开关void
setBGMLoop(boolean isLoop)
设置背景音乐是否循环播放void
setBGMVolume(int volume)
设置背景音乐混音 人声音量void
setCaptureVolume(int volume)
设置背景音乐混音 音乐音量void
setCustomAudioFilter(com.alivc.component.custom.AlivcLivePushCustomAudioFilter customAudioFilter)
设置用户自定义音频处理回调void
setCustomDetect(com.alivc.component.custom.AlivcLivePushCustomDetect customVideoDetect)
设置用户自定义视频人脸识别回调void
setCustomFilter(com.alivc.component.custom.AlivcLivePushCustomFilter customVideoFilter)
设置用户自定义视频美颜回调void
setExposure(int exposure)
设置采集曝光void
setFlash(boolean flash)
是否打开闪光灯void
setLivePushBGMListener(AlivcLivePushBGMListener pushBGMListener)
设置背景播放通知事件void
setLivePushErrorListener(AlivcLivePushErrorListener errorListener)
设置推流错误事件void
setLivePushInfoListener(AlivcLivePushInfoListener infoListener)
设置推流通知事件void
setLivePushNetworkListener(AlivcLivePushNetworkListener networkListner)
设置网络通知事件void
setLivePushRenderContextListener(AlivcLivePusherRenderContextListener renderCtxListener)
设置render的context监听void
setMinVideoBitrate(int minVideoBitrate)
设置最小视频码率[100,5000] (Kbps)void
setMute(boolean mute)
是否静音void
setPreviewMirror(boolean mirror)
预览镜像开关void
setPreviewMode(AlivcPreviewDisplayMode mode)
设置预览显示模式void
setPreviewOrientation(AlivcPreviewOrientationEnum orientation)
设置推流方向,默认竖屏void
setPushMirror(boolean mirror)
推流端是否水平镜像void
setQualityMode(AlivcQualityModeEnum mode)
设置视频质量模式void
setScreenOrientation(int orientation)
录屏模式下,设置感应的屏幕旋转角度void
setTargetVideoBitrate(int targetVideoBitrate)
设置目标视频码率[100,5000](Kbps)void
setWatermarkVisible(boolean visible)
设置水印可见void
setZoom(int zoom)
设置缩放[0,getMaxZoom()]void
snapshot(int count, int interval, AlivcSnapshotListener listener)
截图void
startBGMAsync(java.lang.String path)
播放背景音int
startCamera(android.view.SurfaceView surfaceView)
录屏模式下,开启摄像头预览 如果不需要预览,则surfaceview填为nullint
startCameraMix(float x, float y, float w, float h)
录屏模式下,开启摄像头混流void
startPreview(android.view.SurfaceView surfaceView)
开始预览void
startPreviewAysnc(android.view.SurfaceView surfaceView)
异步开始预览void
startPush(java.lang.String url)
开始推流void
startPushAysnc(java.lang.String url)
开始推流void
stopBGMAsync()
停止播放背景音乐void
stopCamera()
录屏模式下,关闭摄像头预览void
stopCameraMix()
录屏模式下,停止摄像头混流void
stopPreview()
结束预览void
stopPush()
结束推流void
switchCamera()
切换摄像头
-
-
-
Method Detail
-
init
void init(android.content.Context context, AlivcLivePushConfig config) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
初始化推流参数- Parameters:
context
- 上下文config
- 配置- Throws:
java.lang.IllegalArgumentException
- 如果 config为空,或者config的值为无效(例如码率的值超过范围)java.lang.IllegalStateException
- 如果状态不对,例如已经初始化,但是还没有销毁
-
destroy
void destroy() throws java.lang.IllegalStateException
释放推流- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化
-
startPreview
void startPreview(android.view.SurfaceView surfaceView) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
开始预览- Parameters:
surfaceView
- surfaceview- Throws:
java.lang.IllegalArgumentException
- 如果surfaceView为空,或者surfaceView的surface未创建/已销毁java.lang.IllegalStateException
- 如果状态不对,例如还未初始化
-
startPreviewAysnc
void startPreviewAysnc(android.view.SurfaceView surfaceView) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
异步开始预览- Parameters:
surfaceView
- surfaceview- Throws:
java.lang.IllegalArgumentException
- 如果surfaceView为空,或者surfaceView的surface未创建/已销毁java.lang.IllegalStateException
- 如果状态不对,例如还未初始化
-
stopPreview
void stopPreview() throws java.lang.IllegalStateException
结束预览- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview
-
startPush
void startPush(java.lang.String url) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
开始推流- Parameters:
url
- 推流Url- Throws:
java.lang.IllegalArgumentException
- 如果url为空,或者不是有效的url格式java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview
-
startPushAysnc
void startPushAysnc(java.lang.String url) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
开始推流- Parameters:
url
- 推流Url- Throws:
java.lang.IllegalArgumentException
- 如果url为空,或者不是有效的url格式java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview
-
restartPush
void restartPush() throws java.lang.IllegalStateException
重新开始推流- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview/未startPush/已经stopPush
-
restartPushAync
void restartPushAync() throws java.lang.IllegalStateException
重新开始推流- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview/未startPush/已经stopPush
-
reconnectPushAsync
void reconnectPushAsync(java.lang.String url) throws java.lang.IllegalStateException
重新连接进行推流- Throws:
java.lang.IllegalStateException
-
stopPush
void stopPush() throws java.lang.IllegalStateException
结束推流- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview/未startPush/已经stopPush
-
pause
void pause() throws java.lang.IllegalStateException
暂停推流- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview/未startPush/已经pause
-
resume
void resume() throws java.lang.IllegalStateException
恢复推流- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview/未startPush/未pause/已resume
-
resumeAsync
void resumeAsync() throws java.lang.IllegalStateException
异步恢复推流- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview/未startPush/未pause/已resume
-
switchCamera
void switchCamera() throws java.lang.IllegalStateException
切换摄像头- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview
-
setAutoFocus
void setAutoFocus(boolean autoFocus) throws java.lang.IllegalStateException
设置自动对焦- Parameters:
autoFocus
- 自动聚焦- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview
-
focusCameraAtAdjustedPoint
void focusCameraAtAdjustedPoint(float x, float y, boolean autoFocus) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
对焦,对焦点的坐标x[0,屏幕宽度],y[0,屏幕宽度]- Parameters:
x
- 对焦的点x坐标y
- 对焦的点y坐标yautoFocus
- 是否自动聚焦- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreviewjava.lang.IllegalArgumentException
-
setZoom
void setZoom(int zoom) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
设置缩放[0,getMaxZoom()]- Parameters:
zoom
- 0~getMaxZoom()- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreviewjava.lang.IllegalArgumentException
-
getMaxZoom
int getMaxZoom() throws java.lang.IllegalStateException
获取摄像头支持的最大缩放值, 0 : 不支持缩放 大于0 : 最大缩放值- Returns:
- 最大zoom值
- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview
-
getCurrentZoom
int getCurrentZoom() throws java.lang.IllegalStateException
获取当前缩放值- Returns:
- 当前缩放值
- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview
-
setMute
void setMute(boolean mute) throws java.lang.IllegalStateException
是否静音- Parameters:
mute
- true:静音推流 false:正常推流- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview/未startPush
-
setFlash
void setFlash(boolean flash) throws java.lang.IllegalStateException
是否打开闪光灯- Parameters:
flash
- true:打开闪光灯 false:关闭闪光灯- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview
-
setPushMirror
void setPushMirror(boolean mirror) throws java.lang.IllegalStateException
推流端是否水平镜像- Parameters:
mirror
- true:打开推流镜像 false:关闭推流镜像- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview/未startPush
-
setPreviewMirror
void setPreviewMirror(boolean mirror) throws java.lang.IllegalStateException
预览镜像开关- Parameters:
mirror
- true:打开预览镜像 false:关闭预览镜像- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview
-
setTargetVideoBitrate
void setTargetVideoBitrate(int targetVideoBitrate) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
设置目标视频码率[100,5000](Kbps)- Parameters:
targetVideoBitrate
- 目标视频编码码率- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview/未startPushjava.lang.IllegalArgumentException
-
setMinVideoBitrate
void setMinVideoBitrate(int minVideoBitrate) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
设置最小视频码率[100,5000] (Kbps)- Parameters:
minVideoBitrate
- 最小视频编码码率- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview/未startPushjava.lang.IllegalArgumentException
-
isCameraSupportAutoFocus
boolean isCameraSupportAutoFocus()
获取是否支持自动对焦- Returns:
- 是否支持自动对焦
-
isCameraSupportFlash
boolean isCameraSupportFlash()
获取是否支持闪光灯- Returns:
- 是否支持闪光灯
-
isPushing
boolean isPushing() throws java.lang.IllegalStateException
是否正在推流- Returns:
- true:正在推流 false:未推流
- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview/未startPush
-
isNetworkPushing
boolean isNetworkPushing() throws java.lang.IllegalStateException
获取当前网络推流状态- Returns:
- Throws:
java.lang.IllegalStateException
-
setCustomDetect
void setCustomDetect(com.alivc.component.custom.AlivcLivePushCustomDetect customVideoDetect)
设置用户自定义视频人脸识别回调- Parameters:
customVideoDetect
- 回调接口
-
setCustomFilter
void setCustomFilter(com.alivc.component.custom.AlivcLivePushCustomFilter customVideoFilter)
设置用户自定义视频美颜回调- Parameters:
customVideoFilter
- 回调接口
-
setCustomAudioFilter
void setCustomAudioFilter(com.alivc.component.custom.AlivcLivePushCustomAudioFilter customAudioFilter)
设置用户自定义音频处理回调- Parameters:
customAudioFilter
- 回调接口
-
getCurrentStatus
AlivcLivePushStats getCurrentStatus()
获取当前状态- Returns:
-
setLivePushErrorListener
void setLivePushErrorListener(AlivcLivePushErrorListener errorListener)
设置推流错误事件- Parameters:
errorListener
- 错误监听器
-
setLivePushInfoListener
void setLivePushInfoListener(AlivcLivePushInfoListener infoListener)
设置推流通知事件- Parameters:
infoListener
- 通知监听器
-
setLivePushNetworkListener
void setLivePushNetworkListener(AlivcLivePushNetworkListener networkListner)
设置网络通知事件- Parameters:
networkListner
- 通知监听器
-
setLivePushBGMListener
void setLivePushBGMListener(AlivcLivePushBGMListener pushBGMListener)
设置背景播放通知事件- Parameters:
pushBGMListener
- 通知监听器
-
setLivePushRenderContextListener
void setLivePushRenderContextListener(AlivcLivePusherRenderContextListener renderCtxListener)
设置render的context监听- Parameters:
renderCtxListener
- render的context监听
-
getLivePushStatsInfo
AlivcLivePushStatsInfo getLivePushStatsInfo() throws java.lang.IllegalStateException
获取推流统计数据- Returns:
- 推流统计数据
- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化
-
getPushUrl
java.lang.String getPushUrl() throws java.lang.IllegalStateException
获取推流URL- Returns:
- 推流URL
- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview/未startPush
-
setPreviewOrientation
void setPreviewOrientation(AlivcPreviewOrientationEnum orientation)
设置推流方向,默认竖屏- Parameters:
orientation
- 推流方向
-
startBGMAsync
void startBGMAsync(java.lang.String path) throws java.lang.IllegalStateException
播放背景音- Parameters:
path
- 背景音乐路径- Throws:
java.lang.IllegalStateException
-
stopBGMAsync
void stopBGMAsync() throws java.lang.IllegalStateException
停止播放背景音乐- Throws:
java.lang.IllegalStateException
-
pauseBGM
void pauseBGM() throws java.lang.IllegalStateException
暂停播放背景音乐- Throws:
java.lang.IllegalStateException
-
resumeBGM
void resumeBGM() throws java.lang.IllegalStateException
恢复播放背景音乐- Throws:
java.lang.IllegalStateException
-
setBGMLoop
void setBGMLoop(boolean isLoop) throws java.lang.IllegalStateException
设置背景音乐是否循环播放- Parameters:
isLoop
- 是否循环 true:循环 false:不循环- Throws:
java.lang.IllegalStateException
-
setBGMEarsBack
void setBGMEarsBack(boolean isOpen) throws java.lang.IllegalStateException
设置耳返开关- Parameters:
isOpen
- 是否循环 true:开启耳返 false:关闭耳返- Throws:
java.lang.IllegalStateException
-
setBGMVolume
void setBGMVolume(int volume) throws java.lang.IllegalStateException, java.lang.IllegalArgumentException
设置背景音乐混音 人声音量- Parameters:
volume
- 人声音量大小 范围:[0 ~ 100] 默认:50- Throws:
java.lang.IllegalStateException
java.lang.IllegalArgumentException
-
setCaptureVolume
void setCaptureVolume(int volume) throws java.lang.IllegalStateException, java.lang.IllegalArgumentException
设置背景音乐混音 音乐音量- Parameters:
volume
- 音乐音量大小 范围:[0 ~ 100] 默认:50- Throws:
java.lang.IllegalStateException
java.lang.IllegalArgumentException
-
setAudioDenoise
void setAudioDenoise(boolean on) throws java.lang.IllegalStateException
设置音频降噪- Parameters:
on
- true:开启 false:关闭- Throws:
java.lang.IllegalStateException
-
setQualityMode
void setQualityMode(AlivcQualityModeEnum mode) throws java.lang.IllegalStateException
设置视频质量模式- Parameters:
mode
-- Throws:
java.lang.IllegalStateException
-
setPreviewMode
void setPreviewMode(AlivcPreviewDisplayMode mode) throws java.lang.IllegalStateException
设置预览显示模式- Parameters:
mode
-- Throws:
java.lang.IllegalStateException
-
pauseScreenCapture
void pauseScreenCapture() throws java.lang.IllegalStateException
暂停录屏推流(隐私开)- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview/未startPush/已经pause
-
resumeScreenCapture
void resumeScreenCapture() throws java.lang.IllegalStateException
恢复录屏推流(隐私关)- Throws:
java.lang.IllegalStateException
- 如果状态不对,例如还未初始化/未startPreview/未startPush/未pause/已resume
-
getLastError
AlivcLivePushError getLastError()
获取最近的错误值- Returns:
-
changeResolution
void changeResolution(AlivcResolutionEnum resolutionEnum)
change resolution dynamically
-
addWaterMark
void addWaterMark(java.lang.String path, float x, float y, float width)
添加水印,起点位置坐标x[0,width) y[0,height),宽度(0,width],最多添加3个 需在startPreview之后调用- Parameters:
path
- 水印图片x
- 水印左上角x轴位置 相对位置 0~1y
- 水印右上角y轴位置 相对位置 0~1width
- 水印显示宽度 相对位置 0~1
-
setWatermarkVisible
void setWatermarkVisible(boolean visible)
设置水印可见- Parameters:
visible
- 是否可见
-
startCamera
int startCamera(android.view.SurfaceView surfaceView) throws java.lang.IllegalStateException
录屏模式下,开启摄像头预览 如果不需要预览,则surfaceview填为null- Parameters:
surfaceView
-- Returns:
- Throws:
java.lang.IllegalStateException
-
stopCamera
void stopCamera()
录屏模式下,关闭摄像头预览
-
setScreenOrientation
void setScreenOrientation(int orientation)
录屏模式下,设置感应的屏幕旋转角度- Parameters:
orientation
-
-
startCameraMix
int startCameraMix(float x, float y, float w, float h)
录屏模式下,开启摄像头混流- Parameters:
x
- 混流显示x初始位置(0~1.0f)y
- 混流显示y初始位置(0~1.0f)w
- 混流显示宽度(0~1.0f)h
- 混流显示高度(0~1.0f)- Returns:
-
stopCameraMix
void stopCameraMix()
录屏模式下,停止摄像头混流
-
snapshot
void snapshot(int count, int interval, AlivcSnapshotListener listener)
截图
-
inputStreamVideoPtr
void inputStreamVideoPtr(long dataptr, int width, int height, int stride, int size, long pts, int rotation)
输入自定义视频流- Parameters:
dataptr
- native内存指针width
- 视频图像宽度height
- 视频图像高度size
- 视频图像sizepts
- 视频图像pts(us)rotation
- 视频图像旋转角度
-
inputStreamVideoData
void inputStreamVideoData(byte[] data, int width, int height, int stride, int size, long pts, int rotation)
输入自定义视频流- Parameters:
data
- 视频图像byte arraywidth
- 视频图像宽度height
- 视频图像高度size
- 视频图像sizepts
- 视频图像pts(us)rotation
- 视频图像旋转角度
-
inputStreamAudioPtr
void inputStreamAudioPtr(long dataPtr, int size, int sampleRate, int channels, long pts)
输入自定义音频数据- Parameters:
dataPtr
- 音频数据native内存指针size
-pts
- 音频数据pts(US)
-
inputStreamAudioData
void inputStreamAudioData(byte[] data, int size, int sampleRate, int channels, long pts)
输入自定义音频数据- Parameters:
data
- 音频数据 byte arraysize
-pts
- 音频数据pts(US)
-
addDynamicsAddons
int addDynamicsAddons(java.lang.String path, float x, float y, float w, float h)
添加动态贴纸- Parameters:
path
- 贴纸路径,带config.jsonx
- 显示起始x位置(0~1.0f)y
- 显示起始y位置(0~1.0f)w
- 显示宽度(0~1.0f)h
- 显示高度(0~1.0f)- Returns:
- id 贴纸id
-
removeDynamicsAddons
void removeDynamicsAddons(int id)
删除动态贴纸- Parameters:
id
- 贴纸id
-
setExposure
void setExposure(int exposure)
设置采集曝光
-
getCurrentExposure
int getCurrentExposure()
获取采集曝光
-
getSupportedMinExposure
int getSupportedMinExposure()
获取采集支持最小曝光
-
getSupportedMaxExposure
int getSupportedMaxExposure()
获取采集支持最大曝光
-
-