MediaPlayer

MediaPlayer是Android系统自带的,可以用来播放音频、视频和流媒体。MediaPlayer包含了Audio和Video的播放功

常用方法

方法 说明
create 创建一多媒体
getCurrentPosition 当前播放位置
getDuration 文件的总时间
getVideoHeight 视频的高度
getVideoWidth 视频的宽度
isLooping 是否循环播放
isPlaying 是否正在播放
start 开始播放
pause 暂停
prepare 准备(同步)
prepareAsync 准备(异步)
stop 停止播放
release 释放相关资源
reset 重置
seekTo 指定
setAudioStreamType 设置类型
setDataSource 设多媒体数据来源
setDisplay 设置显示多媒体的载体
setLooping 是否循环播放
setOnButteringUpdateListener 网络流媒体的缓冲监听
setOnErrorListener 错误信息监听
setOnVideoSizeChangedListener 视频尺寸监听
setScreenOnWhilePlaying 设置是否保持屏幕常亮
setVolume 设置音量

播放实现

简单步骤

创建一个MediaPlayer对象,实现start()方法,便可以简单播放音乐

    mPlayer = MediaPlayer.create(this, R.raw.summer);    mPlayer.start();
具体步骤
  • 先创建MediaPlayer对象;

  • 调用setDataSource()方法来设置音频文件来源;

  • 再调用prepare()/prepareAysnc()方法进行准备;

  • 调用start方法就可以播放音频。

       mediaPlayer = new MediaPlayer();   mediaPlayer.setDataSource(file.getAbsolutePath());  mediaPlayer.setOnPreparedListener(this);   mediaPlayer.prepareAsync();  //setOnPreparedListener(this)实现的方法  @Override  public void onPrepared(MediaPlayer mp) {  mediaPlayer.start();  }

    MediaPlayer实现了四个不同setDataSource()方法

    setDataSource (String path)
    setDataSource (FileDescriptor fd)
    setDataSource (Context context, Uri uri)
    setDataSource (FileDescriptor fd, long offset, long length)
    可以从路径,raw,Assets,网络等加载

实例

简单实现一个带进度条的音乐播放器

布局文件很简单,一个进度条,三个按钮

 

具体实现
点击播放按钮进行播放

        case R.id.btn_play:            if (mPlayer != null) {                mPlayer.release();                mPlayer = null;            }            mPlayer = new MediaPlayer();            mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);            mPlayer.setOnPreparedListener(this);            try {                mPlayer.setDataSource(url);            } catch (Exception e) {                e.printStackTrace();            }            mPlayer.prepareAsync();            break;

OnPrepared准备完成之后,开始播放

      //setOnPreparedListener(this)实现的方法@Overridepublic void onPrepared(MediaPlayer mp) {    mp.start();    timer();}

点击暂停或停止按钮,暂停或结束播放

   case R.id.btn_pause:            if (mPlayer.isPlaying()) {                mPlayer.pause();            }            break;   case R.id.btn_stop:            if (mPlayer != null) {                mPlayer.stop();                mPlayer.reset();            }            break;

更多相关文章

  1. Android权限总结
  2. Android布局管理(4)
  3. 【Android(安卓)界面效果43】Android(安卓)LayoutInflater的infl
  4. Android从零开始(十五)
  5. Android(安卓)strings.xml中空格符的标识方法附xml特殊字符表示
  6. Android(安卓)编码规范 | 代码风格指南
  7. Android(安卓)Cavans 基础应用
  8. RemoteViews 中暗藏的坑
  9. Android(安卓)ImageView的拖拽实现

随机推荐

  1. android 开发BUG
  2. Android中事件分发机制分析
  3. Android下基于XML的Graphics shape使用方
  4. 【Android学习入门】Android studio基本
  5. dev android project from cmd
  6. Android google地图开发的前期准备(MD5和
  7. Android(安卓)图片平铺效果
  8. android技术开发例子,解析以及源码集锦
  9. android LinearLayout布局子空间没有填充
  10. android 获取控件真实高度