我正在制作一个带有angular-js和cordova的移动项目。我想添加一个我想要显示视频的功能,当我将设备旋转到横向或纵向时它应该自动旋转,但我有一个限制,在应用程序打开的开始我使用lockOrientation(肖像)所以我不希望将任何页面旋转到横向,我只想旋转视频而不是屏幕。我尝试用
检测旋转 window.addEventListener("orientationchange", function() {
alert("the orientation of the device is now " + screen.orientation.angle);
});
在css中,我可以将视频旋转到代码下方。
transform:rotate(90deg);
我的问题是如何在使用lockOrientation时检测设备的方向?可能吗?因为我无法解锁方向。我是学生,我是这个环境的新手。
答案 0 :(得分:1)
我使用DeviceMotion插件https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-device-motion/
解决了这个问题function onSuccess(acceleration) {
alert('Acceleration X: ' + acceleration.x + '\n' +
'Acceleration Y: ' + acceleration.y + '\n' +
'Acceleration Z: ' + acceleration.z + '\n' +
'Timestamp: ' + acceleration.timestamp + '\n');
}
function onError() {
alert('onError!');
}
var options = { frequency: 3000 }; // Update every 3 seconds
var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
通过加速,我在设备被纵向模式锁定时检测到设备运动,并且检查设备是否处于纵向模式或横向模式时进行检测。