加速度传感器切换歌曲

//全局变量
 private int[] musics = {R.raw.music1,R.raw.music2,R.raw.music3,R.raw.music4};//音乐4首
    int i=0;
    private MediaPlayer player;
    private SensorManager sensorM;
    private Sensor sensor;


MainActivity.java

 //播放音乐
        player =  MediaPlayer.create(this, musics[i]);
        player.start();//播放
        //得到传感器管理器
        sensorM = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        //得到加速度传感器
        sensor = sensorM.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
        //给传感器绑定监听,第一个是监听器,第二个是传感器,第三个是采样数据的频率
        sensorM.registerListener(new SensorEventListener() {
            @Override
            public void onSensorChanged(SensorEvent event) {
                //得到改变后的数据值
                int z = (int)event.values[2];
                if(z > 20){//z大于12,表示真正的甩动了,否则小于12,表示不是主动甩动
                    player.stop();//停止上一首
                    player.release();//释放,节省内存
                    //开启新的歌曲
                    i++;//移动到下一首
                    player = MediaPlayer.create(MainActivity.this,musics[i%musics.length]);
                    player.start();
                }
            }
            @Override
            public void onAccuracyChanged(Sensor sensor, int accuracy) {
            }
        },sensor, SensorManager.SENSOR_DELAY_NORMAL);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值