public class ScreenLiveSessionYCloud extends java.lang.Object implements IEncoderListener, ILiveSession, ScreenSurfaceCallback
| Constructor and Description |
|---|
ScreenLiveSessionYCloud(android.content.Context context,
int type) |
| Modifier and Type | Method and Description |
|---|---|
void |
adjustEncoderBitrate(int bitRate) |
void |
attachSurface(android.view.Surface surface) |
void |
changeScreenLiveMode(boolean normal,
android.graphics.Bitmap bitmap) |
void |
detachSurface() |
void |
imageFrameAvailable(java.nio.ByteBuffer buffer,
int width,
int height,
int imageFormat)
采集图像回调.
|
boolean |
isHardwareEncoderAvailable()
获取是否允许硬编开播
|
void |
onEncodeEncParam(java.lang.String param)
sdk内部编码参数通知.
|
void |
onEncodeFirstFrame()
编码头一帧回调接口.
|
void |
onEncodeFrameData(byte[] data,
int len,
long pts,
long dts,
int frameType,
VideoEncoderType encodeType,
int svcTid,
int svcSid)
编码后一帧视频数据的输出回调函数.
|
void |
onEncodeResolution(int width,
int height)
实际编码的分辨率回调接口, 每3秒钟回调一次.
|
void |
onEncoderSwitch()
切换视频编码器
|
void |
onEncodeStat(int bitRate,
int frameRate)
编码码率,帧率统计数据回调接口, 每3秒钟回调一次.
|
void |
onHardEncoderError()
硬编出错,通知上层禁用硬编
|
void |
onWaterMarkSizeChange(int w,
int h)
切换弱网之后,编码分辨率变更,需要变换水印的坐标和宽高
|
void |
requestIFrame() |
void |
setAbroadNetWorkStrategy(boolean flag) |
void |
setCaptureResolution(int width,
int height)
设置录屏采集分辨率大小.
|
void |
setDeltaYYPtsMillions(long deltaPtsDts)
设置PTS同步矫正, 矫正值根据传输设置,客户端回调到sdk
|
void |
setDynamicTexture(IDynamicTexture dynamicTexture) |
void |
setEncoderConfig(VideoEncoderConfig config)
配置编码器(软编硬编都需要配置)
|
void |
setEncoderListener(IEncoderListener listener) |
void |
setHardwareEncoderAvailable(boolean available)
设置是否允许硬编开播
|
void |
setLowDelayMode(boolean enable) |
void |
setNetworkBitrateSuggest(int bitrate) |
void |
setResolutionModifyConfigs(java.util.List<ResolutionModifyConfig> configs,
int intervalSecs) |
void |
setScreenCropArea(android.graphics.RectF rectF)
设置裁剪区域
|
void |
setSelfMode(boolean isSelfMode)
设置隐私模式,用于是否停止补帧定时器
|
void |
setWaterMark(android.graphics.Bitmap bitmap,
int offsetX,
int offsetY) |
void |
setWaterMark(WaterMark waterMark) |
void |
startCapture(android.media.projection.MediaProjection mediaProjection)
开启捕捉屏幕
|
void |
startEncoder()
启动编码器
|
void |
stopAndRelease()
停止捕捉屏幕
|
void |
stopCapture() |
void |
stopEncoder()
关闭编码器
|
void |
surfaceChange(android.view.Surface surface) |
void |
surfaceCreated(android.view.Surface surface)
用于抓屏用的surface创建, 不在main thread中回调.
|
void |
surfaceDestroyed(android.view.Surface surface)
用于抓屏用的surface将要被销毁, 不在main thread中回调.
|
void |
takeScreenShot(ScreenShotCallback callback)
截取屏幕, 暂时未实现.
|
public ScreenLiveSessionYCloud(android.content.Context context,
int type)
public void startEncoder()
ILiveSessionstartEncoder in interface ILiveSessionpublic void stopEncoder()
ILiveSessionstopEncoder in interface ILiveSessionpublic void setEncoderConfig(VideoEncoderConfig config)
ILiveSessionsetEncoderConfig in interface ILiveSessionpublic void setEncoderListener(IEncoderListener listener)
setEncoderListener in interface ILiveSessionpublic void setWaterMark(WaterMark waterMark)
public void setWaterMark(android.graphics.Bitmap bitmap,
int offsetX,
int offsetY)
setWaterMark in interface ILiveSessionpublic void setDynamicTexture(IDynamicTexture dynamicTexture)
setDynamicTexture in interface ILiveSessionpublic void setNetworkBitrateSuggest(int bitrate)
setNetworkBitrateSuggest in interface ILiveSessionpublic void adjustEncoderBitrate(int bitRate)
adjustEncoderBitrate in interface ILiveSessionpublic void requestIFrame()
requestIFrame in interface ILiveSessionpublic void setLowDelayMode(boolean enable)
setLowDelayMode in interface ILiveSessionpublic void setResolutionModifyConfigs(java.util.List<ResolutionModifyConfig> configs, int intervalSecs)
setResolutionModifyConfigs in interface ILiveSessionpublic void setHardwareEncoderAvailable(boolean available)
ILiveSessionsetHardwareEncoderAvailable in interface ILiveSessionpublic boolean isHardwareEncoderAvailable()
ILiveSessionisHardwareEncoderAvailable in interface ILiveSessionpublic void onEncodeStat(int bitRate,
int frameRate)
IEncoderListeneronEncodeStat in interface IEncoderListenerbitRate - 实际编码输出的码率.frameRate - 实际编码输出的帧率.public void onEncodeResolution(int width,
int height)
IEncoderListeneronEncodeResolution in interface IEncoderListenerwidth - 实际编码分辨率宽度height - 实际编码分辨率高度.public void onEncodeFirstFrame()
IEncoderListeneronEncodeFirstFrame in interface IEncoderListenerpublic void onEncodeFrameData(byte[] data,
int len,
long pts,
long dts,
int frameType,
VideoEncoderType encodeType,
int svcTid,
int svcSid)
IEncoderListeneronEncodeFrameData in interface IEncoderListenerdata - 编码后的视频数据len - 视频数据的长度pts - 视频数据的pts, 单位是msdts - 视频数据的dts, 单位是msframeType - 视频数据的帧类型,YY系统中的帧类型取值一样.encodeType - 视频数据的编码类型,这里是开播SDK中定义的encodeType,特别提醒这里和yysdk中传输定义的encodeType有不同.public void onEncodeEncParam(java.lang.String param)
IEncoderListeneronEncodeEncParam in interface IEncoderListenerparam - 编码参数,一般用于调试打印在屏幕,或者统计等等.public void onHardEncoderError()
IEncoderListeneronHardEncoderError in interface IEncoderListenerpublic void onEncoderSwitch()
IEncoderListeneronEncoderSwitch in interface IEncoderListenerpublic void onWaterMarkSizeChange(int w,
int h)
IEncoderListeneronWaterMarkSizeChange in interface IEncoderListenerpublic void startCapture(android.media.projection.MediaProjection mediaProjection)
public void stopCapture()
public void stopAndRelease()
stopAndRelease in interface ILiveSessionpublic void setCaptureResolution(int width,
int height)
width - height - public void imageFrameAvailable(java.nio.ByteBuffer buffer,
int width,
int height,
int imageFormat)
buffer - 图像数据width - 图像分辨率宽度height - 图像分辨率高度imageFormat - 图像的格式,譬如说NV21格式等, 见Android sdk 中ImageFomart中的定义.public void takeScreenShot(ScreenShotCallback callback)
takeScreenShot in interface ILiveSessioncallback - public void setSelfMode(boolean isSelfMode)
public void setScreenCropArea(android.graphics.RectF rectF)
rectF - 屏幕的坐标public void setDeltaYYPtsMillions(long deltaPtsDts)
deltaPtsDts - 单位mspublic void surfaceCreated(android.view.Surface surface)
ScreenSurfaceCallbacksurfaceCreated in interface ScreenSurfaceCallbackpublic void detachSurface()
detachSurface in interface ScreenSurfaceCallbackpublic void attachSurface(android.view.Surface surface)
attachSurface in interface ScreenSurfaceCallbackpublic void surfaceChange(android.view.Surface surface)
surfaceChange in interface ScreenSurfaceCallbackpublic void surfaceDestroyed(android.view.Surface surface)
ScreenSurfaceCallbacksurfaceDestroyed in interface ScreenSurfaceCallbackpublic void changeScreenLiveMode(boolean normal,
android.graphics.Bitmap bitmap)
public void setAbroadNetWorkStrategy(boolean flag)