android滑动放大视频画面,Android中 视频屏幕左半部分上下滑动改变亮度右半部分上下滑动改变声音...

说明:

实现功能:

(1)屏幕右半部分上滑,声音变大,下滑,声音变小 屏幕左半部分上滑,亮度变大,下滑,亮度变小

(2)如果亮度>1或者小于0.2时,手机震动

private float startY;//记录手指按下时的Y坐标

private float startX;//记录手指按下时的Y坐标

private int downVol;//记录手指按下时的音量

private Vibrator vibrator;//手机震动器

//不要忘记震动权限

/*

* 设置屏幕亮度 lp = 0 全暗 ,lp= -1,根据系统设置, lp = 1; 最亮

*/

public void setBrightness(float brightness) {

WindowManager.LayoutParams lp = getWindow().getAttributes();

// if (lp.screenBrightness <= 0.1) {

// return;

// }

lp.screenBrightness = lp.screenBrightness + brightness / 255.0f;

if (lp.screenBrightness > 1) {

lp.screenBrightness = 1;

vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);

long[] pattern = { 10, 200 }; // OFF/ON/OFF/ON... 关闭10秒震动200毫秒,不停切换

vibrator.vibrate(pattern, -1);

} else if (lp.screenBrightness < 0.2) {

lp.screenBrightness = (float) 0.2;

vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);

long[] pattern = { 10, 200 }; // OFF/ON/OFF/ON...

vibrator.vibrate(pattern, -1);

}

getWindow().setAttributes(lp);

}

@Override

public boolean onTouchEvent(MotionEvent event) {

//把事件传递给手势识别器(注:对事件只进行了解析处理,没有拦截,解析成手势识别的单击、双击、长按)

detector.onTouchEvent(event);

switch (event.getAction()) {

case MotionEvent.ACTION_DOWN :

startY=event.getY();

startX=event.getX();

downVol=audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);

handler.removeMessages(HIDE_CONTROL);

break;

case MotionEvent.ACTION_MOVE :

float endY=event.getY();

float distanceY=startY-endY;

if(startX>screenWidth/2){

//屏幕右半部分上滑,声音变大,下滑,声音变小

int touchRang=Math.min(screenWidth,screenHeight);

//int curvol= (int) (downVol+(distance/screenHeight)*maxVolume);

int curvol= (int) (downVol+(distanceY/touchRang)*maxVolume);//考虑到横竖屏切换的问题

int volume=Math.min(Math.max(0,curvol),maxVolume);

updateVolume(volume);

}else{

//屏幕左半部分上滑,亮度变大,下滑,亮度变小

final double FLING_MIN_DISTANCE = 0.5;

final double FLING_MIN_VELOCITY = 0.5;

if (distanceY > FLING_MIN_DISTANCE && Math.abs(distanceY) > FLING_MIN_VELOCITY) {

setBrightness(20);

}

if (distanceY < FLING_MIN_DISTANCE

&& Math.abs(distanceY) > FLING_MIN_VELOCITY) {

setBrightness(-20);

}

}

break;

case MotionEvent.ACTION_UP :

handler.sendEmptyMessageDelayed(HIDE_CONTROL,5000);

break;

}

return super.onTouchEvent(event);

}

以上所述是小编给大家介绍的Android中 视频屏幕左半部分上下滑动改变亮度右半部分上下滑动改变声音 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值