你的位置:首页 > 操作系统

[操作系统]简单的音乐播放


(总结《第一行代码》的播放音频)

这种只是能对指定的一首音频文件进行播放。

先看运行效果

 

代码相对还是比较简单的,需要注意的是,在运行程序之前,要在根目录下面放个名字为“music.mp3”的音频文件。

public class MainActivity extends ActionBarActivity implements OnClickListener{    private Button play;    private Button pause;    private Button stop;    private MediaPlayer mediaPlayer =new MediaPlayer();  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);        play=(Button)findViewById(R.id.play);    pause=(Button)findViewById(R.id.pause);    stop=(Button)findViewById(R.id.stop);        play.setOnClickListener(this);    pause.setOnClickListener(this);    stop.setOnClickListener(this);    //初始化MediaPlay    initMediaPlayer();  }      private void initMediaPlayer(){    try {      //手机sd卡的根目录,作为“music.mp3”存储路径      File file=new File(Environment.getExternalStorageDirectory(),"music.mp3");      //将file的存储路径赋给meidaPlayer      mediaPlayer.setDataSource(file.getPath());      //准备完成      mediaPlayer.prepare();    } catch (Exception e) {      e.printStackTrace();    }  }  @Override  public void onClick(View v) {        switch (v.getId()) {    //开始播放    case R.id.play:      if (!mediaPlayer.isPlaying()) {        mediaPlayer.start();      }      break;    //暂停,当点击play按钮时再次播放,会从上次暂停的位置开始播放    case R.id.pause:      if (mediaPlayer.isPlaying()) {        mediaPlayer.pause();      }      break;    //停止播放,当点击play按钮时,会重新播放音乐    case R.id.stop:      if (mediaPlayer.isPlaying()) {        mediaPlayer.stop();      }      break;    default:      break;    }    }  @Override  protected void onDestroy() {    super.onDestroy();    if (mediaPlayer!=null) {      //将与MediaPlay相关的资源释放掉      mediaPlayer.stop();      mediaPlayer.release();    }  }    }