public class QHVCPlayer extends java.lang.Object implements IQHVCPlayerAdvanced, com.qihoo.livecloud.play.callback.PlayerCallback
IQHVCPlayerAdvanced.DecodeMode, IQHVCPlayerAdvanced.OnAudioPCMListener, IQHVCPlayerAdvanced.OnAudioVolumeListener, IQHVCPlayerAdvanced.OnPlayerNetStatsListener, IQHVCPlayerAdvanced.OnRecordListener, IQHVCPlayerAdvanced.OnUserDefinedDataListener, IQHVCPlayerAdvanced.OptionKey, IQHVCPlayerAdvanced.PlayMode, IQHVCPlayerAdvanced.QHVCSwitchResolutionError, IQHVCPlayerAdvanced.QHVCSwitchResolutionListener, IQHVCPlayerAdvanced.RecorderFormat, IQHVCPlayerAdvanced.RenderMode, IQHVCPlayerAdvanced.StopReason, IQHVCPlayerAdvanced.SurfaceRenderListenerIQHVCPlayer.Error, IQHVCPlayer.ErrorExtra, IQHVCPlayer.Info, IQHVCPlayer.InfoExtra, IQHVCPlayer.MediaInfoKey, IQHVCPlayer.OnBufferingEventListener, IQHVCPlayer.OnBufferingUpdateListener, IQHVCPlayer.OnCompletionListener, IQHVCPlayer.OnErrorListener, IQHVCPlayer.OnInfoListener, IQHVCPlayer.OnPreparedListener, IQHVCPlayer.onProgressChangeListener, IQHVCPlayer.OnSeekCompleteListener, IQHVCPlayer.OnVideoSizeChangedListener, IQHVCPlayer.PlayType| Modifier and Type | Field and Description |
|---|---|
static int |
FILTER_MODE_CLOUD |
static int |
FILTER_MODE_USER |
static float |
FLOAT_EPSINON |
static float |
PLAYBACK_RATE_DEFAULT |
static java.lang.String |
SESSION_ID_SUFFIX_HEVC_FAILED |
static java.lang.String |
SESSION_ID_SUFFIX_HW_FAILED |
static java.lang.String |
SESSION_ID_SUFFIX_SWITCH |
KEY_OPTION_DECODE_MODE, KEY_OPTION_FORCE_P2P, KEY_OPTION_MUTE, KEY_OPTION_PLAY_MODE, KEY_OPTION_POSITION, KEY_OPTION_POSITION_ACCURATE, KEY_OPTION_PREVIEW_DURATION, KEY_OPTION_RENDER_MODE, KEY_OPTION_SCHEDULE_URL, KEY_OPTION_STREAM_TYPE, LIVECLOUD_SMART_DECODE_MODE, LIVECLOUD_SOFT_DECODE_MODE, PLAY_ERROR, PLAY_INCOMING_CALL, PLAY_OTHER, PLAY_OVER, PLAYMODE_FLUENCY, PLAYMODE_LOWLATENCY, RECORDER_FORMAT_GIF, RECORDER_FORMAT_MOV, RECORDER_FORMAT_MP4, RENDER_MODE_FULL, RENDER_MODE_IN, RENDER_MODE_OUT, USER_CLOSEERROR_EXTRA_EMPTY, ERROR_EXTRA_FORMAT_NOT_SUPPORT, ERROR_EXTRA_PLAY_CONNECT_FAILED, ERROR_EXTRA_PLAY_JPLAYER_OPEN_FAILED, ERROR_EXTRA_PLAY_OPEN_URL_FAILED, ERROR_EXTRA_PLAY_SET_SESSION_FAILED, ERROR_EXTRA_PLAY_SN_FAILED, ERROR_EXTRA_PLAY_SUBSCRIBE_FAILED, ERROR_EXTRA_PLAY_UNSUPPORT_HARDWARE_DECODE, ERROR_EXTRA_PREPARE_DISPATCH_FAILED, ERROR_EXTRA_RECORD_ERROR, ERROR_EXTRA_RECORD_FILE_ERROR, ERROR_EXTRA_UNKNOW, ERROR_FILE_NOT_OPEN, ERROR_FORMATNOTSUPPORT, ERROR_PLAYER_PLUGIN_LOAD_FAILED, ERROR_PREPARE_FAILED, ERROR_START_PLAY_FAILED, INFO_CONNECT_INBACKGOURND, INFO_DEVICE_RENDER_ERR, INFO_DEVICE_RENDER_FIRST_FRAME, INFO_DEVICE_RENDER_QUERY_SURFACE, INFO_DEVICE_RENDER_SURFACE_CHANGE, INFO_EXTRA_EMPTY, INFO_EXTRA_H265_PLAY_FAILED, INFO_EXTRA_H265_START_PLAY, INFO_EXTRA_VIDEO_CACHE_FAILED, INFO_EXTRA_VIDEO_CACHE_SUCCESS, INFO_LIVE_PLAY_FPS, INFO_LIVE_PLAY_SPEED, INFO_LIVE_PLAY_START, INFO_PLAY_H265, INFO_PLAYER_CLOSE, INFO_PLAYER_OPEN_SUCCESS, INFO_PLAYER_PLUGIN_DOWNLOAD_SUCCESS, INFO_PLAYER_PLUGIN_START_DOWNLOAD, INFO_RENDER_RESET_SURFACE, INFO_SEEK_FAILED, INFO_SESSION_CLOSED, INFO_VIDEO_CACHE, KEY_MEDIA_INFO_AUDIO_BITRATE_INT, KEY_MEDIA_INFO_AUDIO_CHANNEL_INT, KEY_MEDIA_INFO_AUDIO_FORMAT_STRING, KEY_MEDIA_INFO_AUDIO_SAMPLE_RATE_INT, KEY_MEDIA_INFO_BITRATE_INT, KEY_MEDIA_INFO_CDN_DOWNLOAD_SPEED_LONG, KEY_MEDIA_INFO_P2P_DOWNLOAD_SPEED_LONG, KEY_MEDIA_INFO_REAL_URL_STRING, KEY_MEDIA_INFO_VIDEO_DURATION_INT, KEY_MEDIA_INFO_VIDEO_FORMAT_STRING, KEY_MEDIA_INFO_VIDEO_FPS_INT, KEY_MEDIA_INFO_VIDEO_HEIGHT_INT, KEY_MEDIA_INFO_VIDEO_WIDTH_INT, PLAYTYPE_LIVE, PLAYTYPE_VODDEVICE_RENDER_ERR, DEVICE_RENDER_FIRST_FRAME, DEVICE_RENDER_QUERY_SURFACE, DEVICE_RENDER_SURFACE_CHANGE, JPLAYER_MSG_ADD_CHANNEL, JPLAYER_MSG_AUDIO_IS_READY, JPLAYER_MSG_AUDIO_IS_SILENT, JPLAYER_MSG_BUSY, JPLAYER_MSG_CONNECT_COMPLETE, JPLAYER_MSG_CONNECT_FAILED, JPLAYER_MSG_CONNECT_INBACKGOURND, JPLAYER_MSG_DATA_USERDEFINE, JPLAYER_MSG_DVRENDER, JPLAYER_MSG_DVRENDER_RESETSURFACE, JPLAYER_MSG_ERROR_FILENOTOPEN, JPLAYER_MSG_ERROR_FORMATNOTSUPPORT, JPLAYER_MSG_FAILED_HEVCPLAYBACK, JPLAYER_MSG_FILE_PROPERTY_ROTATE, JPLAYER_MSG_HW_DECODER_IS_NOT_SUPPORT, JPLAYER_MSG_MAIN_SCHEDULE_HANDLE, JPLAYER_MSG_NO_INIT_FAIL, JPLAYER_MSG_NORMAL, JPLAYER_MSG_RECORD_ENDSTREAM, JPLAYER_MSG_RECORD_ERROR, JPLAYER_MSG_RECORD_INVALID_FILE, JPLAYER_MSG_RECORD_SUCCUSS, JPLAYER_MSG_RECORD_TIMER, JPLAYER_MSG_SESSION_CLOSED, JPLAYER_MSG_SESSION_CONNECTED, JPLAYER_MSG_START_CHANNEL_FAILED, JPLAYER_MSG_START_CHANNEL_OK, JPLAYER_MSG_START_SUCCESS, JPLAYER_MSG_STARTBUFFERING, JPLAYER_MSG_STATUS_SEEK, JPLAYER_MSG_STATUS_UPDATE, JPLAYER_MSG_STOPBUFFERING, JPLAYER_MSG_SUBSCRIBE_FAILED, JPLAYER_MSG_VIDEO_IS_READY, JPLAYER_MSG_VIDEO_RESOLUTION, JPLAYER_MSG_VIDEO_SAR, JPLAYER_MSG_VIDEO_SIZE_CHANGE, JPLAYER_MSG_VIDEOCACHE| Constructor and Description |
|---|
QHVCPlayer(Context context)
使用插件化功能时,请使用
QHVCPlayerBuilder.getPlayer(Context)创建播放器实例 |
| Modifier and Type | Method and Description |
|---|---|
int |
addToGroup(int group)
多个播放器设为一组(数据流同步场景)
|
static void |
clearP2PCache()
清空P2P的缓冲
|
void |
disableRender(boolean isDisableRender)
设置播放器是否渲染图像
|
void |
enableP2P(boolean enable) |
int |
getCurrentPosition()
获取当前已播放时间,单位:ms(毫秒)
注: 只支持点播(回看) |
int |
getDecoderMode()
获取当前使用的解码模式
|
int |
getDuration()
获取视频文件总时长,单位:ms(毫秒)
注: 只支持点播(回看) |
java.util.Map<java.lang.String,java.lang.Object> |
getMediaInformation()
获取视频信息
|
static java.lang.String |
getNativeVersion()
获取 Native版本号
|
int |
getPlayerId() |
int |
getPropertyRotate()
获取视频的旋转属性
|
boolean |
getRecordingState()
是否是录制状态
|
int |
getRenderMode()
获取渲染模式
|
static java.lang.String |
getVersion()
获取版本号
|
float |
getVolume()
获取播放器当前音量
|
static boolean |
isDefaultPlayBackRate(float playbackRate) |
boolean |
isMute()
是否是静音状态
|
boolean |
isPaused()
视频是否处于暂停状态
|
boolean |
isPlaying()
是否正在播放
|
boolean |
isSystemMediaPlayer()
是否是系统播放器
|
boolean |
isUseHdRedord(int width,
int height)
是否开启硬编
|
void |
onMessage(int handle,
int id,
int type,
int flags,
int size,
long data,
long time) |
void |
onPlayerMsg(int handle,
int command,
long para1,
long para2,
int user)
底层(C层)播放消息回调
|
void |
onPlayerMsgHandle(int handle,
int command,
long para1,
long para2,
int user)
底层(C层)播放消息回调
|
void |
onUpdateGPPlayState(int handle,
long nowTime,
long videoBufferTime,
long audioBufferTime)
onUpdateGPPlayState
|
void |
onUpdateStatus(int handle,
int vbps,
int abps,
int vfps,
int afps,
int fps,
int bitrate,
int param1,
int param2,
int user)
底层(C层)码流回调
|
void |
onUserDefineData(int handle,
byte[] data,
int length)
用户自定义数据回调
|
void |
pause()
暂停播放
|
void |
pauseRecord() |
void |
prepareAsync()
准备播放,异步方法
注: 调用此方法开始走调度流程。 |
void |
release()
播放器资源回收
|
void |
resumerRecord() |
void |
seekTo(int millis)
目标时间点,单位:ms(毫秒)
目前只支持回看拖动 |
void |
seekTo(int millis,
boolean accurate)
精确seekTo
|
void |
setDataSource(int playType,
java.lang.String[] rids,
java.lang.String[] sources,
int defaultIndex,
java.lang.String channelId,
java.lang.String sign,
java.util.Map<java.lang.String,java.lang.Object> options) |
void |
setDataSource(int playType,
java.lang.String url,
java.lang.String channelId)
设置视频源
|
void |
setDataSource(int playType,
java.lang.String url,
java.lang.String channelId,
java.util.Map<java.lang.String,java.lang.Object> options)
设置视频源
|
void |
setDataSource(int playType,
java.lang.String sn,
java.lang.String channelId,
java.lang.String sign,
java.util.Map<java.lang.String,java.lang.Object> options)
设置视频源
|
void |
setDisplay(com.qihoo.livecloud.play.callback.ILiveCloudDisplay display)
设置播放器显示View
|
void |
setFilterValues(float brightness,
float contrast,
float saturation)
设置视频画质增强filter属性
|
void |
setMute(boolean mute)
设置是否静音播放
|
void |
setOnAudioPCMListener(IQHVCPlayerAdvanced.OnAudioPCMListener listener)
设置音频数据回调
|
void |
setOnAudioVolumeListener(IQHVCPlayerAdvanced.OnAudioVolumeListener listener,
long period)
设置音量回调(只支持直播)
收到INFO_LIVE_PLAY_START后调用
设置音量回调:listener != null && period > 0
删除音量回调: listener == null || period <= 0
|
void |
setOnBufferingEventListener(IQHVCPlayer.OnBufferingEventListener listener) |
void |
setOnBufferingUpdateListener(IQHVCPlayer.OnBufferingUpdateListener listener)
Register a callback to be invoked when the status of a network stream's buffer has changed.
|
void |
setOnCompletionListener(IQHVCPlayer.OnCompletionListener listener)
Register a callback to be invoked when the end of a media source has been reached during playback.
|
void |
setOnErrorListener(IQHVCPlayer.OnErrorListener listener)
Register a callback to be invoked when an error has happened during an asynchronous operation.
|
void |
setOnInfoListener(IQHVCPlayer.OnInfoListener listener)
Register a callback to be invoked when an info/warning is available.
|
void |
setOnPlayerNetStatsListener(IQHVCPlayerAdvanced.OnPlayerNetStatsListener listener)
流量统计信息回调(暂时只支持直播)
|
void |
setOnPreparedListener(IQHVCPlayer.OnPreparedListener listener)
Register a callback to be invoked when the media source is ready for playback.
|
void |
setOnProgressChangeListener(IQHVCPlayer.onProgressChangeListener listener) |
void |
setOnSeekCompleteListener(IQHVCPlayer.OnSeekCompleteListener listener)
Register a callback to be invoked when a seek operation has been completed.
|
void |
setOnVideoSizeChangedListener(IQHVCPlayer.OnVideoSizeChangedListener listener)
Register a callback to be invoked when the video size is known or updated.
|
static void |
setP2PCacheDir(java.lang.String cacheDir)
设置P2P缓冲路径
|
static void |
setP2PCacheSize(int cacheSize)
设置P2P缓冲的大小
|
void |
setPlayBackRate(float rate)
倍速播放
|
void |
setPlayerControlConfig(com.qihoo.livecloud.play.PlayerControl playerControl,
int playerId,
java.lang.String sid) |
int |
setResolutionAdapt(boolean isAdapt,
IQHVCPlayerAdvanced.QHVCSwitchResolutionListener listener)
自动切换分辨率
|
void |
setScreenOnWhilePlaying(boolean screenOn)
设置播放时是否屏幕常亮
|
void |
setSurface(java.lang.String from,
SurfaceTexture texture)
为播放器设置显示SurfaceTexture
|
void |
setSurfaceRenderListener(IQHVCPlayerAdvanced.SurfaceRenderListener surfaceRenderListener)
设置视频渲染高级接口,必须在
IQHVCPlayer.setDisplay(ILiveCloudDisplay)前调用 |
int |
setSurfaceViewport(int x,
int y,
int width,
int height)
为播放器渲染的surface设置Viewport
|
void |
setVolume(float volume)
设置音量
|
boolean |
snapshot(java.lang.String path)
截图 (同步方法,会阻塞线程)
|
void |
start() |
int |
startRecorder(java.lang.String filePath,
java.lang.String fmt0,
com.qihoo.livecloud.play.RecordConfig config,
IQHVCPlayerAdvanced.OnRecordListener listener)
开始录制
|
static void |
statsSessionStop(java.lang.String sid,
boolean isLast,
boolean isHw,
java.util.Map<java.lang.String,java.lang.Object> mediaInfoMap,
java.util.Map<java.lang.String,java.lang.Object> statsMap,
long averageBitrate,
long averageFps) |
void |
stop() |
void |
stop(int reason)
停止播放
|
int |
stopRecorder()
结束录制(异步接口)
|
void |
switchResolution(int index,
IQHVCPlayerAdvanced.QHVCSwitchResolutionListener listener)
切换分辨率
此接口是异步的,从切换分辨率到切换完成 有5秒延迟 |
int |
switchResolutionStop(java.lang.String reason)
取消分辨率切换
|
void |
test_hard_decoder_error() |
public static final float FLOAT_EPSINON
public static final int FILTER_MODE_USER
public static final int FILTER_MODE_CLOUD
public static final java.lang.String SESSION_ID_SUFFIX_SWITCH
public static final java.lang.String SESSION_ID_SUFFIX_HEVC_FAILED
public static final java.lang.String SESSION_ID_SUFFIX_HW_FAILED
public static final float PLAYBACK_RATE_DEFAULT
public QHVCPlayer(Context context)
QHVCPlayerBuilder.getPlayer(Context)创建播放器实例public static java.lang.String getVersion()
public static java.lang.String getNativeVersion()
public void setDataSource(int playType,
java.lang.String sn,
java.lang.String channelId,
java.lang.String sign,
java.util.Map<java.lang.String,java.lang.Object> options)
throws java.io.IOException,
java.lang.IllegalArgumentException,
java.lang.IllegalStateException
IQHVCPlayerAdvancedsetDataSource in interface IQHVCPlayerAdvancedplayType - 播放类型 IQHVCPlayer.PLAYTYPE_LIVE, IQHVCPlayer.PLAYTYPE_VODsn - sn (需要走调度流程)channelId - 业务idsign - 鉴权签名options - 播放器可选属性 IQHVCPlayerAdvanced.OptionKeyjava.io.IOExceptionjava.lang.IllegalArgumentExceptionjava.lang.IllegalStateExceptionpublic void setDataSource(int playType,
java.lang.String url,
java.lang.String channelId,
java.util.Map<java.lang.String,java.lang.Object> options)
throws java.io.IOException,
java.lang.IllegalArgumentException,
java.lang.IllegalStateException
IQHVCPlayersetDataSource in interface IQHVCPlayerplayType - 播放类型 IQHVCPlayer.PLAYTYPE_LIVE, IQHVCPlayer.PLAYTYPE_VODurl - urlchannelId - 业务idoptions - 播放器可选属性 IQHVCPlayerAdvanced.OptionKeyjava.io.IOExceptionjava.lang.IllegalArgumentExceptionjava.lang.IllegalStateExceptionpublic void setDataSource(int playType,
java.lang.String url,
java.lang.String channelId)
throws java.io.IOException,
java.lang.IllegalArgumentException,
java.lang.IllegalStateException
IQHVCPlayersetDataSource in interface IQHVCPlayerplayType - 播放类型 IQHVCPlayer.PLAYTYPE_LIVE, IQHVCPlayer.PLAYTYPE_VODurl - 视频源地址channelId - 业务idjava.io.IOExceptionjava.lang.IllegalArgumentExceptionjava.lang.IllegalStateExceptionpublic void setDataSource(int playType,
java.lang.String[] rids,
java.lang.String[] sources,
int defaultIndex,
java.lang.String channelId,
java.lang.String sign,
java.util.Map<java.lang.String,java.lang.Object> options)
throws java.io.IOException,
java.lang.IllegalArgumentException,
java.lang.IllegalStateException
setDataSource in interface IQHVCPlayerAdvancedjava.io.IOExceptionjava.lang.IllegalArgumentExceptionjava.lang.IllegalStateExceptionpublic boolean snapshot(java.lang.String path)
IQHVCPlayerAdvancedsnapshot in interface IQHVCPlayerAdvancedpath - 存储路径public int getDecoderMode()
IQHVCPlayerAdvancedgetDecoderMode in interface IQHVCPlayerAdvancedIQHVCPlayerAdvanced.LIVECLOUD_SOFT_DECODE_MODE, IQHVCPlayerAdvanced.LIVECLOUD_SMART_DECODE_MODEpublic void disableRender(boolean isDisableRender)
throws java.lang.IllegalStateException
IQHVCPlayerAdvanceddisableRender in interface IQHVCPlayerAdvancedjava.lang.IllegalStateExceptionpublic void start()
throws java.lang.IllegalStateException
start in interface IQHVCPlayerjava.lang.IllegalStateExceptionpublic void stop(int reason)
throws java.lang.IllegalStateException
IQHVCPlayerAdvancedstop in interface IQHVCPlayerAdvancedreason - java.lang.IllegalStateExceptionpublic int addToGroup(int group)
IQHVCPlayerAdvancedaddToGroup in interface IQHVCPlayerAdvancedpublic void setDisplay(com.qihoo.livecloud.play.callback.ILiveCloudDisplay display)
IQHVCPlayersetDisplay in interface IQHVCPlayerpublic void setOnPlayerNetStatsListener(IQHVCPlayerAdvanced.OnPlayerNetStatsListener listener)
IQHVCPlayerAdvancedsetOnPlayerNetStatsListener in interface IQHVCPlayerAdvancedpublic void prepareAsync()
throws java.lang.IllegalStateException
IQHVCPlayer
成功: 回调OnPreparedListener的onPrepared()接口 - 调度成功,应用层可调用start(0)开始播放
失败: 回调onError(ERROR_PREPARE_FAILED, ERROR_EXTRA_PREPARE_DISPATCH_FAILED)
prepareAsync in interface IQHVCPlayerjava.lang.IllegalStateExceptionpublic boolean isPlaying()
IQHVCPlayerisPlaying in interface IQHVCPlayerpublic void pause()
throws java.lang.IllegalStateException
IQHVCPlayerpause in interface IQHVCPlayerjava.lang.IllegalStateExceptionpublic boolean isPaused()
IQHVCPlayerisPaused in interface IQHVCPlayerpublic void seekTo(int millis)
throws java.lang.IllegalStateException
IQHVCPlayerseekTo in interface IQHVCPlayermillis - 要拖动到的目标时间java.lang.IllegalStateExceptionpublic void seekTo(int millis,
boolean accurate)
throws java.lang.IllegalStateException
IQHVCPlayerAdvancedseekTo in interface IQHVCPlayerAdvancedmillis - 目标时间点,单位:毫秒accurate - 是否进行精准seek;accurate=false等同于void seekTo(long msec);java.lang.IllegalStateExceptionpublic void setPlayBackRate(float rate)
throws java.lang.IllegalStateException
IQHVCPlayerAdvancedsetPlayBackRate in interface IQHVCPlayerAdvancedrate - 播放速度,取值1~n(建议n<=5)java.lang.IllegalStateExceptionpublic int getCurrentPosition()
IQHVCPlayergetCurrentPosition in interface IQHVCPlayerpublic int getDuration()
IQHVCPlayergetDuration in interface IQHVCPlayerpublic void stop()
throws java.lang.IllegalStateException
stop in interface IQHVCPlayerjava.lang.IllegalStateExceptionpublic void release()
IQHVCPlayerrelease in interface IQHVCPlayerpublic void setMute(boolean mute)
throws java.lang.IllegalStateException
IQHVCPlayersetMute in interface IQHVCPlayermute - java.lang.IllegalStateExceptionpublic void setOnAudioPCMListener(IQHVCPlayerAdvanced.OnAudioPCMListener listener)
IQHVCPlayerAdvancedsetOnAudioPCMListener in interface IQHVCPlayerAdvancedpublic void setOnBufferingUpdateListener(IQHVCPlayer.OnBufferingUpdateListener listener)
IQHVCPlayersetOnBufferingUpdateListener in interface IQHVCPlayerpublic void setOnBufferingEventListener(IQHVCPlayer.OnBufferingEventListener listener)
setOnBufferingEventListener in interface IQHVCPlayerpublic boolean isMute()
IQHVCPlayerisMute in interface IQHVCPlayerpublic void setScreenOnWhilePlaying(boolean screenOn)
IQHVCPlayersetScreenOnWhilePlaying in interface IQHVCPlayerscreenOn - public int getPlayerId()
getPlayerId in interface IQHVCPlayerpublic void setOnPreparedListener(IQHVCPlayer.OnPreparedListener listener)
IQHVCPlayersetOnPreparedListener in interface IQHVCPlayerpublic void setOnSeekCompleteListener(IQHVCPlayer.OnSeekCompleteListener listener)
IQHVCPlayersetOnSeekCompleteListener in interface IQHVCPlayerpublic void setOnErrorListener(IQHVCPlayer.OnErrorListener listener)
IQHVCPlayersetOnErrorListener in interface IQHVCPlayerpublic void setOnCompletionListener(IQHVCPlayer.OnCompletionListener listener)
IQHVCPlayersetOnCompletionListener in interface IQHVCPlayerpublic void setOnInfoListener(IQHVCPlayer.OnInfoListener listener)
IQHVCPlayersetOnInfoListener in interface IQHVCPlayerpublic void setOnVideoSizeChangedListener(IQHVCPlayer.OnVideoSizeChangedListener listener)
IQHVCPlayersetOnVideoSizeChangedListener in interface IQHVCPlayerpublic void onPlayerMsg(int handle,
int command,
long para1,
long para2,
int user)
onPlayerMsg in interface com.qihoo.livecloud.play.callback.PlayerCallbackhandle - command - para1 - para2 - user - public void onPlayerMsgHandle(int handle,
int command,
long para1,
long para2,
int user)
handle - command - para1 - para2 - user - public void onUpdateStatus(int handle,
int vbps,
int abps,
int vfps,
int afps,
int fps,
int bitrate,
int param1,
int param2,
int user)
onUpdateStatus in interface com.qihoo.livecloud.play.callback.PlayerCallbackhandle - vbps - 视频码率abps - 音频码率vfps - 视频帧率afps - 音频帧率fps - bitrate - param1 - param2 - user - public void onUpdateGPPlayState(int handle,
long nowTime,
long videoBufferTime,
long audioBufferTime)
onUpdateGPPlayState in interface com.qihoo.livecloud.play.callback.PlayerCallbackhandle - nowTime - videoBufferTime - audioBufferTime - public void onMessage(int handle,
int id,
int type,
int flags,
int size,
long data,
long time)
onMessage in interface com.qihoo.livecloud.play.callback.PlayerCallbackhandle - palyerIDid - 音频流的idtype - flags - size - 数据长度data - 预留以前是想返回data地址的,后来用共享内存,所以预留了time - 时间戳public void onUserDefineData(int handle,
byte[] data,
int length)
onUserDefineData in interface com.qihoo.livecloud.play.callback.PlayerCallbackhandle - data - length - public void setOnProgressChangeListener(IQHVCPlayer.onProgressChangeListener listener)
setOnProgressChangeListener in interface IQHVCPlayerpublic void setVolume(float volume)
throws java.lang.IllegalStateException
IQHVCPlayersetVolume in interface IQHVCPlayervolume - 音量范围 0.0~1.0(1.0最大)java.lang.IllegalStateExceptionpublic float getVolume()
throws java.lang.IllegalStateException
IQHVCPlayergetVolume in interface IQHVCPlayerjava.lang.IllegalStateExceptionpublic java.util.Map<java.lang.String,java.lang.Object> getMediaInformation()
IQHVCPlayergetMediaInformation in interface IQHVCPlayerpublic int getRenderMode()
IQHVCPlayergetRenderMode in interface IQHVCPlayerIQHVCPlayerAdvanced.RenderModepublic void setSurfaceRenderListener(IQHVCPlayerAdvanced.SurfaceRenderListener surfaceRenderListener)
IQHVCPlayerAdvancedIQHVCPlayer.setDisplay(ILiveCloudDisplay)前调用setSurfaceRenderListener in interface IQHVCPlayerAdvancedsurfaceRenderListener - 视频渲染高级接口public void setSurface(java.lang.String from,
SurfaceTexture texture)
IQHVCPlayersetSurface in interface IQHVCPlayertexture - SurfaceTexture 播放器渲染的texturepublic int setSurfaceViewport(int x,
int y,
int width,
int height)
IQHVCPlayersetSurfaceViewport in interface IQHVCPlayerx - x位置y - y位置width - 宽度height - 高度public boolean isUseHdRedord(int width,
int height)
width - 视频宽height - 视频高public int startRecorder(java.lang.String filePath,
java.lang.String fmt0,
com.qihoo.livecloud.play.RecordConfig config,
IQHVCPlayerAdvanced.OnRecordListener listener)
IQHVCPlayerAdvanced
注意:不支持暂停时录制
录制mp4: fmt使用 IQHVCPlayerAdvanced.RECORDER_FORMAT_MP4, Config使用VideoRecordConfig
录制gif: fmt使用 IQHVCPlayerAdvanced.RECORDER_FORMAT_GIF, Config使用GifRecordConfig
startRecorder in interface IQHVCPlayerAdvancedfilePath - 录像存储路径(确保有读写权限)fmt0 - 存储格式 IQHVCPlayerAdvanced.RecorderFormat config - 配置listener - callbackpublic int stopRecorder()
IQHVCPlayerAdvancedstopRecorder in interface IQHVCPlayerAdvancedpublic void setOnAudioVolumeListener(IQHVCPlayerAdvanced.OnAudioVolumeListener listener, long period) throws java.lang.IllegalArgumentException
IQHVCPlayerAdvancedsetOnAudioVolumeListener in interface IQHVCPlayerAdvancedperiod - 回调时间间隔java.lang.IllegalArgumentExceptionpublic void setPlayerControlConfig(com.qihoo.livecloud.play.PlayerControl playerControl,
int playerId,
java.lang.String sid)
public void switchResolution(int index,
IQHVCPlayerAdvanced.QHVCSwitchResolutionListener listener)
IQHVCPlayerAdvancedswitchResolution in interface IQHVCPlayerAdvancedindex - 数据源索引,IQHVCPlayerAdvanced.setDataSource(int, String[], String[], int, String, String, Map)设置的source的索引listener - 状态回调public int switchResolutionStop(java.lang.String reason)
IQHVCPlayerAdvancedswitchResolutionStop in interface IQHVCPlayerAdvancedreason - 取消切换原因public int setResolutionAdapt(boolean isAdapt,
IQHVCPlayerAdvanced.QHVCSwitchResolutionListener listener)
IQHVCPlayerAdvancedsetResolutionAdapt in interface IQHVCPlayerAdvancedisAdapt - 是否根据网络状况自动切换分辨率listener - 状态回调public boolean isSystemMediaPlayer()
IQHVCPlayerAdvancedisSystemMediaPlayer in interface IQHVCPlayerAdvancedpublic static boolean isDefaultPlayBackRate(float playbackRate)
public int getPropertyRotate()
IQHVCPlayerAdvancedgetPropertyRotate in interface IQHVCPlayerAdvancedpublic void setFilterValues(float brightness,
float contrast,
float saturation)
setFilterValues in interface IQHVCPlayerAdvancedbrightness - 亮度 取值范围(-0.2f, 0.35f)contrast - 对比度 取值范围(0.9f, 1.6f)saturation - 饱和度 取值范围(0.15f, 2f)public void enableP2P(boolean enable)
enableP2P in interface IQHVCPlayerAdvancedpublic static void clearP2PCache()
public static void setP2PCacheSize(int cacheSize)
cacheSize - 缓冲区大小, 单位MBpublic static void setP2PCacheDir(java.lang.String cacheDir)
cacheDir - 缓冲路径public void test_hard_decoder_error()
public boolean getRecordingState()
public static void statsSessionStop(java.lang.String sid,
boolean isLast,
boolean isHw,
java.util.Map<java.lang.String,java.lang.Object> mediaInfoMap,
java.util.Map<java.lang.String,java.lang.Object> statsMap,
long averageBitrate,
long averageFps)
public void pauseRecord()
public void resumerRecord()