P
- subClasspublic interface IPlayer<P extends IPlayer> extends IPlayerBase
Player
,
PlayerBinding
Modifier and Type | Interface and Description |
---|---|
static interface |
IPlayer.Listener |
STATE_BUFFERING, STATE_ENDED, STATE_GOT_SOURCE, STATE_IDLE, STATE_READY
Modifier and Type | Method and Description |
---|---|
void |
addListener(IPlayer.Listener listener) |
int |
calibrateCurrentPositionUnitIndex(long position)
generally not use(player inside Will automatically maintain current [position unit] index
calibrate)
|
void |
clearAB()
Clear A-B all tag Tips: setClearAB(false) also don't manual invoke clearAB(), will save
all tag.
|
boolean |
fastForwardRewind(long ms) |
AudioMgrHelper |
getAudioMgrHelper() |
java.lang.String |
getCurrentMediaId()
Returns current media id (custom or default[string representation of this play uri])
|
int |
getCurrentPositionUnitIndex() |
IMediaQueue |
getMediaQueue()
get a media queue, if not
setMediaQueue(IMediaQueue) , it return default media queue |
P |
init(IMediaPlayer mediaPlayer)
Init internal media player
|
IMediaPlayer |
internalPlayer()
Get a internal mediaPlayer
|
boolean |
play() |
boolean |
play(IMediaItem mediaItem) |
boolean |
play(android.net.Uri uri) |
boolean |
playMediaId(java.lang.String mediaId) |
boolean |
prepare(IMediaItem mediaItem) |
boolean |
prepare(android.net.Uri uri) |
boolean |
prepareMediaId(java.lang.String mediaId) |
void |
removeListener(IPlayer.Listener listener) |
boolean |
seekTo(long ms)
internal call
seekTo(long, int) Max processing level |
boolean |
seekTo(long ms,
int processingLevel)
Support custom processing level of seekTo
|
void |
seekToPending(long ms)
set a pending seekTo in before start() dispose
|
long |
seekToPositionUnitIndex(int posUnitIndex)
Seeks to specified PositionUnitIndex
|
long |
seekToProgress(int progress,
int progressMax)
Seeks to specified progress
|
P |
setAB(long startPos,
long endPos)
Set A-B start position and end position with reset ab all tag
|
P |
setAB(long startPos,
long endPos,
int loopMode,
int loopInterval)
Set A-B internal call
setAB(long, long) , setABLoop(int, int)
*param loopMode,loopInterval can use C.PARAM_ORIGINAL keeping the original values
*param loopMode,loopInterval can use C.PARAM_UNSET /C.PARAM_RESET
unset/reset values |
P |
setABLoop(int loopMode,
int loopInterval)
Set A-B loop *param loopMode,loopInterval can use
C.PARAM_ORIGINAL keeping the
original values *param loopMode,loopInterval can use C.PARAM_UNSET /C.PARAM_RESET unset/reset values |
P |
setClearAB(boolean autoClear)
Set auto clear A-B all tag(when A-B finish) WARNING: If for special reasons cause A-B is
not finish, will don't auto clear.
|
void |
setCurrentPositionUnitIndex(int posUnitIndex)
generally not use(player inside Will automatically maintain current [position unit] index)
|
P |
setEnabledAudioFocusManage(boolean enabled) |
P |
setEnabledPositionUnitLoop(boolean enabled,
int loopMode,
int loopInterval)
Set the enabled,loopMode,loopInterval of this position unit loop, with reset position unit
looped count tag *param loopMode,loopInterval can use
C.PARAM_ORIGINAL keeping
the original values *param loopMode,loopInterval can use C.PARAM_UNSET /C.PARAM_RESET unset/reset values |
P |
setEnabledWifiLock(boolean enabled)
Set enabled wifi lock, to hold a Wifi lock, which prevents the player from going to sleep while
the media is playing.
|
void |
setMediaQueue(IMediaQueue mediaQueue)
set a new media queue for player
|
P |
setPositionUnitList(IPositionUnitList posUnitList)
WARNING: must ensure
IPositionUnitList.getMediaId() equals getCurrentMediaId()
can work normally |
P |
setPositionUnitLoopIndexList(java.util.ArrayList<java.lang.Integer> posUnitLoopIndexList)
WARNING: media source change with specify to loop of [position unit] index list will be reset
|
P |
setUpdatePlayProgressDelayMs(long updatePlayProgressDelayMs)
Sets the updatePlayProgress delay.
|
P |
shouldAutoPlayWhenSeekComplete(boolean shouldAutoPlayWhenSeekComplete)
Generally used in front of the seekTo...(.) to ensure that seek complete to auto play
immediately after
|
void |
shutdown()
Shut down player (release all resources)
|
clearVideo, getCurrentPosition, getDuration, getPlaybackSpeed, getPlaybackState, getVolume, isPlayable, isPlaying, pause, release, reset, setPlaybackSpeed, setVideo, setVideo, setVolume, start, stop
IMediaPlayer internalPlayer()
Player run core by internal maintaining mediaPlayer. In general is not recommended unless you want to operate some special functions. * note that internalPlayer and Player * at the same time operating possible when the incompatibilities
P init(IMediaPlayer mediaPlayer)
boolean prepare(android.net.Uri uri)
boolean prepare(IMediaItem mediaItem)
boolean prepareMediaId(java.lang.String mediaId)
boolean play()
boolean play(android.net.Uri uri)
boolean play(IMediaItem mediaItem)
boolean playMediaId(java.lang.String mediaId)
void shutdown()
boolean seekTo(long ms, int processingLevel)
processingLevel
- The greater the level with processing the more thingsIPlayer.Listener.onPlayProgress(long, long)
calibrateCurrentPositionUnitIndex(long)
boolean seekTo(long ms)
seekTo(long, int)
Max processing levelseekTo
in interface IPlayerBase
boolean fastForwardRewind(long ms)
ms
- fastForwardMs/RewindMs P shouldAutoPlayWhenSeekComplete(boolean shouldAutoPlayWhenSeekComplete)
*IPlayerBase.start()
method with shouldAutoPlayWhenSeekComplete(true) *IPlayerBase.pause()
with shouldAutoPlayWhenSeekComplete(false)
void seekToPending(long ms)
long seekToProgress(int progress, int progressMax)
progress
- current progressprogressMax
- the upper limit of this progress range.P setUpdatePlayProgressDelayMs(long updatePlayProgressDelayMs)
updatePlayProgressDelayMs
- value>=0?value:default[1000 - (position % 1000)]java.lang.String getCurrentMediaId()
P setEnabledWifiLock(boolean enabled)
<!--Using a WifiLock For KMedia Player--> <uses-permission android:name="android.permission.WAKE_LOCK"/>
P setEnabledAudioFocusManage(boolean enabled)
AudioMgrHelper getAudioMgrHelper()
P setPositionUnitList(IPositionUnitList posUnitList)
IPositionUnitList.getMediaId()
equals getCurrentMediaId()
can work normallyposUnitList
- [Position Unit] Listint getCurrentPositionUnitIndex()
void setCurrentPositionUnitIndex(int posUnitIndex)
If you want to calibrate,can call calibrateCurrentPositionUnitIndex(long)
long seekToPositionUnitIndex(int posUnitIndex)
int calibrateCurrentPositionUnitIndex(long position)
position
- currentPosition or -1[position < 0 || position > getDuration()] (auto
getCurrentPosition())P setEnabledPositionUnitLoop(boolean enabled, int loopMode, int loopInterval)
C.PARAM_ORIGINAL
keeping
the original values *param loopMode,loopInterval can use C.PARAM_UNSET
/C.PARAM_RESET
unset/reset valuesenabled
- True [position unit] loop is enabled, false otherwise.loopMode
- [Position unit] loop mode loopInterval
- [Position unit] loop intervalsetUpdatePlayProgressDelayMs(long)
P setPositionUnitLoopIndexList(java.util.ArrayList<java.lang.Integer> posUnitLoopIndexList)
posUnitLoopIndexList
- specify to loop of [position unit] index listP setAB(long startPos, long endPos)
P setABLoop(int loopMode, int loopInterval)
C.PARAM_ORIGINAL
keeping the
original values *param loopMode,loopInterval can use C.PARAM_UNSET
/C.PARAM_RESET
unset/reset valuesP setAB(long startPos, long endPos, int loopMode, int loopInterval)
setAB(long, long)
, setABLoop(int, int)
*param loopMode,loopInterval can use C.PARAM_ORIGINAL
keeping the original values
*param loopMode,loopInterval can use C.PARAM_UNSET
/C.PARAM_RESET
unset/reset valuesP setClearAB(boolean autoClear)
clearAB()
void clearAB()
setClearAB(boolean)
void setMediaQueue(IMediaQueue mediaQueue)
mediaQueue
- IMediaQueue
IMediaQueue getMediaQueue()
setMediaQueue(IMediaQueue)
, it return default media queueIMediaQueue
void addListener(IPlayer.Listener listener)
listener
- IPlayer.Listener
PlayerListener
( ) IPlayer.Listener
void removeListener(IPlayer.Listener listener)
listener
- param==null -> clear()