我正在尝试强制用户在捕捉视频时使用横向模式。
Question 1: Can I force user to use landscape mode while video capturing?
Question 2: Can I show some overlay image or alert to suggest the user for landscape mode when user holds device in portrait mode?
我尝试使用默认的相机应用和以下代码来实现它,
Intent mOptionIntent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
mOptionIntent.putExtra("return-data", true);
startActivityForResult(mOptionIntent, REQUEST_CAPTURE_VIDEO);
我发现我们可以通过指定EXTRA_SCREEN_ORIENTATION来请求输出数据的方向,如下所示。仅当OEMs
未修改时,它才能在某些设备上工作。即使它发生了,也可以使用相机可能会在Portrait
中打开并使用Landscape orientation
保存数据,因此无法设置Landscape
摄像头:
mOptionIntent.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
所以我关注的是视频捕捉时的定位,我想要insist user or lock the screen in Landscape mode
。
答案 0 :(得分:5)
我已经创建了一个名为LandscapeVideoCapture的库,它正是这样做的。
在纵向中,您将获得一个图像,表明用户应该旋转他的设备,并且只有当设备处于横向状态时,用户才能真正开始捕捉视频。
请在此处查看:https://github.com/jmolsmobile/LandscapeVideoCapture
此外,此库还具有许多其他功能,如设置分辨率,帧速率,捕获质量......