无法在中间停止执行媒体播放器

时间:2013-08-18 14:38:37

标签: android android-music-player

我有以下代码段。不确定为什么,当点击退出按钮时,媒体播放器不会停止,即使退出游戏应停止其中的所有活动。 任何帮助将不胜感激。我尝试了stop(),release(),reset()和设置为null。请告诉我哪里出错了。

public void onClick(View v){
        // The background music of the game 
        MediaPlayer back_music = MediaPlayer.create(getBaseContext(), R.raw.sher_khan);
        switch (v.getId()){
        case R.id.new_game:
            openNewGameDialog();
            break;
        case R.id.about_game :
            Intent i = new Intent(this, About.class);
            startActivity(i);
            break;
        case R.id.exit_game :
            if(back_music.isPlaying()){
                back_music.release();
                back_music.reset();
                back_music = null ;
                //onDestroy();
            }
            finish();
            break;
        case R.id.sound :
            // Looping the music
            //back_music.setLooping(true);
            // Identifying and kind of looping through the sound_selector items
            if(v.isSelected()){

                v.setSelected(false);
                play = false;
                //Music start for the media player
                back_music.start();

            }
            else if (!v.isSelected()){
                //speaker.setSelected(false);
                back_music.stop();
                back_music.release();
                v.setSelected(true);
                play = true;
                back_music.release();
            }

        }

1 个答案:

答案 0 :(得分:0)

请尝试以下方法:

在创建时创建您的媒体播放器并将其声明为您的ACTIVITY的成员:

MediaPlayer back_music;
public class MainACtivity(){
....
....
onCreate(){
   back_music= MediaPlayer.create(getBaseContext(), R.raw.sher_khan);
.....
}

然后删除行“MediaPlayer back_music = MediaPlayer.create(getBaseContext(),R.raw.sher_khan);”

再给它一个镜头:)

希望它可以帮到你。