【发布时间】:2018-08-30 18:06:18
【问题描述】:
我正在开发从 Camera Intent 录制视频的应用程序。在我的三星手机上MediaStore.EXTRA_VIDEO_QUALITY 正在工作,甚至我分配的内存大小也可以工作,但在我的 Google Pixel 上的相同应用程序 MediaStore.EXTRA_VIDEO_QUALITY 无法工作,甚至分配的内存大小也不适用于相机意图。
我的代码如下:
public void takeVideoFromCamera(){
File mediaFile =new File(Environment.getExternalStorageDirectory().getAbsolutePath()+ "/myvideo.mp4");
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
Uri videoUri;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
// videoUri = FileProvider.getUriForFile(this, this.getApplicationContext().getPackageName() + ".provider", mediaFile);
videoUri = FileProvider.getUriForFile(this, "i.am.ce.by.murgqcy.provider", mediaFile);
} else {
videoUri = Uri.fromFile(mediaFile);
}
intent.putExtra(MediaStore.EXTRA_OUTPUT, videoUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, 5491520L);//5*1048*1048=5MB
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT,45);
startActivityForResult(intent, VIDEO_CAPTURE);
}
【问题讨论】:
-
没有要求相机应用程序尊重这些额外内容。你可以请求他们,但你不能要求他们。
标签: android video android-camera