强制在Landscape中捕获视频

时间:2014-08-12 10:14:04

标签: android android-intent camera android-orientation android-camera-intent

我正在尝试强制用户在捕捉视频时使用横向模式。

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

1 个答案:

答案 0 :(得分:5)

我已经创建了一个名为LandscapeVideoCapture的库,它正是这样做的。

在纵向中,您将获得一个图像,表明用户应该旋转他的设备,并且只有当设备处于横向状态时,用户才能真正开始捕捉视频。

请在此处查看:https://github.com/jmolsmobile/LandscapeVideoCapture

此外,此库还具有许多其他功能,如设置分辨率,帧速率,捕获质量......