public class AndroidMediaPlayer extends AMediaPlayer implements android.media.MediaPlayer.OnPreparedListener, android.media.MediaPlayer.OnCompletionListener, android.media.MediaPlayer.OnBufferingUpdateListener, android.media.MediaPlayer.OnSeekCompleteListener, android.media.MediaPlayer.OnVideoSizeChangedListener, android.media.MediaPlayer.OnErrorListener, android.media.MediaPlayer.OnInfoListener, android.view.SurfaceHolder.Callback
IMediaPlayer.OnBufferingUpdateListener, IMediaPlayer.OnCompletionListener, IMediaPlayer.OnErrorListener, IMediaPlayer.OnInfoListener, IMediaPlayer.OnPreparedListener, IMediaPlayer.OnSeekCompleteListener, IMediaPlayer.OnVideoSizeChangedListener
IPlayerBase.Listener
Modifier and Type | Field and Description |
---|---|
private float |
audioVolume |
private android.media.MediaPlayer |
internalPlayer |
private boolean |
isPrepared |
private static java.lang.String |
TAG |
dataSource, listener
MEDIA_ERROR_IO, MEDIA_ERROR_MALFORMED, MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK, MEDIA_ERROR_SERVER_DIED, MEDIA_ERROR_TIMED_OUT, MEDIA_ERROR_UNKNOWN, MEDIA_ERROR_UNSUPPORTED, MEDIA_INFO_BAD_INTERLEAVING, MEDIA_INFO_BUFFERING_END, MEDIA_INFO_BUFFERING_START, MEDIA_INFO_EXTERNAL_METADATA_UPDATE, MEDIA_INFO_METADATA_UPDATE, MEDIA_INFO_NOT_SEEKABLE, MEDIA_INFO_STARTED_AS_NEXT, MEDIA_INFO_SUBTITLE_TIMED_OUT, MEDIA_INFO_TIMED_TEXT_ERROR, MEDIA_INFO_UNKNOWN, MEDIA_INFO_UNSUPPORTED_SUBTITLE, MEDIA_INFO_VIDEO_RENDERING_START, MEDIA_INFO_VIDEO_TRACK_LAGGING
STATE_BUFFERING, STATE_ENDED, STATE_GOT_SOURCE, STATE_IDLE, STATE_READY
Constructor and Description |
---|
AndroidMediaPlayer() |
Modifier and Type | Method and Description |
---|---|
void |
clearVideo() |
int |
getAudioSessionId() |
long |
getCurrentPosition() |
long |
getDuration() |
float |
getPlaybackSpeed() |
int |
getVideoHeight() |
int |
getVideoWidth() |
float |
getVolume()
Returns the volume, with 0 being silence and 1 being unity gain.
|
android.media.MediaPlayer |
internalPlayer() |
boolean |
isLooping() |
boolean |
isPlayable()
Playback state !=
IPlayerBase.STATE_IDLE != IPlayerBase.STATE_GOT_SOURCE != IPlayerBase.STATE_BUFFERING |
boolean |
isPlaying() |
void |
onBufferingUpdate(android.media.MediaPlayer mp,
int percent) |
void |
onCompletion(android.media.MediaPlayer mp) |
boolean |
onError(android.media.MediaPlayer mp,
int what,
int extra) |
boolean |
onInfo(android.media.MediaPlayer mp,
int what,
int extra) |
void |
onPrepared(android.media.MediaPlayer mp) |
void |
onSeekComplete(android.media.MediaPlayer mp) |
void |
onVideoSizeChanged(android.media.MediaPlayer mp,
int width,
int height) |
boolean |
pause() |
void |
prepareAsync() |
void |
release() |
void |
reset() |
boolean |
seekTo(long ms) |
void |
setAudioStreamType(int streamtype) |
void |
setDataSource(android.content.Context context,
android.net.Uri uri) |
void |
setDataSource(android.content.Context context,
android.net.Uri uri,
java.util.Map<java.lang.String,java.lang.String> headers)
WARNING: VERSION.SDK_INT >= VERSION_CODES.ICE_CREAM_SANDWICH(14)
|
void |
setDataSource(java.io.FileDescriptor fd) |
void |
setDataSource(java.lang.String path) |
void |
setDisplay(android.view.SurfaceHolder sh) |
void |
setLooping(boolean looping) |
boolean |
setPlaybackSpeed(float speed) |
void |
setScreenOnWhilePlaying(boolean screenOn) |
void |
setSurface(android.view.Surface surface)
WARNING: VERSION.SDK_INT >= VERSION_CODES.ICE_CREAM_SANDWICH(14)
|
void |
setVideo(android.view.SurfaceView surfaceView) |
void |
setVideo(android.view.TextureView textureView)
WARNING: VERSION.SDK_INT >= VERSION_CODES.ICE_CREAM_SANDWICH(14)
|
void |
setVolume(float leftVolume,
float rightVolume) |
boolean |
start() |
void |
stop() |
void |
surfaceChanged(android.view.SurfaceHolder holder,
int format,
int width,
int height) |
void |
surfaceCreated(android.view.SurfaceHolder holder) |
void |
surfaceDestroyed(android.view.SurfaceHolder holder) |
getDataSource, getPlaybackState, notifyOnBufferingUpdate, notifyOnCompletion, notifyOnError, notifyOnInfo, notifyOnPrepared, notifyOnSeekComplete, notifyOnStateChanged, notifyOnVideoSizeChanged, releaseListeners, setListener, setOnBufferingUpdateListener, setOnCompletionListener, setOnErrorListener, setOnInfoListener, setOnPreparedListener, setOnSeekCompleteListener, setOnVideoSizeChangedListener, setPlaybackState, setVolume
private static final java.lang.String TAG
private final android.media.MediaPlayer internalPlayer
private boolean isPrepared
private float audioVolume
public android.media.MediaPlayer internalPlayer()
public void setDataSource(java.lang.String path) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.SecurityException, java.lang.IllegalStateException
setDataSource
in interface IMediaPlayer
setDataSource
in class AMediaPlayer
java.io.IOException
java.lang.IllegalArgumentException
java.lang.SecurityException
java.lang.IllegalStateException
public void setDataSource(android.content.Context context, android.net.Uri uri) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.SecurityException, java.lang.IllegalStateException
setDataSource
in interface IMediaPlayer
setDataSource
in class AMediaPlayer
java.io.IOException
java.lang.IllegalArgumentException
java.lang.SecurityException
java.lang.IllegalStateException
public void setDataSource(android.content.Context context, android.net.Uri uri, java.util.Map<java.lang.String,java.lang.String> headers) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.SecurityException, java.lang.IllegalStateException
setDataSource
in interface IMediaPlayer
setDataSource
in class AMediaPlayer
java.io.IOException
java.lang.IllegalArgumentException
java.lang.SecurityException
java.lang.IllegalStateException
public void setDataSource(java.io.FileDescriptor fd) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException
setDataSource
in interface IMediaPlayer
setDataSource
in class AMediaPlayer
java.io.IOException
java.lang.IllegalArgumentException
java.lang.IllegalStateException
public void prepareAsync() throws java.lang.IllegalStateException
prepareAsync
in interface IMediaPlayer
java.lang.IllegalStateException
public boolean start() throws java.lang.IllegalStateException
start
in interface IMediaPlayer
start
in interface IPlayerBase
java.lang.IllegalStateException
public boolean pause() throws java.lang.IllegalStateException
pause
in interface IMediaPlayer
pause
in interface IPlayerBase
java.lang.IllegalStateException
public boolean seekTo(long ms) throws java.lang.IllegalStateException
seekTo
in interface IMediaPlayer
seekTo
in interface IPlayerBase
java.lang.IllegalStateException
public void stop() throws java.lang.IllegalStateException
stop
in interface IMediaPlayer
stop
in interface IPlayerBase
java.lang.IllegalStateException
public void reset()
reset
in interface IPlayerBase
public void release()
release
in interface IPlayerBase
public void setVideo(android.view.SurfaceView surfaceView)
setVideo
in interface IPlayerBase
public void setVideo(android.view.TextureView textureView)
setVideo
in interface IPlayerBase
public void clearVideo()
clearVideo
in interface IPlayerBase
public void surfaceCreated(android.view.SurfaceHolder holder)
surfaceCreated
in interface android.view.SurfaceHolder.Callback
public void surfaceChanged(android.view.SurfaceHolder holder, int format, int width, int height)
surfaceChanged
in interface android.view.SurfaceHolder.Callback
public void surfaceDestroyed(android.view.SurfaceHolder holder)
surfaceDestroyed
in interface android.view.SurfaceHolder.Callback
public void setAudioStreamType(int streamtype)
setAudioStreamType
in interface IMediaPlayer
public void setVolume(float leftVolume, float rightVolume)
setVolume
in interface IMediaPlayer
public float getVolume()
IPlayerBase
getVolume
in interface IPlayerBase
public void setDisplay(android.view.SurfaceHolder sh)
setDisplay
in interface IMediaPlayer
public void setSurface(android.view.Surface surface)
setSurface
in interface IMediaPlayer
public void setScreenOnWhilePlaying(boolean screenOn)
setScreenOnWhilePlaying
in interface IMediaPlayer
public void setLooping(boolean looping)
setLooping
in interface IMediaPlayer
public boolean isLooping()
isLooping
in interface IMediaPlayer
public boolean setPlaybackSpeed(float speed)
setPlaybackSpeed
in interface IPlayerBase
public float getPlaybackSpeed()
getPlaybackSpeed
in interface IPlayerBase
public long getCurrentPosition()
getCurrentPosition
in interface IPlayerBase
public long getDuration()
getDuration
in interface IPlayerBase
public int getVideoWidth()
getVideoWidth
in interface IMediaPlayer
public int getVideoHeight()
getVideoHeight
in interface IMediaPlayer
public int getAudioSessionId()
getAudioSessionId
in interface IMediaPlayer
public boolean isPlayable()
IPlayerBase
isPlayable
in interface IPlayerBase
public boolean isPlaying()
isPlaying
in interface IPlayerBase
public boolean onInfo(android.media.MediaPlayer mp, int what, int extra)
onInfo
in interface android.media.MediaPlayer.OnInfoListener
public boolean onError(android.media.MediaPlayer mp, int what, int extra)
onError
in interface android.media.MediaPlayer.OnErrorListener
public void onVideoSizeChanged(android.media.MediaPlayer mp, int width, int height)
onVideoSizeChanged
in interface android.media.MediaPlayer.OnVideoSizeChangedListener
public void onSeekComplete(android.media.MediaPlayer mp)
onSeekComplete
in interface android.media.MediaPlayer.OnSeekCompleteListener
public void onBufferingUpdate(android.media.MediaPlayer mp, int percent)
onBufferingUpdate
in interface android.media.MediaPlayer.OnBufferingUpdateListener
public void onCompletion(android.media.MediaPlayer mp)
onCompletion
in interface android.media.MediaPlayer.OnCompletionListener
public void onPrepared(android.media.MediaPlayer mp)
onPrepared
in interface android.media.MediaPlayer.OnPreparedListener