私はゲームアプリケーションに取り組んでいます。しかし、ボリュームコントロールに問題があります。システム メディアの音量ではなく、seekBar を使用してメディア プレーヤーの音量を変更したい。seekBar を介してメディア プレーヤーの音量を変更する方法はありますか。
前もって感謝します。
私はゲームアプリケーションに取り組んでいます。しかし、ボリュームコントロールに問題があります。システム メディアの音量ではなく、seekBar を使用してメディア プレーヤーの音量を変更したい。seekBar を介してメディア プレーヤーの音量を変更する方法はありますか。
前もって感謝します。
まず、AudioManager から参照を取得します。
AudioManager audioMan = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
音量を上げるには:
audioMan.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_VIBRATE | AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI);
音量を下げるには:
audioMan.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_VIBRATE | AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI);
最大音量を取得するには:
int maxVolume = audioMan.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
現在の音量を取得するには:
int currVolume = audioMan.getStreamVolume(AudioManager.STREAM_MUSIC);
私が含めたフラグはどれでも削除できます
これで助かるかも…
protected static void setVolume(int volume) {
currentVolume = volume;
{
if (volume == 1) {
volume = 2;
}
try {
float vol = ((float) volume / CONSTANT.SYSTEM_MAX_VOLUME);
mediaPlayer.setVolume(vol, vol);
} catch (Exception e) {
e.printStackTrace();
}
}
}