首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用谷歌硬纸板的磁性按钮在电话中播放/暂停视频?

如何使用谷歌硬纸板的磁性按钮在电话中播放/暂停视频?
EN

Stack Overflow用户
提问于 2016-03-26 05:35:21
回答 1查看 546关注 0票数 0

我正在做RajawaliVR的演示,我想用谷歌卡板的磁性按钮播放/暂停视频。那么,我如何才能实现这一点,请帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-09 09:21:24

您可以使用my类--它是一个服务--侦听按钮,并通过接口类将一些操作发布到主活动。这是代码

代码语言:javascript
复制
/**
 * Created by volkanugur
 *
 *    WORK WITH CARDBOARD VERSION 1
 *    =============================
 *               MAGNET
 *    ==========  N-S  ============
 */


    public class CardBoardButtonHelper extends Service implements SensorEventListener {

        private SensorManager sensorManager = null;
        private float __SENSOR_OLD_POSITION__ = -1;
        long timestamp = 0;
        long timestamp_ee = 0;
        Singleton __ = Singleton.getInstance();;


        @Nullable
        @Override
        public IBinder onBind(Intent intent) {
            return null;
        }

        @Override
        public void onCreate() {
            super.onCreate();
            initsensor();
        }


        private void initsensor() {

            sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

            // Register magnetic sensor
            sensorManager.registerListener(this,
                    sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),
                    SensorManager.SENSOR_DELAY_UI);


        }


        @Override
        public void onSensorChanged(SensorEvent event) {

            synchronized (this) {

                if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) {

                    float X = event.values[0];

                    Log.e("Sens",X+"");

                    if (__SENSOR_OLD_POSITION__!=-1) {
                        if (Math.abs(X - __SENSOR_OLD_POSITION__) > 50) {
                            if (Math.abs(timestamp_ee-timestamp)>1300) {
                                Vibrator v = (Vibrator) __.get__MAIN__().getSystemService(Context.VIBRATOR_SERVICE);
                                v.vibrate(500);
                                ((CardButtonTrigger) (__.get__MAIN__())).CardButton_Triggered();
                                timestamp_ee = System.currentTimeMillis();
                            }
                            timestamp = System.currentTimeMillis();
                        }
                    }
                    __SENSOR_OLD_POSITION__ = X;
                }

            }
        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {

        }


    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36231975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档