本文实例为大家分享了Android媒体开发之音乐播放器的具体代码,供大家参考,具体内容如下

可以对音乐文件实现播放、暂停、重播和停止功能。退出应用和回到桌面时音乐停止。

主界面:

 

主界面配置文件mian.xml:

              

主界面的Activity

MainActivity.java:

package com.example.musicplay; import java.io.File; import android.app.Activity; import android.content.Context; import android.media.MediaPlayer; import android.media.MediaPlayer.OnPreparedListener; import android.os.Bundle; import android.os.Environment; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity {  private EditText nameText;  private String path;  private int position;  private MediaPlayer mediaplayer;  private boolean pause;  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  nameText=(EditText) this.findViewById(R.id.filename);  mediaplayer=new MediaPlayer();   }    //以下方法会造成只要应用在后台音乐都会停止播放  @Override  //当应用不在前台时,停止播放  protected void onPause() {  if(mediaplayer.isPlaying()){   position=mediaplayer.getCurrentPosition();   mediaplayer.stop();  }  super.onPause();  }    @Override  protected void onResume() {  if(position>0&&path!=null){   play();   mediaplayer.seekTo(position);   position=0;  }  super.onResume();  }  @Override  protected void onDestroy() {  mediaplayer.release();  mediaplayer=null;  super.onDestroy();  }  public void mediaplay(View v){  switch (v.getId()) {  case R.id.playbutton:   String filename=nameText.getText().toString();   //Environment.getExternalStorageDirectory()检查外部存储设备的可用性   File audio=new File(Environment.getExternalStorageDirectory(),filename);   if(audio.exists()){   //获取SDCard目录,2.2的时候为:/mnt/sdcart 2.1的时候为:/sdcard,所以使用静态方法得到路径会好一点。     path=audio.getAbsolutePath();   play();   }   else{   path=null;   Toast.makeText(getApplicationContext(), R.string.error, 1).show();   }   break;     case R.id.pausebutton:   if(mediaplayer.isPlaying()){   mediaplayer.pause();   pause=true;   ((Button)v).setText(R.string.continues);   }else{   if(pause){    mediaplayer.start();    pause=false;    ((Button)v).setText(R.string.pausebutton);   }   }   break;     case R.id.resetbutton:   if(mediaplayer.isPlaying()){   mediaplayer.seekTo(0);//从开始位置播放   }else{   if(path!=null){    play();   }   }   break;     case R.id.stopbutton:   if(mediaplayer.isPlaying()){   mediaplayer.stop();   }   break;     default:   break;  }  }  private void play() {  try {   mediaplayer.reset();//把各项参数恢复到初始化状态   mediaplayer.setDataSource(path);   mediaplayer.prepare();//进行缓冲   //设置缓冲监听器   mediaplayer.setOnPreparedListener(new OnPreparedListener() {      //缓冲完毕后调用onPrepared方法   public void onPrepared(MediaPlayer mp) {    // 里面写缓冲完要干的事    mediaplayer.start();   }   });  } catch (Exception e) {   e.printStackTrace();  }  } } 

实现了简单的SD卡中音乐的播放。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多相关文章

  1. android之MediaPlay播放视频
  2. 【原创】Android图形系统
  3. Android(安卓)MediaPlayer 播放本地与远程的mp3初步
  4. 游戏音频-详解MediaPlayer,SoundPool利弊
  5. Android本地视频播放器开发--搜索本地视频(1)
  6. Android——实现在 Service 中播放音乐
  7. Android(安卓)HTML5 Video视频标签自动播放与自动全屏问题解决
  8. 视频播放拖动进度时间定位不准问题
  9. 可用手势切换播放节目的android视频播放器

随机推荐

  1. Android materialDesign 风格阴影 改变阴
  2. Android 软键盘弹出,界面整体上移
  3. 第七章 Android 动画机制与使用技巧
  4. react-nativeAndroid打包报错:Daemon: AAP
  5. html5写链接打开ios和android本地应用
  6. 【转】.Android-sharedUserId数据权限
  7. 使用Vitamio打造自己的Android万能播放器
  8. android hander
  9. 最强 Android Studio 使用小技巧和快捷键
  10. android菜鸟学习笔记5----第一个android