0
package net.androidbootcamp.guessinggame;

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

public class setting extends Activity {
@Override
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.settings);

Button s =(Button) findViewById(R.id.btnons);
s.setOnClickListener(new OnClickListener(){

public void onClick(View v) {


MediaPlayer mp = MediaPlayer.create(setting.this,R.raw.meow);
mp.start();





                }

    });

Button ss =(Button) findViewById(R.id.btnoffs);
ss.setOnClickListener(new OnClickListener(){

オフボタンをコーディングするにはどうすればよいですか。これは私のオンボタンのコードです。他のボタン(オフ)をクリックしたときに音を止める方法がわかりません。

 I have two buttons, the ON and OFF button,a normal game settings of sound.

次のことはわかりません。OFFボタンをクリックするたびにストップを止めたい。

4

1 に答える 1

0

MediaPlayerこれはおそらく、コード内で現在を処理するのに十分なはずです。

package net.androidbootcamp.guessinggame;

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

public class setting extends Activity {
    private MediaPlayer mediaPlayer;

    @Override
    public void onCreate (Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.settings);

        Button s =(Button) findViewById(R.id.btnons);
        s.setOnClickListener(
            new OnClickListener(){
                @Override
                public void onClick(View v) {
                    startMediaPlayer();
                }
            }
        );

        Button ss =(Button) findViewById(R.id.btnoffs);
        ss.setOnClickListener(
            new OnClickListener(){ 
                @Override
                public void onClick(View v) {
                    stopMediaPlayer();
                }
            }
        );
    }

     private void startMediaPlayer() {
        mediaPlayer = MediaPlayer.create(setting.this,R.raw.meow);
        mediaPlayer.start();
    }

    private void stopMediaPlayer() {
        if( mediaPlayer != null ) {
            mp.stop();
            mp.release();
        }
    }
}

コードに対する変更: は、 というmpクラス のメンバーになりました。以前は、「オフ ボタン」の範囲内で作業を行うのに苦労していましたが、それが解決されました。また、コードをnull チェックでラップして、 .settingmediaPlayermpOnClickListenerstopMediaPlayer()NullPointerException

于 2013-01-12T13:05:01.220 に答える