java - Android中的开/关音乐

标签 java android audio audio-player android-music-player

我的Android游戏的主菜单有四个按钮。我可以选择打开和关闭。当用户单击打开按钮时,当我开始单击播放时,音乐应该会播放。如果用户单击关闭,则音乐将不会播放。但默认设置为播放音乐。

我尝试自己编写代码,如果用户单击on按钮,则此sign变量将设置为1,并且此值将传递给play Activity 。如果符号值等于1,则音乐开始播放;否则,音乐开始播放。如果为0,则音乐不会播放。但是,执行完此操作后,单击确定后,结果将显示为游戏的“FORCE CLOSE”。

我的“期权” Activity 有以下代码:

musicOn.setOnClickListener(new OnClickListener(){

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub

    Intent put = new Intent(getApplicationContext(), Level1.class); 

    musicSwitch = 1;
    Bundle cargo = new Bundle();
    cargo.putInt("sign", musicSwitch);

    put.putExtras(cargo);
    }
});

musicOff.setOnClickListener(new OnClickListener(){

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

    Intent put = new Intent(getApplicationContext(), Level1.class);             
    musicSwitch = 0;
    Bundle cargo = new Bundle();
    cargo.putInt("sign", musicSwitch);

    put.putExtras(cargo);
    }

});

这是我的level1 Activity :
int value=1;

Bundle cargo = getIntent().getExtras();
value = cargo.getInt("sign");

if(value==1){
MediaPlayer mPlayer = MediaPlayer.create(Level1.this, R.raw.sounds);
mPlayer.start();
mPlayer.setLooping(true);
}

最佳答案

请发布日志以更准确。

我认为这是强制关闭的,因为当值等于0时您没有告诉它该怎么做。

if(value==1){
MediaPlayer mPlayer = MediaPlayer.create(Level1.this, R.raw.sounds);
mPlayer.start();
mPlayer.setLooping(true);
} else if(value == 0){
mPlayer.stop();
}

并且我建议您不要仅在if语句中将mPlayer设为静态。

关于java - Android中的开/关音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18316060/

相关文章:

android - 为每个项目设置可绘制 ListView 背景

java - 在 Android 中获取和显示日期信息

java - 如何将信息传递到 new Thread(..);

android - AudioTrack 延迟 : obtainBuffer timed out

android - 如何检测我的设备左/右音频平衡?

java - 克服Java中的使用文件问题

java - Junit 测试 : Significance of fail ("Not yet implemented");?

java - 带有 key 提取器的二进制搜索 Java 列表

java - 在集成测试中使用实时端点与使用模拟端点

c - 开机后如何在android中自动运行可执行文件?