public class QHVCPlayer extends java.lang.Object implements IQHVCPlayerAdvanced, com.qihoo.livecloud.play.callback.PlayerCallback
IQHVCPlayerAdvanced.DecodeMode, IQHVCPlayerAdvanced.OnAudioPCMListener, IQHVCPlayerAdvanced.OnPlayerNetStatsListener, IQHVCPlayerAdvanced.OnRecordListener, IQHVCPlayerAdvanced.OnUserDefinedDataListener, IQHVCPlayerAdvanced.OptionKey, IQHVCPlayerAdvanced.PlayMode, IQHVCPlayerAdvanced.QHVCSwitchResolutionError, IQHVCPlayerAdvanced.QHVCSwitchResolutionListener, IQHVCPlayerAdvanced.RecorderFormat, IQHVCPlayerAdvanced.RenderMode, 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
限定符和类型 | 字段和说明 |
---|---|
static java.lang.String |
SESSION_ID_SUFFIX_HEVC_FAILED |
static java.lang.String |
SESSION_ID_SUFFIX_SWITCH |
KEY_OPTION_DECODE_MODE, 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_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_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
DEVICE_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_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_UPDATE, JPLAYER_MSG_STOPBUFFERING, JPLAYER_MSG_SUBSCRIBE_FAILED, JPLAYER_MSG_VIDEO_IS_READY, JPLAYER_MSG_VIDEO_RESOLUTION, JPLAYER_MSG_VIDEO_SIZE_CHANGE, JPLAYER_MSG_VIDEOCACHE
构造器和说明 |
---|
QHVCPlayer(Context context) |
限定符和类型 | 方法和说明 |
---|---|
void |
addToGroup(int group)
多个播放器设为一组(数据流同步场景)
|
void |
disableRender(boolean isRender)
设置播放器是否渲染图像
|
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 |
getRenderMode()
获取渲染模式
|
static java.lang.String |
getVersion()
获取版本号
|
float |
getVolume()
获取播放器当前音量
|
boolean |
isMute()
是否是静音状态
|
boolean |
isPaused()
视频是否处于暂停状态
|
boolean |
isPlaying()
是否正在播放
|
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 |
prepareAsync()
准备播放,异步方法
注: 调用此方法开始走调度流程。 |
void |
release()
播放器资源回收
|
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 |
setMute(boolean mute)
设置是否静音播放
|
void |
setOnAudioPCMListener(IQHVCPlayerAdvanced.OnAudioPCMListener listener)
设置音频数据回调(只支持直播)
|
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.
|
void |
setPlayBackRate(float rate)
倍速播放
|
void |
setPlayerControlConfig(com.qihoo.livecloud.play.PlayerControl playerControl,
int playerId,
java.lang.String sid) |
void |
setResolutionAdapt(boolean isAdapt,
IQHVCPlayerAdvanced.QHVCSwitchResolutionListener listener)
自动切换分辨率
|
void |
setScreenOnWhilePlaying(boolean screenOn)
设置播放时是否屏幕常亮
|
void |
setSurface(java.lang.String from,
SurfaceTexture texture)
为播放器设置显示SurfaceTexture
|
void |
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 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 |
void |
stop() |
void |
stop(int reason)
停止播放
|
int |
stopRecorder()
结束录制(异步接口)
|
void |
switchResolution(int index,
IQHVCPlayerAdvanced.QHVCSwitchResolutionListener listener)
切换分辨率
此接口是异步的,从切换分辨率到切换完成 有5秒延迟 |
void |
switchResolutionStop(java.lang.String reason)
取消分辨率切换
|
void |
test_hard_decoder_error() |
public static final java.lang.String SESSION_ID_SUFFIX_SWITCH
public static final java.lang.String SESSION_ID_SUFFIX_HEVC_FAILED
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
IQHVCPlayerAdvanced
setDataSource
在接口中 IQHVCPlayerAdvanced
playType
- 播放类型 IQHVCPlayer.PLAYTYPE_LIVE
, IQHVCPlayer.PLAYTYPE_VOD
sn
- sn (需要走调度流程)channelId
- 业务idsign
- 鉴权签名options
- 播放器可选属性 IQHVCPlayerAdvanced.OptionKey
java.io.IOException
java.lang.IllegalArgumentException
java.lang.IllegalStateException
public 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
IQHVCPlayer
setDataSource
在接口中 IQHVCPlayer
playType
- 播放类型 IQHVCPlayer.PLAYTYPE_LIVE
, IQHVCPlayer.PLAYTYPE_VOD
url
- urlchannelId
- 业务idoptions
- 播放器可选属性 IQHVCPlayerAdvanced.OptionKey
java.io.IOException
java.lang.IllegalArgumentException
java.lang.IllegalStateException
public void setDataSource(int playType, java.lang.String url, java.lang.String channelId) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException
IQHVCPlayer
setDataSource
在接口中 IQHVCPlayer
playType
- 播放类型 IQHVCPlayer.PLAYTYPE_LIVE
, IQHVCPlayer.PLAYTYPE_VOD
url
- 视频源地址channelId
- 业务idjava.io.IOException
java.lang.IllegalArgumentException
java.lang.IllegalStateException
public 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
在接口中 IQHVCPlayerAdvanced
java.io.IOException
java.lang.IllegalArgumentException
java.lang.IllegalStateException
public boolean snapshot(java.lang.String path)
IQHVCPlayerAdvanced
snapshot
在接口中 IQHVCPlayerAdvanced
path
- 存储路径public int getDecoderMode()
IQHVCPlayerAdvanced
public void disableRender(boolean isRender) throws java.lang.IllegalStateException
IQHVCPlayerAdvanced
disableRender
在接口中 IQHVCPlayerAdvanced
java.lang.IllegalStateException
public void start() throws java.lang.IllegalStateException
start
在接口中 IQHVCPlayer
java.lang.IllegalStateException
public void stop(int reason) throws java.lang.IllegalStateException
IQHVCPlayerAdvanced
stop
在接口中 IQHVCPlayerAdvanced
reason
- java.lang.IllegalStateException
public void addToGroup(int group)
IQHVCPlayerAdvanced
addToGroup
在接口中 IQHVCPlayerAdvanced
public void setDisplay(com.qihoo.livecloud.play.callback.ILiveCloudDisplay display)
IQHVCPlayer
setDisplay
在接口中 IQHVCPlayer
public void setOnPlayerNetStatsListener(IQHVCPlayerAdvanced.OnPlayerNetStatsListener listener)
IQHVCPlayerAdvanced
public void prepareAsync() throws java.lang.IllegalStateException
IQHVCPlayer
成功: 回调OnPreparedListener的onPrepared()接口 - 调度成功,应用层可调用start(0)开始播放
失败: 回调onError(ERROR_PREPARE_FAILED, ERROR_EXTRA_PREPARE_DISPATCH_FAILED)
prepareAsync
在接口中 IQHVCPlayer
java.lang.IllegalStateException
public boolean isPlaying()
IQHVCPlayer
isPlaying
在接口中 IQHVCPlayer
public void pause() throws java.lang.IllegalStateException
IQHVCPlayer
pause
在接口中 IQHVCPlayer
java.lang.IllegalStateException
public boolean isPaused()
IQHVCPlayer
isPaused
在接口中 IQHVCPlayer
public void seekTo(int millis) throws java.lang.IllegalStateException
IQHVCPlayer
seekTo
在接口中 IQHVCPlayer
millis
- 要拖动到的目标时间java.lang.IllegalStateException
public void seekTo(int millis, boolean accurate) throws java.lang.IllegalStateException
IQHVCPlayerAdvanced
seekTo
在接口中 IQHVCPlayerAdvanced
millis
- 目标时间点,单位:毫秒accurate
- 是否进行精准seek;accurate=false等同于void seekTo(long msec);java.lang.IllegalStateException
public void setPlayBackRate(float rate) throws java.lang.IllegalStateException
IQHVCPlayerAdvanced
setPlayBackRate
在接口中 IQHVCPlayerAdvanced
rate
- 播放速度,取值1~n(建议n<=5)java.lang.IllegalStateException
public int getCurrentPosition()
IQHVCPlayer
getCurrentPosition
在接口中 IQHVCPlayer
public int getDuration()
IQHVCPlayer
getDuration
在接口中 IQHVCPlayer
public void stop() throws java.lang.IllegalStateException
stop
在接口中 IQHVCPlayer
java.lang.IllegalStateException
public void release()
IQHVCPlayer
release
在接口中 IQHVCPlayer
public void setMute(boolean mute) throws java.lang.IllegalStateException
IQHVCPlayer
setMute
在接口中 IQHVCPlayer
mute
- java.lang.IllegalStateException
public void setOnAudioPCMListener(IQHVCPlayerAdvanced.OnAudioPCMListener listener)
IQHVCPlayerAdvanced
setOnAudioPCMListener
在接口中 IQHVCPlayerAdvanced
public void setOnBufferingUpdateListener(IQHVCPlayer.OnBufferingUpdateListener listener)
IQHVCPlayer
setOnBufferingUpdateListener
在接口中 IQHVCPlayer
public void setOnBufferingEventListener(IQHVCPlayer.OnBufferingEventListener listener)
setOnBufferingEventListener
在接口中 IQHVCPlayer
public boolean isMute()
IQHVCPlayer
isMute
在接口中 IQHVCPlayer
public void setScreenOnWhilePlaying(boolean screenOn)
IQHVCPlayer
setScreenOnWhilePlaying
在接口中 IQHVCPlayer
screenOn
- public int getPlayerId()
getPlayerId
在接口中 IQHVCPlayer
public void setOnPreparedListener(IQHVCPlayer.OnPreparedListener listener)
IQHVCPlayer
setOnPreparedListener
在接口中 IQHVCPlayer
public void setOnSeekCompleteListener(IQHVCPlayer.OnSeekCompleteListener listener)
IQHVCPlayer
setOnSeekCompleteListener
在接口中 IQHVCPlayer
public void setOnErrorListener(IQHVCPlayer.OnErrorListener listener)
IQHVCPlayer
setOnErrorListener
在接口中 IQHVCPlayer
public void setOnCompletionListener(IQHVCPlayer.OnCompletionListener listener)
IQHVCPlayer
setOnCompletionListener
在接口中 IQHVCPlayer
public void setOnInfoListener(IQHVCPlayer.OnInfoListener listener)
IQHVCPlayer
setOnInfoListener
在接口中 IQHVCPlayer
public void setOnVideoSizeChangedListener(IQHVCPlayer.OnVideoSizeChangedListener listener)
IQHVCPlayer
setOnVideoSizeChangedListener
在接口中 IQHVCPlayer
public void onPlayerMsg(int handle, int command, long para1, long para2, int user)
onPlayerMsg
在接口中 com.qihoo.livecloud.play.callback.PlayerCallback
handle
- 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
在接口中 com.qihoo.livecloud.play.callback.PlayerCallback
handle
- vbps
- 视频码率abps
- 音频码率vfps
- 视频帧率afps
- 音频帧率fps
- bitrate
- param1
- param2
- user
- public void onUpdateGPPlayState(int handle, long nowTime, long videoBufferTime, long audioBufferTime)
onUpdateGPPlayState
在接口中 com.qihoo.livecloud.play.callback.PlayerCallback
handle
- nowTime
- videoBufferTime
- audioBufferTime
- public void onMessage(int handle, int id, int type, int flags, int size, long data, long time)
onMessage
在接口中 com.qihoo.livecloud.play.callback.PlayerCallback
handle
- palyerIDid
- 音频流的idtype
- flags
- size
- 数据长度data
- 预留以前是想返回data地址的,后来用共享内存,所以预留了time
- 时间戳public void onUserDefineData(int handle, byte[] data, int length)
onUserDefineData
在接口中 com.qihoo.livecloud.play.callback.PlayerCallback
handle
- data
- length
- public void setOnProgressChangeListener(IQHVCPlayer.onProgressChangeListener listener)
setOnProgressChangeListener
在接口中 IQHVCPlayer
public void setVolume(float volume) throws java.lang.IllegalStateException
IQHVCPlayer
setVolume
在接口中 IQHVCPlayer
volume
- 音量范围 0.0~1.0(1.0最大)java.lang.IllegalStateException
public float getVolume() throws java.lang.IllegalStateException
IQHVCPlayer
getVolume
在接口中 IQHVCPlayer
java.lang.IllegalStateException
public java.util.Map<java.lang.String,java.lang.Object> getMediaInformation()
IQHVCPlayer
getMediaInformation
在接口中 IQHVCPlayer
public int getRenderMode()
IQHVCPlayer
getRenderMode
在接口中 IQHVCPlayer
IQHVCPlayerAdvanced.RenderMode
public void setSurface(java.lang.String from, SurfaceTexture texture)
IQHVCPlayer
setSurface
在接口中 IQHVCPlayer
texture
- SurfaceTexture
播放器渲染的texturepublic void setSurfaceViewport(int x, int y, int width, int height)
IQHVCPlayer
setSurfaceViewport
在接口中 IQHVCPlayer
x
- x位置y
- y位置width
- 宽度height
- 高度public int startRecorder(java.lang.String filePath, java.lang.String fmt, 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
在接口中 IQHVCPlayerAdvanced
filePath
- 录像存储路径(确保有读写权限)fmt
- 存储格式 IQHVCPlayerAdvanced.RecorderFormat
config
- 配置listener
- callbackpublic int stopRecorder()
IQHVCPlayerAdvanced
stopRecorder
在接口中 IQHVCPlayerAdvanced
public void setPlayerControlConfig(com.qihoo.livecloud.play.PlayerControl playerControl, int playerId, java.lang.String sid)
public void switchResolution(int index, IQHVCPlayerAdvanced.QHVCSwitchResolutionListener listener)
IQHVCPlayerAdvanced
switchResolution
在接口中 IQHVCPlayerAdvanced
index
- 数据源索引,#setDataSource(String[] source, int index, int playType)
设置的source的索引listener
- 状态回调public void switchResolutionStop(java.lang.String reason)
IQHVCPlayerAdvanced
switchResolutionStop
在接口中 IQHVCPlayerAdvanced
reason
- 取消切换原因public void setResolutionAdapt(boolean isAdapt, IQHVCPlayerAdvanced.QHVCSwitchResolutionListener listener)
IQHVCPlayerAdvanced
setResolutionAdapt
在接口中 IQHVCPlayerAdvanced
isAdapt
- 是否根据网络状况自动切换分辨率listener
- 状态回调public void test_hard_decoder_error()