首页 文章 精选 留言 我的

精选列表

搜索[视频音效],共10001篇文章
优秀的个人博客,低调大师

android 摇一摇+震动+声音效果

文章链接:https://mp.weixin.qq.com/s/n6EXvfmpNPtWM1kEnGgwUA 摇一摇红包效果已经是老生常谈的了,利用手机的传感器识别摇一摇,同时过程中进行动画+震动+声音的效果。Ps:百度网页版「摇一摇」三个字,会有效果的,皮一哈! 效果图: 摇一摇主要通过SensorManager监听手机,实现 SensorEventListener,在onSensorChanged去判断,根据加速度来判断摇晃的程度。 ShakeSensorListener shakeListener = new ShakeSensorListener(); SensorManager sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE); private class ShakeSensorListener implements SensorEventListener { @Override public void onSensorChanged(SensorEvent event) { //避免一直摇 if (isShake) { return; } // 开始动画 anim.start(); float[] values = event.values; /* * x : x轴方向的重力加速度,向右为正 * y : y轴方向的重力加速度,向前为正 * z : z轴方向的重力加速度,向上为正 */ float x = Math.abs(values[0]); float y = Math.abs(values[1]); float z = Math.abs(values[2]); //加速度超过19,摇一摇成功 if (x > 19 || y > 19 || z > 19) { isShake = true; //播放声音 playSound(MainActivity.this); //震动,注意权限 vibrate( 500); //仿网络延迟操作,这里可以去请求服务器... new Handler().postDelayed(new Runnable() { @Override public void run() { //弹框 showDialog(); //动画取消 anim.cancel(); } },1000); } } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } } 如果手机一直在摇晃,会不停的调用onSensorChanged ,而我们只想要一次摇一摇的效果,所以加了isShake 字段去判断。 在一次摇一摇事件完成后置false,可以继续摇一摇。 注册监听,同时别忘了取消注册。 @Override protected void onResume() { //注册监听加速度传感器 sensorManager.registerListener(shakeListener, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_FASTEST); super.onResume(); } @Override protected void onPause() { //取消注册 sensorManager.unregisterListener(shakeListener); super.onPause(); } 摇一摇过程可以执行动画效果。 ObjectAnimator anim = ObjectAnimator.ofFloat(imgHand,"rotation",0f,45f,-30f,0f); anim.setDuration(500); anim.setRepeatCount(ValueAnimator.INFINITE); 播放声音,这里放在raw 资源文件里的。 private void playSound(Context context) { MediaPlayer player = MediaPlayer.create(context,R.raw.shake_sound); player.start(); } 震动效果,这里注意要在AndroidManifest 文件里添加权限 <uses-permission android:name="android.permission.VIBRATE" /> private void vibrate(long milliseconds) { Vibrator vibrator = (Vibrator)getSystemService(Service.VIBRATOR_SERVICE); vibrator.vibrate(milliseconds); } 一次摇一摇后,这里在弹框消失后可继续摇一摇。 private void showDialog() { final AlertDialog mAlertDialog = new AlertDialog.Builder(this).show(); View view = LayoutInflater.from(this).inflate(R.layout.layout_dialog,null); mAlertDialog.setContentView(view); mAlertDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { //这里让弹框取消后,才可以执行下一次的摇一摇 isShake = false; mAlertDialog.cancel(); } }); Window window = mAlertDialog.getWindow(); window.setBackgroundDrawable(new ColorDrawable(0x00000000)); } 至此,一套摇一摇效果完成! github地址:https://github.com/taixiang/shake 欢迎关注我的个人博客:https://www.manjiexiang.cn/ 更多精彩欢迎关注微信号:春风十里不如认识你 一起学习,一起进步,欢迎上车,有问题随时联系,一起解决!!!

优秀的个人博客,低调大师

FartScrollLid - 在打开 / 关闭 MacBook 时发出放屁的音效

一个搞笑的 macOS 应用程序,它会在你打开和关闭 MacBook 盖子时播放放屁的声音 - 灵感来自经典的“fart scroll”浏览器扩展。 特性: 动态放屁声音- 音调根据盖子角度而变化(关闭时低音深沉,打开时高吱吱声) 运动激活- 仅当你主动移动盖子时才会放屁 实时监控-显示盖子角度、速度和放屁参数 有趣的状态消息- “最大压力!”,“气体逸出!”等等 FartScrollLid 使用 MacBook 内置的盖角传感器(通过逆向工程发现)来检测笔记本电脑盖子与底座之间的角度。当你移动盖子时,它会触发放屁的声音: 根据盖子角度调节间距(0-130度) 根据移动速度控制音量 即时反应-当你停止移动时,放屁立即停止 要求 macOS 11.5 或更高版本 带有盖角传感器的 MacBook(大多数现代 MacBook) 幽默感

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册