Как воспроизвести / приостановить видео в телефоне с помощью магнитной кнопки Google-картона?
Я работаю над демонстрацией RajawaliVR и хочу воспроизвести / приостановить видео, используя магнитную кнопку google-cardboard. Итак, как мне этого добиться, пожалуйста, помогите.
1 ответ
Решение
Вы можете использовать мои вспомогательные классы, это кнопка "Служба прослушивания", и некоторые действия публикуются через интерфейсный класс для основной активности. Вот код
/**
* 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) {
}
}