public interface IQHVCPlayerAdvanced extends IQHVCPlayer
Created by guohailiang on 2017/5/16.
Modifier and Type | Interface and Description |
---|---|
static interface |
IQHVCPlayerAdvanced.DecodeMode
解码模式
|
static interface |
IQHVCPlayerAdvanced.OnAudioPCMListener |
static interface |
IQHVCPlayerAdvanced.OnPlayerNetStatsListener |
static interface |
IQHVCPlayerAdvanced.OnRecordListener
视频/gif录制listener
|
static interface |
IQHVCPlayerAdvanced.OnUserDefinedDataListener
user defined data
|
static interface |
IQHVCPlayerAdvanced.OptionKey
setDataSource options key
|
static interface |
IQHVCPlayerAdvanced.PlayMode
播放模式
|
static interface |
IQHVCPlayerAdvanced.QHVCSwitchResolutionError
切分辨率错误
|
static interface |
IQHVCPlayerAdvanced.QHVCSwitchResolutionListener
切换分辨率回调
|
static interface |
IQHVCPlayerAdvanced.RecorderFormat
视频录制格式
|
static interface |
IQHVCPlayerAdvanced.RenderMode
渲染填充模式
|
static interface |
IQHVCPlayerAdvanced.StopReason
停止播放的原因
业务可自行定义
|
IQHVCPlayer.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 java.lang.String |
KEY_OPTION_DECODE_MODE
|
static java.lang.String |
KEY_OPTION_MUTE
Boolean 开始播放的时候是否静音 |
static java.lang.String |
KEY_OPTION_PLAY_MODE
IQHVCPlayerAdvanced.PlayMode 设置播放器播放模式 |
static java.lang.String |
KEY_OPTION_POSITION
Integer 只适用于点播,设置点播开始的位置(单位: 毫秒) |
static java.lang.String |
KEY_OPTION_POSITION_ACCURATE
Boolean 只适用于点播,设置点播开始的位置--是否为精确seek |
static java.lang.String |
KEY_OPTION_PREVIEW_DURATION
Integer 预览时长. |
static java.lang.String |
KEY_OPTION_RENDER_MODE
IQHVCPlayerAdvanced.RenderMode 播放器渲染模式 |
static java.lang.String |
KEY_OPTION_SCHEDULE_URL
String 调度地址,需要使用自定义的调度地址时使用 |
static java.lang.String |
KEY_OPTION_STREAM_TYPE
Constants.LiveType 推拉流类型: 纯音频、纯视频或音视频 |
static int |
LIVECLOUD_SMART_DECODE_MODE
智能解码模式.优先硬解码,若硬解码不支持,切换到软解码
IQHVCPlayerAdvanced#setDecoderMode |
static int |
LIVECLOUD_SOFT_DECODE_MODE
软解模式
IQHVCPlayerAdvanced#setDecoderMode |
static int |
PLAY_ERROR
播放出错
|
static int |
PLAY_INCOMING_CALL
来电话
|
static int |
PLAY_OTHER
其他错误
|
static int |
PLAY_OVER
直播结束
|
static int |
PLAYMODE_FLUENCY
流畅模式
|
static int |
PLAYMODE_LOWLATENCY
低延迟模式
|
static java.lang.String |
RECORDER_FORMAT_GIF |
static java.lang.String |
RECORDER_FORMAT_MOV |
static java.lang.String |
RECORDER_FORMAT_MP4 |
static int |
RENDER_MODE_FULL
如果视频尺寸和显示视窗尺寸不一致,图像拉伸后填满视窗
|
static int |
RENDER_MODE_IN
在保证视频宽高比的前提下,将视频进行横向或纵向填满。(可能会留黑边)
|
static int |
RENDER_MODE_OUT
在保持视频宽高比的前提下,按照显示视窗的比例进行周边裁剪后填满视窗。
|
static int |
USER_CLOSE
用户主动关闭
|
ERROR_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_CHANNEL_INT, KEY_MEDIA_INFO_AUDIO_FORMAT_STRING, KEY_MEDIA_INFO_AUDIO_SAMPLE_RATE_INT, KEY_MEDIA_INFO_BITRATE_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_VOD
Modifier and Type | Method and Description |
---|---|
int |
addToGroup(int group)
多个播放器设为一组(数据流同步场景)
|
void |
disableRender(boolean isDisableRender)
设置播放器是否渲染图像
|
int |
getDecoderMode()
获取当前使用的解码模式
|
int |
getPropertyRotate()
获取视频的旋转属性
|
boolean |
isSystemMediaPlayer()
是否是系统播放器
|
void |
seekTo(int millis,
boolean accurate)
精确seekTo
|
void |
setDataSource(int playType,
java.lang.String[] rid,
java.lang.String[] sn,
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 sn,
java.lang.String channelId,
java.lang.String sign,
java.util.Map<java.lang.String,java.lang.Object> options)
设置视频源
|
void |
setOnAudioPCMListener(IQHVCPlayerAdvanced.OnAudioPCMListener listener)
设置音频数据回调
|
void |
setOnPlayerNetStatsListener(IQHVCPlayerAdvanced.OnPlayerNetStatsListener listener)
流量统计信息回调(暂时只支持直播)
|
void |
setPlayBackRate(float rate)
倍速播放
|
int |
setResolutionAdapt(boolean isAdapt,
IQHVCPlayerAdvanced.QHVCSwitchResolutionListener listener)
自动切换分辨率
|
boolean |
snapshot(java.lang.String path)
截图 (同步方法,会阻塞线程)
|
int |
startRecorder(java.lang.String filePath,
java.lang.String fmt,
com.qihoo.livecloud.play.RecordConfig config,
IQHVCPlayerAdvanced.OnRecordListener listener)
开始录制
|
void |
stop(int reason)
停止播放
|
int |
stopRecorder()
结束录制(异步接口)
|
void |
switchResolution(int index,
IQHVCPlayerAdvanced.QHVCSwitchResolutionListener listener)
切换分辨率
此接口是异步的,从切换分辨率到切换完成 有5秒延迟 |
int |
switchResolutionStop(java.lang.String reason)
取消分辨率切换
|
getCurrentPosition, getDuration, getMediaInformation, getPlayerId, getRenderMode, getVolume, isMute, isPaused, isPlaying, pause, prepareAsync, release, seekTo, setDataSource, setDataSource, setDisplay, setMute, setOnBufferingEventListener, setOnBufferingUpdateListener, setOnCompletionListener, setOnErrorListener, setOnInfoListener, setOnPreparedListener, setOnProgressChangeListener, setOnSeekCompleteListener, setOnVideoSizeChangedListener, setScreenOnWhilePlaying, setSurface, setSurfaceViewport, setVolume, start, stop
static final int PLAYMODE_FLUENCY
static final int PLAYMODE_LOWLATENCY
static final int LIVECLOUD_SOFT_DECODE_MODE
IQHVCPlayerAdvanced#setDecoderMode
static final int LIVECLOUD_SMART_DECODE_MODE
IQHVCPlayerAdvanced#setDecoderMode
static final int RENDER_MODE_IN
static final int RENDER_MODE_OUT
static final int RENDER_MODE_FULL
static final int USER_CLOSE
static final int PLAY_OVER
static final int PLAY_ERROR
static final int PLAY_INCOMING_CALL
static final int PLAY_OTHER
static final java.lang.String KEY_OPTION_POSITION
Integer
只适用于点播,设置点播开始的位置(单位: 毫秒)static final java.lang.String KEY_OPTION_POSITION_ACCURATE
Boolean
只适用于点播,设置点播开始的位置--是否为精确seekstatic final java.lang.String KEY_OPTION_SCHEDULE_URL
String
调度地址,需要使用自定义的调度地址时使用static final java.lang.String KEY_OPTION_RENDER_MODE
IQHVCPlayerAdvanced.RenderMode
播放器渲染模式static final java.lang.String KEY_OPTION_PLAY_MODE
IQHVCPlayerAdvanced.PlayMode
设置播放器播放模式static final java.lang.String KEY_OPTION_MUTE
Boolean
开始播放的时候是否静音static final java.lang.String KEY_OPTION_STREAM_TYPE
Constants.LiveType
推拉流类型: 纯音频、纯视频或音视频static final java.lang.String KEY_OPTION_PREVIEW_DURATION
Integer
预览时长. 单位: 毫秒static final java.lang.String KEY_OPTION_DECODE_MODE
static final java.lang.String RECORDER_FORMAT_MP4
static final java.lang.String RECORDER_FORMAT_MOV
static final java.lang.String RECORDER_FORMAT_GIF
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
playType
- 播放类型 IQHVCPlayer.PLAYTYPE_LIVE
, IQHVCPlayer.PLAYTYPE_VOD
sn
- sn (需要走调度流程)channelId
- 业务idsign
- 鉴权签名options
- 播放器可选属性 IQHVCPlayerAdvanced.OptionKey
java.io.IOException
java.lang.IllegalArgumentException
java.lang.IllegalStateException
void setDataSource(int playType, java.lang.String[] rid, java.lang.String[] sn, 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
java.io.IOException
java.lang.IllegalArgumentException
java.lang.IllegalStateException
boolean snapshot(java.lang.String path)
path
- 存储路径int getDecoderMode()
LIVECLOUD_SOFT_DECODE_MODE
, LIVECLOUD_SMART_DECODE_MODE
void disableRender(boolean isDisableRender) throws java.lang.IllegalStateException
isDisableRender:
- java.lang.IllegalStateException
void seekTo(int millis, boolean accurate) throws java.lang.IllegalStateException
millis
- 目标时间点,单位:毫秒accurate
- 是否进行精准seek;accurate=false等同于void seekTo(long msec);java.lang.IllegalStateException
void setPlayBackRate(float rate) throws java.lang.IllegalStateException
rate
- 播放速度,取值1~n(建议n<=5)java.lang.IllegalStateException
void stop(int reason) throws java.lang.IllegalStateException
reason
- java.lang.IllegalStateException
int addToGroup(int group)
group
- void setOnPlayerNetStatsListener(IQHVCPlayerAdvanced.OnPlayerNetStatsListener listener)
listener
- void setOnAudioPCMListener(IQHVCPlayerAdvanced.OnAudioPCMListener listener)
listener
- int startRecorder(java.lang.String filePath, java.lang.String fmt, com.qihoo.livecloud.play.RecordConfig config, IQHVCPlayerAdvanced.OnRecordListener listener)
注意:不支持暂停时录制
录制mp4: fmt使用 IQHVCPlayerAdvanced.RECORDER_FORMAT_MP4
, Config使用VideoRecordConfig
录制gif: fmt使用 IQHVCPlayerAdvanced.RECORDER_FORMAT_GIF
, Config使用GifRecordConfig
filePath
- 录像存储路径(确保有读写权限)fmt
- 存储格式 IQHVCPlayerAdvanced.RecorderFormat
config
- 配置listener
- callbackint stopRecorder()
void switchResolution(int index, IQHVCPlayerAdvanced.QHVCSwitchResolutionListener listener)
index
- 数据源索引,#setDataSource(String[] source, int index, int playType)
设置的source的索引listener
- 状态回调int switchResolutionStop(java.lang.String reason)
reason
- 取消切换原因int setResolutionAdapt(boolean isAdapt, IQHVCPlayerAdvanced.QHVCSwitchResolutionListener listener)
isAdapt
- 是否根据网络状况自动切换分辨率listener
- 状态回调boolean isSystemMediaPlayer()
int getPropertyRotate()