如何在退出app -android-后消灭声音

时间:2013-11-18 15:02:04

标签: android audio android-mediaplayer

我创建包括声音播放器的应用程序,但是当我最小化应用程序或关闭它时,歌曲仍在工作,以便在最小化或退出应用程序后消除声音

这是代码

        player = MediaPlayer.create(this, R.raw.emotional);
    end = (Button) findViewById(R.id.button12);

    end.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            finish();
            player.stop();
        }
    });

2 个答案:

答案 0 :(得分:2)

我认为你必须在活动停止时停止播放声音。

尝试添加

@Override
protected void onStop()
{
       if (player != null)
           player.stop();
       super.onStop();
}

答案 1 :(得分:1)

暴力破解方法就是杀死进程(你的应用程序):

int yourId = android.os.Process.myPid();
android.os.Process.killProcess(pid);

更微妙的解决方案是在单独的线程上启动音乐并在onPause()方法中使用此代码:

Intent musicIntent = new Intent(getApplicationContext(), MusicClass.class);
getApplicationContext().stopService(musicIntent);
musicThread.stop();

MusicClass.class替换为您播放音乐的班级名称,同样,将musicThread替换为您开始播放音乐的主题的名称。