我在Android编程方面基本上是新手,所以我遇到了一些代码问题。 其中一个问题出现在我尝试使用选项“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);
}
}
////这是我的ActivitySettings,我喜欢操纵mediaPlayer
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);
}
}
});
}
}
正如你所看到的,我已经尝试了一个选项,但不是我想要的,将所有多媒体音量静音。 所以,如果你知道如何解决我的问题,我会非常感激!谢谢!
答案 0 :(得分:1)
您应该使用startActivityForResult()
并在ActivityMenu中使用名为onActivityResult()
的回调方法。然后,您可以报告他们是否取消选中此框并关闭ActivityMenu活动中的音乐。 Reference