Android音乐播放器制作(二 )点击歌曲实现播放

上次我们实现了把手机里的音频扫描到,然后放在list集合里面,用ListView展示在手机界面上,如果没有看过的可以去看看本人的博客:Android音乐播放器制作(一)扫描本地音乐显示在手机上

这次是在上一次的基础上直接继续写代码,几行代码实现点击那首歌曲就播放那首歌曲,系统已经提供了播放音频的对象了,直接用就可以了,具体如下:

1,声明一个MediaPlayer

private MediaPlayer mediaPlayer;//播放音频的

2,实例化

//初始化
        mediaPlayer = new MediaPlayer();


然后我们就有一个MediaPlayer的对象可以使用了

3,在initView方法里面给ListView设置一个点击监听事件,点击哪个item我们就可以得到这个item的歌曲地址,然后穿入我们创建的播放音频的方法中实现播放:

 mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                //创建一个播放音频的方法,把点击到的地址传过去
                //list.get(i).path这个就是歌曲的地址
                play(list.get(i).path);
            }
        });
然后play方法的代码:

 
 
 /**
     * 播放音频的方法
     */
    private void play(String path) {
        //播放之前要先把音频文件重置
        try {
            mediaPlayer.reset();
            //调用方法传进去要播放的音频路径
            mediaPlayer.setDataSource(path);
            //异步准备音频资源
            mediaPlayer.prepareAsync();
            //调用mediaPlayer的监听方法,音频准备完毕会响应此方法
            mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mediaPlayer) {
                    mediaPlayer.start();//开始音频
                }
            });

        } catch (IOException e) {
            e.printStackTrace();
        }
    }


play方法里面我们调用的是mediaPlayer的异步准备的方法,因为当歌曲很大的时候,如果不是用异步准备,而是直接准备播放的话,就会造成播放卡顿;然后就在mediaPlayer的准备完毕的监听方法中调用start()中开始


持续更新

demo下载地址:http://download.csdn.net/detail/dl10210950/9610737




已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页