音量及屏幕亮度调节

时间:2022-04-24
本文章向大家介绍音量及屏幕亮度调节,主要内容包括音量及屏幕亮度调节、音量调节、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

音量及屏幕亮度调节

屏幕亮度调节

/**
 * 滑动改变亮度
 * @param percent
 */
private void onBrightnessSlide(float percent) {
	if (mBrightness < 0) { // mBrightness是当前屏幕的亮度
		mBrightness = getWindow().getAttributes().screenBrightness;
		if (mBrightness <= 0.00f)
			mBrightness = 0.50f;
		if (mBrightness < 0.01f)
			mBrightness = 0.01f;
		// 显示
		mOperationBg.setImageResource(R.drawable.video_brightness_bg);
		mVolumeBrightnessLayout.setVisibility(View.VISIBLE);
	}
	WindowManager.LayoutParams lpa = getWindow().getAttributes();
	lpa.screenBrightness = mBrightness + percent;
	if (lpa.screenBrightness > 1.0f)
		lpa.screenBrightness = 1.0f;
	else if (lpa.screenBrightness < 0.01f)
		lpa.screenBrightness = 0.01f;
	getWindow().setAttributes(lpa);


	ViewGroup.LayoutParams lp = mOperationPercent.getLayoutParams();  //这部分是改变图片上面的当前亮度的进度的
	lp.width = (int) (findViewById(R.id.operation_full).getLayoutParams().width * lpa.screenBrightness);
	mOperationPercent.setLayoutParams(lp);
}

音量调节

/**
 * 音量调节
 */
public class MainActivity extends Activity {
    private static final String TAG = "MainActivity";
    private AudioManager mAudioManager;
    private int currentVolume;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mAudioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
        // 最大音量
        int maxVolume = mAudioManager
                .getStreamMaxVolume(AudioManager.STREAM_MUSIC);
        Log.i(TAG, "最大音量:" + maxVolume);
        currentVolume = mAudioManager
                .getStreamVolume(AudioManager.STREAM_MUSIC);
        Log.i(TAG, "当前音量:" + currentVolume);
    }
    public void up(View view) {
        // 音量增大
        // AudioManager.STREAM_SYSTEM
        mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                AudioManager.ADJUST_RAISE, AudioManager.FX_FOCUS_NAVIGATION_UP);
        currentVolume = mAudioManager
                .getStreamVolume(AudioManager.STREAM_MUSIC);
        Log.i(TAG, "当前音量:" + currentVolume);
    }
    public void down(View view) {
        // 音量减小
        mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                AudioManager.ADJUST_LOWER, AudioManager.FX_FOCUS_NAVIGATION_UP);
        currentVolume = mAudioManager
                .getStreamVolume(AudioManager.STREAM_MUSIC);
        Log.i(TAG, "当前音量:" + currentVolume);
    }
}