- 8
- 0
- 约1.74万字
- 约 45页
- 2017-11-28 发布于广东
- 举报
其主要代码如下:(其他部分见随书例程) 11.3.1 android加速传感器使用 —— 实现手机摇一摇控制音乐播放 1 public class MainActivity extends Activity implements SensorListener{ 2 private MediaPlayermp=null;//播放音乐 3 SensorManagersm; 4 private long currentTime,lastTime,duration;//记录传感器变化的时间变量 5 private float lastX,lastY,lastZ;//记录上一次震动位置 6 private float currentShake,totalShake;//记录震动幅度 7 private booleanisPlaying=false;//判断当前是否在播放音乐 8 @Override 9 public void onCreate(Bundle savedInstanceState) { 10 super.onCreate(savedInstanceState); 11 setContentView(R.layout.activity_main); 12 //载入音乐资源 13 mp=MediaPlayer.create(MainActivity.this, R.raw.jnstyle); 14 //获取系统服务 * 11.3.1 android加速传感器使用 —— 实现手机摇一摇控制音乐播放 15 sm=(SensorManager)this.getSystemService(Context.SENSOR_SERVICE); 16 //注册传感器监听,监听加速器 17 sm.registerListener(this,SensorManager.SENSOR_ACCELEROMETER, SensorManager.SENSOR_DELAY_NORMAL); 18 } 19 //覆写SensorListener的方法,传感器精度变化时调用 20 public void onAccuracyChanged(int sensor, int accuracy) { 21 // TODO Auto-generated method stub 22 } 23 //覆写SensorListener的方法,传感器值变化时调用 24 public void onSensorChanged(intsensor,float[] values) { 25 // TODO Auto-generated method stub 26 //获取当前震动位置 27 float x=values[0]; 28 float y=values[1]; * 11.3.1 android加速传感器使用 —— 实现手机摇一摇控制音乐播放 29 float z=values[2]; 30 currentTime=System.currentTimeMillis();//获取系统当期时间 31 if(lastX==0lastY==0lastZ==0)//第一次震动 32 lastTime=currentTime; 33 if(currentTime-lastTime200){//当两次震动时间间隔大于200毫秒时捕捉震动 34 duration=currentTime-lastTime; 35 urrentShake=(Math.abs(x-lastX)+Math.abs(y-lastY)+Math.abs(z-lastZ))/duration*200;//获取震动幅度 36 } 37 totalShake+=currentShake; 38 if(totalShake100){//两次总震动幅度大于100时触发传感器,控制音乐播放或暂停 39 //数据恢复未震动状态 40 totalShake=0; 41 lastX=0; * 11.3.1 android加速传感器使用 —— 实现手机摇一摇控制音乐播放 42 lastY=0; 43 lastZ=0; 44 lastTime=0; 45 currentTime=0; 46 if(!isPlaying){ 47 mp.start(); 48 isPlaying=true; 49 ((TextView)findViewById(R.id.sensor_hint)).
您可能关注的文档
- A0基本护理技术章节晓幸张美琴电子教案项目五任务2头发护理.ppt
- A0基本护理技术章节晓幸张美琴电子教案项目五任务5晨晚间护理.ppt
- A0基本护理技术章节晓幸张美琴电子教案项目十四临终护理2章节.ppt
- A0疾病学基础杨红刘红电子教案第八章节酸碱平衡紊乱.ppt
- A0基本护理技术章节晓幸张美琴电子教案项目五任务4压疮的预防及护理.ppt
- A0疾病学基础杨红刘红电子教案第二章节组织适应损伤与修复.ppt
- A0基本护理技术章节晓幸张美琴电子教案项目一医院环境设置.ppt
- A0疾病学基础杨红刘红电子教案第七章节发热.ppt
- A0疾病学基础杨红刘红电子教案第九章节缺氧.ppt
- A0疾病学基础杨红刘红电子教案第六章节水电解质代谢紊乱.ppt
原创力文档

文档评论(0)