本文主要是介绍[Android] MediaPlayer SDK API glance,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考:
https://developer.android.com/reference/android/media/MediaPlayer
如何使用MediaPlayer SDK:
https://developer.android.com/media/platform/mediaplayer
概述:
- 音视频的 playback。
- 创建 MediaPlayer 的线程必须和调用 SDK 接口的线程是同一个。
- 注册 callback 给 MediaPlayer SDK 的 thread 必须自带一个 running Looper,比如 main UI thread。
回调函数:
常用 :
void setOnBufferingUpdateListener (MediaPlayer.OnBufferingUpdateListener listener)
void setOnCompletionListener (MediaPlayer.OnCompletionListener listener)
void setOnErrorListener (MediaPlayer.OnErrorListener listener)
void setOnInfoListener (MediaPlayer.OnInfoListener listener)
void setOnPreparedListener (MediaPlayer.OnPreparedListener listener)
void setOnSeekCompleteListener (MediaPlayer.OnSeekCompleteListener listener)
void setOnVideoSizeChangedListener (MediaPlayer.OnVideoSizeChangedListener listener)
setOnBufferingUpdateListener:周期性(NuPlayer是1秒)上报buffering值,以percent格式
回调函数说明
如果整个流的duration是1小时,假如当前播放到半小时的位置,同时又缓存了6分钟的数据,那么这个Buffering的值是 50% + 10% = 60% ,50%是当前的播放到的pts,10%是断开网络后还能播放多久。
这个值一般用来在进度条上显示灰色缓冲进度。
setOnCompletionListener:eos时上报。
回调函数说明
setOnErrorListener :异步Error上报,同步Error通过throw exception完成。
回调函数说明
setOnInfoListener :Media信息上报或者warning上报。
回调函数说明
setOnPreparedListener :底层已经准备好 playback 时上报。
回调函数说明
setOnSeekCompleteListener :seek完成时上报。
回调函数说明
setOnVideoSizeChangedListener :何时上报?
回调函数说明
不常用:
void setOnDrmPreparedListener(MediaPlayer.OnDrmPreparedListener listener)
void setOnMediaTimeDiscontinuityListener(MediaPlayer.OnMediaTimeDiscontinuityListener listener,Handler handler)
void setOnMediaTimeDiscontinuityListener(MediaPlayer.OnMediaTimeDiscontinuityListener listener)
void setOnSubtitleDataListener(MediaPlayer.OnSubtitleDataListener listener)
void setOnSubtitleDataListener(MediaPlayer.OnSubtitleDataListener listener, Handler handler)
void setOnTimedMetaDataAvailableListener(MediaPlayer.OnTimedMetaDataAvailableListener listener)
void setOnTimedTextListener(MediaPlayer.OnTimedTextListener listener)
Public 方法:
常用:
void setDataSource(String path)
void setDisplay(SurfaceHolder sh)
int getCurrentPosition()
int getDuration()
int getVideoHeight()
int getVideoWidth()
boolean isPlaying()
void pause()
void prepareAsync()
void release()
void reset ()
void seekTo (int msec)
void setAudioStreamType (int streamtype)
void setDataSource (Context context, Uri uri, Map<String, String> headers)
void setLooping (boolean looping) (Context context, Uri uri)
void setPlaybackParams (PlaybackParams params)
void setScreenOnWhilePlaying (boolean screenOn)
void setSurface (Surface surface)
void setVolume (float leftVolume, float rightVolume)
void start ()
void stop ()
不常用:
参考 https://developer.android.com/reference/android/media/MediaPlayer#public-methods_1
这篇关于[Android] MediaPlayer SDK API glance的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!