【发布时间】:2015-11-07 23:41:55
【问题描述】:
我有一个带有静音按钮的应用程序。我已经被困在这四个半小时了,所以我很绝望。我试图在用户单击 mute 时将音量静音,并在用户再次单击时取消静音。这工作正常,除了音频没有播放。由于某种原因,Stream_Music 为 0?
public void mute(View view) {
mutebutton = (ImageButton) findViewById(R.id.mutebutton);
if ((variableForMute.x % 2) != 0) { //If it's odd UNMUTE
Log.v(TAG, "Use this volume to unmute " +userVolumeOnStart.userVolume +"");
Toast.makeText(Main_Menu.this, "UNMUTED", Toast.LENGTH_SHORT).show();
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, userVolumeOnStart.userVolume, 0);
variableForMute.x++;
} else { //If its even MUTE
userVolumeOnStart.userVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
Log.v(TAG, "Right Before Mute " +userVolumeOnStart.userVolume +"");
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);
Toast.makeText(Main_Menu.this, "MUTED", Toast.LENGTH_SHORT).show();
variableForMute.x++;
}
}
这是我声明变量和对象的开始:
ImageButton leftcenter;
ImageButton mutebutton;
final String TAG = "userVolume";
private AudioManager mAudioManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main__menu);
mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
leftcenter = (ImageButton) findViewById(R.id.startGame);
}
问题是,作为日志输出,我得到以下信息:
我应该将音量更改为启动应用程序之前的音量。我希望能够让用户将应用程序取消静音到用户最初使用的相同音量。但由于某种原因,它总是 0!?为什么会这样?我的手机音量已满?!
请帮忙,
我在这方面花费了太多时间——感谢所有反馈: 积极的,消极的,中立的,随便什么。
【问题讨论】:
-
android 上有几卷。您可能认为音量已满,但只有铃声音量处于该级别,并且音乐处于静音状态。
-
@njzk2 那我应该如何取消静音呢?
-
将其设为非 0 的值?
-
@njzk2 它没有设置为 0...你在哪里看到的?
-
@njzk2 是的,这就是问题所在。我设法通过将 STREAM_MUSIC 更改为 STREAM_RING 来解决这个问题。由于某种原因,现在没有播放音频?当我更改音量时,日志现在正在工作。但音频只是一般不播放。
标签: java android xml optimization android-manifest