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