我怎么能停止声音

时间:2011-06-27 08:14:11

标签: java android audio

当我点击按钮时,首先开始声音,然后我再次点击按钮,首先是声音停止和第二个声音开始。我能怎么做?

public void onClick(View v) {
            final MediaPlayer mp = MediaPlayer.create(getBaseContext(), R.raw.random); 
            final MediaPlayer mp2 = MediaPlayer.create(getBaseContext(), R.raw.stop);
            if(!mStarted) {
                // Start                                    
                mp2.stop();             

                mp.start();     

                Toast.makeText(finish.this, "Started!", Toast.LENGTH_SHORT).show();
                mStarted = true;
                mInterval = MIN_INTERVAL;
                mHandler.removeMessages(MESSAGE_RANDOM);               
                mHandler.sendEmptyMessage(MESSAGE_RANDOM);


            } else {
                // Stop
                generate.setEnabled(false);
                mp.stop();                          
                mp2.start();    

                mStarted = false;
                Toast.makeText(finish.this, "Stoping...", Toast.LENGTH_SHORT).show();                               
            }      
        }      
    };

3 个答案:

答案 0 :(得分:1)

只需在mp2.stop()之前添加mp.start(),在mp.stop()之前添加mp2.start()。不要忘记检查MediaPlayers是否已初始化并通过调用

进行播放
if (mp != null && mp.isPlaying())
每个MediaPlayer实例

希望这有帮助。

答案 1 :(得分:0)

mp2.stop()
是一般停止MediaPlayer的代码。但是你需要停下来开始这么做吗?

答案 2 :(得分:-1)

而不是mp2.start();使用mp2.stop();