我使用MediaPlayer播放其中一个内部闹钟铃声.
我使用setVolume(1.0f,1.0f)在播放铃声时最大化音量.但铃声不能播放全音量(当我将它与单独播放铃声或通过内置的 android闹钟进行比较时)
我使用setVolume(1.0f,1.0f)在播放铃声时最大化音量.但铃声不能播放全音量(当我将它与单独播放铃声或通过内置的 android闹钟进行比较时)
这是我的代码
mediaPlayer.setDataSource(context,ringtoneUri); mediaPlayer.setLooping(looping); mediaPlayer.setVolume(1.0f,1.0f); mediaPlayer.prepare(); mediaPlayer.start();
我添加了以下权限android.permission.MODIFY_AUdio_SETTINGS
(不确定是否需要)
任何想法为什么mediaPlayer仍然不会播放最大声音?
解决方法
这是我找到的解决方案.
AudioManager amanager = (AudioManager) this.getSystemService(Context.AUdio_SERVICE); int maxVolume = amanager.getStreamMaxVolume(AudioManager.STREAM_ALARM); amanager.setStreamVolume(AudioManager.STREAM_ALARM,maxVolume,0); MediaPlayer mediaPlayer= new MediaPlayer(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM); // this is important. mediaPlayer.setDataSource(context,ringtoneUri); mediaPlayer.setLooping(looping); mediaPlayer.prepare(); mediaPlayer.start();