Android Media Player重播选项

时间:2013-12-15 19:00:10

标签: android

如何在我的应用中重放.mp3?我无法使用start方法重放mp3

以下是代码段:

    mMediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.splashsound);
    mMediaPlayer.setLooping(true);
    Button myButtonOne = (Button) findViewById(R.id.songon);
    myButtonOne.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {


                    mMediaPlayer.start();

        }
    });


    Button myButtonTwo = (Button) findViewById(R.id.songoff);
    myButtonTwo.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            if(mMediaPlayer.isPlaying()){
                //mMediaPlayer.stop();
            mMediaPlayer.release();
            mMediaPlayer = null;
            }

        }
    });

有谁能告诉我我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

如果您想重放mp3,为什么要release并设置为null您的媒体播放器?

我猜这是你的问题!

只需停止并重新启动它,而不释放您的媒体播放器实例。

答案 1 :(得分:1)

重播mp3曲目试试这个:

private void playSong(int songIndex) {
        // Play song
        try {
            mp.reset();
            mp.setDataSource(songsList.get(songIndex).get("songPath"));
            mp.prepare();
            mp.start();
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

或者不调用reset():

mediaPlayer.setLooping(true);