Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.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 单击“停止”时媒体播放器出现问题_Java_Android_Eclipse_Media Player - Fatal编程技术网

Java 单击“停止”时媒体播放器出现问题

Java 单击“停止”时媒体播放器出现问题,java,android,eclipse,media-player,Java,Android,Eclipse,Media Player,我今天一直在努力使我的按钮发出声音。 我想让按钮在您单击时播放声音,当您再次单击时停止播放声音 第一部分是工作,但我补充说 if(mpButtonClick1.isPlaying()) { mpButtonClick1.stop(); } else { mpButtonClick1.start(); } 自从我添加了那个部分,当我点击按钮时,什么也没发生。没有声音。 Eclipse没有向我显示任何错误。 这是我的活动 package com.example.splashzor;

我今天一直在努力使我的按钮发出声音。 我想让按钮在您单击时播放声音,当您再次单击时停止播放声音 第一部分是工作,但我补充说

if(mpButtonClick1.isPlaying())
{
    mpButtonClick1.stop();
}
else
{
    mpButtonClick1.start();
}
自从我添加了那个部分,当我点击按钮时,什么也没发生。没有声音。 Eclipse没有向我显示任何错误。 这是我的活动

package com.example.splashzor;

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Prvi extends Activity{

    MediaPlayer mpButtonClick1;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.prvi);

        final MediaPlayer mpButtonClick1 = MediaPlayer.create(this, R.raw.spalshm);

        mpButtonClick1.isPlaying();

        Button dugme = (Button) findViewById(R.id.dugme);
        dugme.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                mpButtonClick1.start();
                {
                    if(mpButtonClick1.isPlaying())
                    {
                        mpButtonClick1.stop();
                    }
                    else
                    {
                        mpButtonClick1.start();
                    }

                }  
            }
        });     
     }
}  

如果您能告诉我我做错了什么以及如何修复它,我将不胜感激。

删除
mpButtonClick1.start()
if/else
块之前调用

否则,每当您单击按钮时,您总是先启动按钮,然后立即停止按钮,导致没有声音播放

逻辑应该是:

@Override
public void onClick(View v) {
    if (mpButtonClick1.isPlaying()) {
        mpButtonClick1.pause();
    }
    else {
        mpButtonClick1.start();
    }
}  

编辑:同时将
stop()
更改为
pause()
。调用
stop()
意味着它进入停止状态,并且在调用
prepare()
删除
mpButtonClick1.start()之前无法再次播放
if/else
块之前调用

否则,每当您单击按钮时,您总是先启动按钮,然后立即停止按钮,导致没有声音播放

逻辑应该是:

@Override
public void onClick(View v) {
    if (mpButtonClick1.isPlaying()) {
        mpButtonClick1.pause();
    }
    else {
        mpButtonClick1.start();
    }
}  

编辑:同时将
stop()
更改为
pause()
。调用
stop()
意味着它进入停止状态,在调用
prepare()

之前无法再次播放。我写了这个,但有一个问题。一旦我点击任何按钮,我就不能再播放任何声音,MP不会启动。我必须重新启动应用程序。我编辑了我的答案-您需要将
stop()
调用更改为
pause()
太棒了!谢谢你,muchI写了这封信,但有个问题。一旦我点击任何按钮,我就不能再播放任何声音,MP不会启动。我必须重新启动应用程序。我编辑了我的答案-您需要将
stop()
调用更改为
pause()
太棒了!多谢各位