简单的音乐播放

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

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

先看运行效果

 

代码相对还是比较简单的,需要注意的是,在运行程序之前,要在根目录下面放个名字为“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();
        }
    }
    
    
}

 

posted @ 2015-05-17 22:22  千个太阳在手中  阅读(450)  评论(0编辑  收藏  举报