接口 Player
-
- 所有已知子接口:
TsPlayer
- 所有已知实现类:
BasePlayer
public interface Player播放器功能接口定义,定义内外部需统一实现的功能接口- 作者:
- 💎 Li Junchao
-
-
嵌套类概要
嵌套类 修饰符和类型 接口 说明 static interfacePlayer.PlayerListener播放器事件监听器static classPlayer.PositionInfo播放进度信息static interfacePlayer.RepeatModestatic interfacePlayer.SeekTypestatic interfacePlayer.Statestatic interfacePlayer.VideoSurfacevideo渲染Surface相关接口
-
字段概要
字段 修饰符和类型 字段 说明 static intCLOSEST_SYNCseek点最近关键帧static intEXACT精准seekstatic intNEXT_SYNCseek点后一个关键帧static intPREVIOUS_SYNCseek点前一个关键帧static intREPEAT_MODE_OFF无重复static intREPEAT_MODE_ONE循环播放static intSTATE_BUFFERING缓冲状态static intSTATE_ENDED播放结束的状态static intSTATE_IDLE未做任何播放static intSTATE_PAUSE暂停状态static intSTATE_PLAYING正在播放static intSTATE_PREPAREDplayer preparedstatic intSTATE_READYready所示可以play的状态static intSTATE_SEEKING正在seek
-
方法概要
所有方法 实例方法 抽象方法 修饰符和类型 方法 说明 voidaddListener(Player.PlayerListener listener)设置 播放器 listenerlonggetBufferedPosition()放回当前缓冲位置longgetCurrentPosition()返回当前的播放位置longgetDuration()获取媒体stream总时长,microseconds 微秒为单位booleangetPlayWhenReady()返回setPlayWhenReady(boolean)设置的值@com.ts.lib.player.Player.RepeatMode intgetRepeatMode()返回播放的Player.RepeatModefloatgetSpeed()返回setSpeed(float)设置的变速倍数 ⏩floatgetVolume()返回setVolume(float)设置的volume 🔊booleanisPlaying()是否正在播放voidpause()暂停播放 ⏸voidplay()开始播放 ▶ ,此方法等同于setPlayWhenReady(true)voidprepare()播放器 ⏳ 准备播放,这是一个 async 操作voidrelease()销毁播放器,释放所有资源,此方法调用后,player将不能再使用voidremoveListener(Player.PlayerListener listener)清除 播放器 listenervoidseekTo(long positionMs)seek到当前播放媒体文件指定毫秒时间的位置voidsetDataSource(MediaDataSource dataSource)设置要播放的媒体数据源 🎞voidsetPlayWhenReady(boolean playWhenReady)设置当播放状态为 在 prepared 之后,是否开始播放 ⏯ 1.voidsetRepeatMode(@com.ts.lib.player.Player.RepeatMode int repeatMode)设置循环播放voidsetSeekType(int type)设置seek类型,default 精准seek ,相当于参数:EXACTvoidsetSpeed(float speed)倍速播放 ⏩voidsetVolume(float vol)设置播放音量 🔊voidstop()停止 ⏹ ,建议使用pause()
-
-
-
字段详细资料
-
STATE_IDLE
static final int STATE_IDLE
未做任何播放- 另请参阅:
- 常量字段值
-
STATE_PREPARED
static final int STATE_PREPARED
player prepared- 另请参阅:
- 常量字段值
-
STATE_BUFFERING
static final int STATE_BUFFERING
缓冲状态- 另请参阅:
- 常量字段值
-
STATE_READY
static final int STATE_READY
ready所示可以play的状态- 另请参阅:
- 常量字段值
-
STATE_PLAYING
static final int STATE_PLAYING
正在播放- 另请参阅:
- 常量字段值
-
STATE_SEEKING
static final int STATE_SEEKING
正在seek- 另请参阅:
- 常量字段值
-
STATE_PAUSE
static final int STATE_PAUSE
暂停状态- 另请参阅:
- 常量字段值
-
STATE_ENDED
static final int STATE_ENDED
播放结束的状态- 另请参阅:
- 常量字段值
-
REPEAT_MODE_OFF
static final int REPEAT_MODE_OFF
无重复- 另请参阅:
- 常量字段值
-
REPEAT_MODE_ONE
static final int REPEAT_MODE_ONE
循环播放- 另请参阅:
- 常量字段值
-
CLOSEST_SYNC
static final int CLOSEST_SYNC
seek点最近关键帧- 另请参阅:
- 常量字段值
-
EXACT
static final int EXACT
精准seek- 另请参阅:
- 常量字段值
-
PREVIOUS_SYNC
static final int PREVIOUS_SYNC
seek点前一个关键帧- 另请参阅:
- 常量字段值
-
NEXT_SYNC
static final int NEXT_SYNC
seek点后一个关键帧- 另请参阅:
- 常量字段值
-
-
方法详细资料
-
addListener
void addListener(Player.PlayerListener listener)
设置 播放器 listener- 参数:
listener-Player.PlayerListener
-
removeListener
void removeListener(Player.PlayerListener listener)
清除 播放器 listener- 参数:
listener-Player.PlayerListener
-
setDataSource
void setDataSource(@NonNull MediaDataSource dataSource)
设置要播放的媒体数据源 🎞- 参数:
dataSource-MediaDataSource
-
prepare
void prepare()
播放器 ⏳ 准备播放,这是一个 async 操作
-
play
void play()
开始播放 ▶ ,此方法等同于setPlayWhenReady(true)
-
setPlayWhenReady
void setPlayWhenReady(boolean playWhenReady)
设置当播放状态为 在 prepared 之后,是否开始播放 ⏯- 参数:
playWhenReady- true or false
-
getPlayWhenReady
boolean getPlayWhenReady()
返回setPlayWhenReady(boolean)设置的值- 返回:
- boolean
-
isPlaying
boolean isPlaying()
是否正在播放- 返回:
- boolean - 播放器是否正在播放
-
pause
void pause()
暂停播放 ⏸
-
stop
void stop()
停止 ⏹ ,建议使用pause()
-
getCurrentPosition
long getCurrentPosition()
返回当前的播放位置- 返回:
- long - 当前在播放timeline上的位置, ms
-
getBufferedPosition
long getBufferedPosition()
放回当前缓冲位置- 返回:
- long - 当前缓冲到的位置
-
getDuration
long getDuration()
获取媒体stream总时长,microseconds 微秒为单位- 返回:
- long - 播放列表总时长,microseconds - μs
-
setRepeatMode
void setRepeatMode(@RepeatMode @com.ts.lib.player.Player.RepeatMode int repeatMode)
设置循环播放- 参数:
repeatMode-Player.RepeatMode
-
getRepeatMode
@RepeatMode @com.ts.lib.player.Player.RepeatMode int getRepeatMode()
返回播放的Player.RepeatMode- 返回:
- 当前循环mode
-
setSeekType
void setSeekType(@SeekType int type)
设置seek类型,default 精准seek ,相当于参数:EXACT- 参数:
type-Player.SeekType
-
setVolume
void setVolume(@FloatRange(from=0.0,to=1.0) float vol)
设置播放音量 🔊- 参数:
vol- 音量
-
getVolume
@FloatRange(from=0.0, to=1.0) float getVolume()
返回setVolume(float)设置的volume 🔊- 返回:
- float
-
setSpeed
void setSpeed(@FloatRange(from=0.20000000298023224,to=2.0) float speed)
倍速播放 ⏩- 参数:
speed- 变速倍数
-
getSpeed
float getSpeed()
返回setSpeed(float)设置的变速倍数 ⏩- 返回:
- float
-
release
void release()
销毁播放器,释放所有资源,此方法调用后,player将不能再使用
-
-