Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android Studio音板按钮赢得';在切换活动后,我不能播放声音。在它们停止之前,我只能按7次_Java_Android_Button_Android Mediaplayer - Fatal编程技术网

Java Android Studio音板按钮赢得';在切换活动后,我不能播放声音。在它们停止之前,我只能按7次

Java Android Studio音板按钮赢得';在切换活动后,我不能播放声音。在它们停止之前,我只能按7次,java,android,button,android-mediaplayer,Java,Android,Button,Android Mediaplayer,在安卓工作室,我制作了音板,在第一个活动中我有4个活动,我可以全天按声音,它们会播放,但在我点击下一步进行第二个活动后,当我尝试播放它们时,它们不会播放声音。我可以点击7次,它们就会停止 我到处找,但什么都没用,我甚至再次修改了整个代码,但还是发生了同样的事情 按钮1; 按钮需要的宇宙,我需要的石头等更多的声音 iaminevitable = (Button) findViewById(R.id.iaminevitable); final MediaPlayer mp = Med

在安卓工作室,我制作了音板,在第一个活动中我有4个活动,我可以全天按声音,它们会播放,但在我点击下一步进行第二个活动后,当我尝试播放它们时,它们不会播放声音。我可以点击7次,它们就会停止

我到处找,但什么都没用,我甚至再次修改了整个代码,但还是发生了同样的事情

按钮1; 按钮需要的宇宙,我需要的石头等更多的声音

    iaminevitable = (Button) findViewById(R.id.iaminevitable);
    final MediaPlayer mp = MediaPlayer.create(this, R.raw.iaminevitable);
    iaminevitable.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            mp.start();
        }
    });
    iusedthestones = (Button) findViewById(R.id.iusedthestones);
    final MediaPlayer mp2 = MediaPlayer.create(this, 
    R.raw.iusedthestones);
    iusedthestones.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            mp2.start();
        }
    });               etc....


    button1 = findViewById(R.id.button_1);
    button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent int1 = new Intent(MainActivity.this, Activity2.class);
            startActivity(int1);
        }
    });

错误消息中没有关于为什么会发生这种情况的任何信息首先:在onCreate之外声明MPs,以防止在活动暂停时对其进行垃圾收集

private MediaPlayer mp,mp2;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mp = new MediaPlayer.create(...
    mp2 = new MediaPlayer.create(...
此外:当活动停止时,放下MPs使用的资源,以避免内存泄漏,这可能会迫使你的应用程序在持续使用时崩溃

@Override
protected void onStop() {
    super.onStop();
    if (mp != null) {
     mp.reset();
     mp.release();
     mp = null;
    }
    if (mp2 != null) {
     mp2.reset();
     mp2.release();
     mp2 = null;
    }
}

首先:在onCreate之外声明MPs,以防止在活动暂停时对其进行垃圾收集

private MediaPlayer mp,mp2;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mp = new MediaPlayer.create(...
    mp2 = new MediaPlayer.create(...
此外:当活动停止时,放下MPs使用的资源,以避免内存泄漏,这可能会迫使你的应用程序在持续使用时崩溃

@Override
protected void onStop() {
    super.onStop();
    if (mp != null) {
     mp.reset();
     mp.release();
     mp = null;
    }
    if (mp2 != null) {
     mp2.reset();
     mp2.release();
     mp2 = null;
    }
}