MediaPlayer 相关

1.支持的媒体流:(三种)

1.内部的URI  可以通过ContentResolver来获取

2.外部URL(流)

3.本地资源

2.使用:

1)获得MediaPlayer实例:

     1.MediaPlayer mp =newMediaPlayer();

     2.MediaPlayer mp = MediaPlayer.create(this, R.raw.test);//无需再调用setDataSource

        或者 create(Context context, Uri uri, SurfaceHolder holder)

2)设置播放文件:

     1.raw下的资源:MediaPlayer.create(this, R.raw.test);

     2.本地文件路径:mp.setDataSource("/sdcard/test.mp3");

     3.网络URL文件:mp.setDataSource("http://www.xxx.com/music/test.mp3");

    4.assets文件:AssetFileDescriptor fileDescriptor = getAssets().openFd("rain.mp3");

m_mediaPlayer.setDataSource(fileDescriptor.getFileDescriptor(),fileDescriptor.getStartOffset(), fileDescriptor.getLength());

3)主要方法:

      getCurrentPosition( ):得到当前的播放位置

      getDuration() :得到文件的时间

      getVideoHeight() :得到视频高度

      getVideoWidth() :得到视频宽度

      isLooping():是否循环播放

      isPlaying():是否正在播放

      pause():暂停

      prepare():准备(同步)

      prepareAsync():准备(异步)

      release():释放MediaPlayer对象

      reset():重置MediaPlayer对象

      seekTo(int msec):指定播放的位置(以毫秒为单位的时间)

      setAudioStreamType(int streamtype):指定流媒体的类型

      setDisplay(SurfaceHolder sh):设置用SurfaceHolder来显示多媒体

      setLooping(boolean looping):设置是否循环播放

      setOnBufferingUpdateListener(MediaPlayer.OnBufferingUpdateListener listener)

      网络流媒体的缓冲监听

      setOnCompletionListener(MediaPlayer.OnCompletionListener listener)

      网络流媒体播放结束监听

      setOnErrorListener(MediaPlayer.OnErrorListener listener)

      设置错误信息监听

      setOnVideoSizeChangedListener(MediaPlayer.OnVideoSizeChangedListener listener)

      视频尺寸监听

      setScreenOnWhilePlaying(boolean screenOn):设置是否使用SurfaceHolder显示

      setVolume(float leftVolume, float rightVolume):设置音量

      start():开始播放

      stop():停止播放

你可能感兴趣的:(MediaPlayer 相关)