public interface IPlayer
限定符和类型 | 字段和说明 |
---|---|
static int |
completion
播放完成状态
|
static int |
error
出错状态
|
static int |
idle
空状态。
|
static int |
initalized
初始化了的状态,设置播放源之后的状态
|
static int |
paused
播放已暂停的状态
|
static int |
prepared
准备成功的状态
|
static int |
started
正在播放的状态
|
static int |
stopped
播放已停止的状态
|
static int |
unknow
未知状态
|
限定符和类型 | 方法和说明 |
---|---|
void |
addExtSubtitle(java.lang.String url)
添加外挂字幕
|
TrackInfo |
currentTrack(int type)
已过时。
|
TrackInfo |
currentTrack(TrackInfo.Type type)
根据type获取当前播放的流。
|
void |
enableHardwareDecoder(boolean enable)
是否启用硬解码
|
java.lang.String |
getCacheFilePath(java.lang.String URL)
根据url获取缓存的文件名。
|
java.lang.String |
getCacheFilePath(java.lang.String vid,
java.lang.String format,
java.lang.String definition,
int previewTime)
根据vid 获取缓存的文件名。
|
PlayerConfig |
getConfig()
获取播放器配置
|
long |
getDuration()
获取总时长。
|
MediaInfo |
getMediaInfo()
获取媒体信息。
|
IPlayer.MirrorMode |
getMirrorMode()
获取当前镜像模式。
|
java.lang.Object |
getOption(IPlayer.Option key)
获取播放器的选项参数
|
java.lang.String |
getPlayerName()
获取播放时使用的播放器名字
|
java.lang.String |
getPropertyString(IPlayer.PropertyKey key)
根据key获取相应的信息。
|
IPlayer.RotateMode |
getRotateMode()
获取画面旋转模式
|
IPlayer.ScaleMode |
getScaleMode()
获取画面缩放模式
|
float |
getSpeed()
获取倍数播放值。
|
int |
getVideoHeight()
获取视频高度
|
int |
getVideoRotation()
获取视频旋转角度
|
int |
getVideoWidth()
获取视频宽度
|
float |
getVolume()
获取音量。
|
boolean |
isAutoPlay()
是否自动播放。
|
boolean |
isLoop()
是否循环播放
|
boolean |
isMute()
Query whether the player is muted.
|
void |
pause()
暂停播放
|
void |
prepare()
准备。
|
void |
redraw()
刷新一帧画面。
|
void |
release()
释放。
|
void |
reload()
重新加载。
|
void |
reset()
重置。
|
void |
seekTo(long position)
跳转到。
|
void |
seekTo(long position,
IPlayer.SeekMode seekMode)
跳转到。
|
void |
selectExtSubtitle(int trackIndex,
boolean select)
选择外挂字幕
|
void |
selectTrack(int trackInfoIndex)
选择播放的流。
|
void |
selectTrack(int trackInfoIndex,
boolean accurate)
选择播放的流。
|
void |
sendCustomEvent(java.lang.String args)
发送用户自定义事件,将通过
IPlayer.OnReportEventListener 回调。 |
void |
setAutoPlay(boolean on)
设置自动播放。
|
void |
setCacheConfig(CacheConfig cacheConfig)
设置缓存配置
|
void |
setConfig(PlayerConfig config)
设置播放器配置。
|
void |
setDefaultBandWidth(int bandWidth)
设置多码率时默认播放的码率。
|
void |
setDisplay(android.view.SurfaceHolder holder)
设置播放的SurfaceHolder。
|
void |
setDrmCallback(DrmCallback callback)
设置drm的请求回调。
|
void |
setFastStart(boolean open)
设置快速播放。
|
void |
setIPResolveType(IPlayer.IPResolveType type)
设置网络ip解析类型
|
void |
setLoop(boolean on)
设置循环播放。
|
void |
setMaxAccurateSeekDelta(int delta)
设置精准seek的最大间隔。
|
void |
setMirrorMode(IPlayer.MirrorMode mirrorMode)
设置镜像模式
|
void |
setMute(boolean on)
设置静音
|
void |
setOnChooseTrackIndexListener(IPlayer.OnChooseTrackIndexListener l)
设置播放索引选择回调
|
void |
setOnCompletionListener(IPlayer.OnCompletionListener l)
设置播放完成通知.注意:循环播放不会发出此通知。
|
void |
setOnErrorListener(IPlayer.OnErrorListener l)
设置出错通知
|
void |
setOnInfoListener(IPlayer.OnInfoListener l)
设置信息监听
|
void |
setOnLoadingStatusListener(IPlayer.OnLoadingStatusListener l)
设置加载状态通知。
|
void |
setOnPreparedListener(IPlayer.OnPreparedListener l)
设置准备成功通知。
|
void |
setOnRenderingStartListener(IPlayer.OnRenderingStartListener l)
设置渲染开始通知。
|
void |
setOnReportEventListener(IPlayer.OnReportEventListener onReportEventListener)
设置上报事件参数监听
|
void |
setOnSeekCompleteListener(IPlayer.OnSeekCompleteListener l)
设置拖动完成通知
|
void |
setOnSeiDataListener(IPlayer.OnSeiDataListener l)
设置SEI数据的监听回调
|
void |
setOnSnapShotListener(IPlayer.OnSnapShotListener l)
截图结果监听
|
void |
setOnStateChangedListener(IPlayer.OnStateChangedListener l)
设置播放器状态变化通知
|
void |
setOnSubtitleDisplayListener(IPlayer.OnSubtitleDisplayListener l)
设置字幕显示通知
|
void |
setOnTrackChangedListener(IPlayer.OnTrackChangedListener l)
设置流变化通知
|
void |
setOnTrackReadyListener(IPlayer.OnTrackReadyListener l)
设置流准备完成通知
|
void |
setOnVideoRenderedListener(IPlayer.OnVideoRenderedListener l)
设置视频渲染回调
|
void |
setOnVideoSizeChangedListener(IPlayer.OnVideoSizeChangedListener l)
设置视频宽高变化通知
|
void |
setPreferPlayerName(java.lang.String name)
设置播放时选择的播放器名字。
|
void |
setRotateMode(IPlayer.RotateMode rotateMode)
设置画面旋转模式
|
void |
setScaleMode(IPlayer.ScaleMode scaleMode)
设置画面缩放模式
|
void |
setSpeed(float speed)
设置倍数播放。
|
void |
setStreamDelayTime(int index,
int time)
设置某路流相对于主时钟的延时时间,默认是0, 目前只支持外挂字幕
|
void |
setSurface(android.view.Surface surface)
设置播放的surface。
|
void |
setTraceId(java.lang.String traceId)
设置traceId 便于跟踪日志。
|
void |
setVideoBackgroundColor(int color)
设置视频的背景色
|
void |
setVolume(float gain)
设置音量(非系统音量),范围0.0~2.0,当音量大于1.0时,可能出现噪音,不推荐使用。
|
void |
snapshot()
截取当前画面.截图结果通过
IPlayer.OnSnapShotListener 回调。 |
void |
start()
开始播放。
|
void |
stop()
停止播放
|
void |
surfaceChanged()
surface画面变化。
|
static final int unknow
static final int idle
static final int initalized
static final int prepared
static final int started
static final int paused
static final int stopped
static final int completion
static final int error
void selectTrack(int trackInfoIndex)
IPlayer.OnTrackChangedListener
回调。
注意:自动切换码率与其他Track的选择是互斥的。选择其他Track之后,自动切换码率就失效,不起作用了。
trackInfoIndex
- 流信息。见TrackInfo.getIndex()
。
如果需要自动切换码率,则传递TrackInfo.AUTO_SELECT_INDEX
.void selectTrack(int trackInfoIndex, boolean accurate)
IPlayer.OnTrackChangedListener
回调。
注意:自动切换码率与其他Track的选择是互斥的。选择其他Track之后,自动切换码率就失效,不起作用了。
trackInfoIndex
- 流信息。见TrackInfo.getIndex()
。
如果需要自动切换码率,则传递TrackInfo.AUTO_SELECT_INDEX
.accurate
- 是否精准跳转。@Deprecated TrackInfo currentTrack(int type)
type
- 类型。见TrackInfo.Type
.ordinal()TrackInfo currentTrack(TrackInfo.Type type)
type
- 类型。见TrackInfo.Type
long getDuration()
MediaInfo getMediaInfo()
IPlayer.OnPreparedListener.onPrepared()
回调之后获取才能正确。MediaInfo
。int getVideoWidth()
int getVideoHeight()
int getVideoRotation()
void setCacheConfig(CacheConfig cacheConfig)
cacheConfig
- 缓存配置。见CacheConfig
。void setTraceId(java.lang.String traceId)
traceId
- traceIdvoid setVolume(float gain)
gain
- 范围[0,1]float getVolume()
void setMute(boolean on)
on
- true:静音。默认false。boolean isMute()
void setLoop(boolean on)
on
- true:开启循环播放。默认关闭。boolean isLoop()
void setAutoPlay(boolean on)
IPlayer.OnPreparedListener
回调。on
- true:是。默认否。boolean isAutoPlay()
void setSpeed(float speed)
speed
- 范围[0.5,2]float getSpeed()
void setMirrorMode(IPlayer.MirrorMode mirrorMode)
mirrorMode
- 镜像模式。 见IPlayer.MirrorMode
。IPlayer.MirrorMode getMirrorMode()
IPlayer.MirrorMode
。void setRotateMode(IPlayer.RotateMode rotateMode)
rotateMode
- 旋转模式。见IPlayer.RotateMode
IPlayer.RotateMode getRotateMode()
IPlayer.RotateMode
void setScaleMode(IPlayer.ScaleMode scaleMode)
scaleMode
- 缩放模式。默认IPlayer.ScaleMode.SCALE_TO_FILL
. 见IPlayer.ScaleMode
。IPlayer.ScaleMode getScaleMode()
IPlayer.ScaleMode.SCALE_TO_FILL
.void snapshot()
IPlayer.OnSnapShotListener
回调。void setSurface(android.view.Surface surface)
surface
- surface。void setDisplay(android.view.SurfaceHolder holder)
holder
- SurfaceHolder。void surfaceChanged()
void prepare()
IPlayer.OnPreparedListener
回调,或者失败IPlayer.OnErrorListener
void start()
void pause()
void stop()
void seekTo(long position)
position
- 位置。单位毫秒。void seekTo(long position, IPlayer.SeekMode seekMode)
position
- 位置。单位毫秒。seekMode
- seek模式。见IPlayer.SeekMode
。void setMaxAccurateSeekDelta(int delta)
delta
- 间隔时间,单位毫秒void reset()
void release()
void redraw()
void setOnPreparedListener(IPlayer.OnPreparedListener l)
IPlayer.OnErrorListener
。l
- 准备成功通知void setOnRenderingStartListener(IPlayer.OnRenderingStartListener l)
l
- 渲染开始通知。void setOnStateChangedListener(IPlayer.OnStateChangedListener l)
l
- 播放器状态变化通知void setOnCompletionListener(IPlayer.OnCompletionListener l)
l
- 播放完成通知.void setOnLoadingStatusListener(IPlayer.OnLoadingStatusListener l)
l
- 加载状态通知void setOnErrorListener(IPlayer.OnErrorListener l)
l
- 出错通知void setOnChooseTrackIndexListener(IPlayer.OnChooseTrackIndexListener l)
l
- 回调。见IPlayer.OnChooseTrackIndexListenervoid setOnTrackReadyListener(IPlayer.OnTrackReadyListener l)
l
- 流准备完成通知void setOnInfoListener(IPlayer.OnInfoListener l)
l
- 信息监听void setOnVideoSizeChangedListener(IPlayer.OnVideoSizeChangedListener l)
l
- 视频宽高变化通知void setOnSeekCompleteListener(IPlayer.OnSeekCompleteListener l)
l
- 拖动完成通知void setOnTrackChangedListener(IPlayer.OnTrackChangedListener l)
l
- 流变化通知void setOnSeiDataListener(IPlayer.OnSeiDataListener l)
l
- SEI数据的监听回调void addExtSubtitle(java.lang.String url)
url
- 字幕地址void selectExtSubtitle(int trackIndex, boolean select)
trackIndex
- 字幕索引select
- true:选择,false:关闭void setStreamDelayTime(int index, int time)
index
- 流的索引time
- 延时,单位毫秒void setOnSubtitleDisplayListener(IPlayer.OnSubtitleDisplayListener l)
l
- 字幕显示通知void setConfig(PlayerConfig config)
config
- 播放器配置。见PlayerConfig
PlayerConfig getConfig()
void setOnSnapShotListener(IPlayer.OnSnapShotListener l)
l
- 截图结果事件void enableHardwareDecoder(boolean enable)
enable
- true:启用。false:关闭。java.lang.String getCacheFilePath(java.lang.String URL)
URL
- URLjava.lang.String getCacheFilePath(java.lang.String vid, java.lang.String format, java.lang.String definition, int previewTime)
vid
- 视频idformat
- 视频格式definition
- 视频清晰度previewTime
- 试看时长void reload()
java.lang.String getPropertyString(IPlayer.PropertyKey key)
key
- 关键字枚举值void setDefaultBandWidth(int bandWidth)
bandWidth
- 播放的码率。java.lang.Object getOption(IPlayer.Option key)
key
- 参数值。见IPlayer.Optionvoid setOnVideoRenderedListener(IPlayer.OnVideoRenderedListener l)
l
- 视频渲染回调。见IPlayer.OnVideoRenderedListenervoid setVideoBackgroundColor(int color)
color
- ARGBvoid setIPResolveType(IPlayer.IPResolveType type)
type
- 见 IPlayer.IPResolveType
void setFastStart(boolean open)
open
- void setOnReportEventListener(IPlayer.OnReportEventListener onReportEventListener)
onReportEventListener
- 上报事件参数void setDrmCallback(DrmCallback callback)
callback
- 请求回调void sendCustomEvent(java.lang.String args)
IPlayer.OnReportEventListener
回调。用户自定义事件 e = 5001。args为传入的参数。args
- void setPreferPlayerName(java.lang.String name)
name
- java.lang.String getPlayerName()