我需要在视频捕捉上全屏,但我无法做到。我正在发布我的代码。请帮助我
public void startRecordingVideo() {
if (getActivity().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT)) {
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
File mediaFile = new File(
Environment.getExternalStorageDirectory().getAbsolutePath() + "/myvideo.mp4");
videoUri = Uri.fromFile(mediaFile);
intent.putExtra(MediaStore.EXTRA_OUTPUT, videoUri);
startActivityForResult(intent, VIDEO_CAPTURE);
} else {
Toast.makeText(this.getActivity(), "No camera on device", Toast.LENGTH_LONG).show();
}
}
答案 0 :(得分:0)
来自Android MediaStore文档,
<强> EXTRA_FULL_SCREEN 强>
用于控制ViewImage UI的Intent-extra的名称。 这是一个布尔属性,它会覆盖活动的默认值 全屏状态。
还有一个案例,它给出填充是因为相机分辨率,在我的情况下如果我使用320 * 240它给予相同的填充,但如果我使用1280 * 720或更多它是没有显示任何填充和适合整个屏幕。
为此,您还可以使用MediaStore.EXTRA_VIDEO_QUALITY
参数来设置视频质量。
所以在你的情况下尝试使用这样的,
public void startRecordingVideo() {
if (getActivity().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT)) {
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
File mediaFile = new File(
Environment.getExternalStorageDirectory().getAbsolutePath() + "/myvideo.mp4");
videoUri = Uri.fromFile(mediaFile);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
intent.putExtra(MediaStore.EXTRA_FULL_SCREEN , true);
intent.putExtra(MediaStore.EXTRA_OUTPUT, videoUri);
startActivityForResult(intent, VIDEO_CAPTURE);
} else {
Toast.makeText(this.getActivity(), "No camera on device", Toast.LENGTH_LONG).show();
}
}