天天看点

默认音量设置

Rtc背景音乐音量设置时,有些设备最大音量是100,有些设备做大音量是15(tv,模拟器,个别移动设备),当设置默认音量是50时,超过最大音量默认取最大值,所以最大音量是15的设备需要进行转换处理

原代码

//调节音乐文件播放音量
public static int setMusicVoice(Context context) {

    int voice = SharedPreferencesUtil.getPrefInt(context, MUSIC_PLAY_VOICE, 50);
    int i     = -1;
    if (mRtcEngine != null) {
        i = mRtcEngine.adjustAudioMixingVolume(voice);
    }

    return i;
}
           

新代码

//调节音乐文件播放音量
public static int setMusicVoice(Context context) {

    int voice = SharedPreferencesUtil.getPrefInt(context, MUSIC_PLAY_VOICE, 
    LXUtils.getDefVolume(context, 50));
    int i     = -1;
    if (mRtcEngine != null) {
        i = mRtcEngine.adjustAudioMixingVolume(voice);
    }

    return i;
} 

public class LXUtils {
	public static int getDefVolume(Context context, int volume) {
    	//得到音量
    	AudioManager manager = (AudioManager) context.getSystemService(AUDIO_SERVICE);
    	//最大音量
   	 	int mMaxVolume = manager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
    	return (mMaxVolume * volume / 100);
	}
}
           

继续阅读