1

私は基本的にAndroidプログラミングが初めてなので、コードに問題があります。これらの問題の 1 つは、アプリ全体で再生中の音楽を開始および一時停止するオプション「SETTINGS」を使用してメイン メニューのようにしようとしたときに発生しました。問題は、MainMenu で MediaPlayer によって音楽のコードを既に作成しているということですが、その値またはその変数を取得して SETTINGS アクティビティで操作する方法がわかりません。これは私がすでに持っているものです。

public class ActivityMenu extends Activity
{
    private TextView lbl1, lbl2;
    public MediaPlayer mediaPlayer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);
        lbl1=(TextView)findViewById(R.id.lbl1);
        lbl1.setTextColor(Color.WHITE);
        lbl2=(TextView)findViewById(R.id.lbl2);
        lbl2.setTextColor(Color.WHITE);


        mediaPlayer = MediaPlayer.create(this, R.raw.barrelvolcano);
        mediaPlayer.setLooping(true);
        mediaPlayer.setVolume(100,100);
        mediaPlayer.start();
    }

        public void settings(View view)
    {
        Intent s = new Intent(this, ActivitySettings.class);
        startActivity(s);
    }
}

////これは、mediaPlayer を操作したい ActivitySettings です

public class ActivitySettings extends Activity
{
    private CheckBox chkb1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings);
        chkb1=(CheckBox)findViewById(R.id.chkb1);

        chkb1.setOnClickListener(new CheckBox.OnClickListener()
        {
            @Override
            public void onClick(View v) {
                if(chkb1.isChecked())
                {
                    mediaPlayer.start();
                    //AudioManager volumeControl = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
                    //volumeControl.setStreamMute(AudioManager.STREAM_MUSIC, false);
                }
                else
                {
                    mediaPlayer.pause();
                    //AudioManager volumeControl = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
                    //volumeControl.setStreamMute(AudioManager.STREAM_MUSIC, true);
                }
            }
        });
    }   
}

ご覧のとおり、私はすでにオプションを試しましたが、すべてのマルチメディア ボリュームをミュートするのは私が望んでいるものではありません。どうすれば私の問題を解決できるかを知っていれば、私はそれを大いに感謝します! ありがとう!

4

1 に答える 1

1

と呼ばれるActivityMenu内でコールバックメソッドを使用startActivityForResult()し、持つ必要がありますonActivityResult()。ボックスのチェックを外し、ActivityMenu アクティビティで音楽をオフにしたかどうかを報告できます。 参照

于 2013-07-29T22:20:42.133 に答える