android - MediaStore.EXTRA_VIDEO_QUALITY 不适用于 Android 视频捕获

标签 android video android-camera

我正在开发从相机 Intent 录制视频的应用程序。在我的三星手机上 MediaStore.EXTRA_VIDEO_QUALITY 可以正常工作,甚至我分配的内存大小也可以正常工作,但我的 Google Pixel 上的同一个应用程序 MediaStore.EXTRA_VIDEO_QUALITY 无法正常工作,甚至分配的大小为内存不符合相机 Intent 。

我的代码如下:

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);
    }

最佳答案

根据MediaStore.EXTRA_VIDEO_QUALITY 您应该将 MediaStore.EXTRA_VIDEO_QUALITY 的值从 0 更改为 1。

0表示低质量

这可能是解决方案 intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);

关于android - MediaStore.EXTRA_VIDEO_QUALITY 不适用于 Android 视频捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49409406/

相关文章:

Android - "firebase.test.lab"设置无法从 Firebase 分析中排除 Play 商店测试 Activity

java - 引用所有 TextView

javascript - 在 React Native 移动应用程序中检测相机的高度和宽度

android - 旋转捕获的视频

android - 从联系人 Android 获取单个电话号码

android - 如何将Android相机中的图像保存到特定文件夹?

ios - UI图像颜色校正

Android 视频处理性能?

html - Android webview 视频自动播放成功,但同样的 apk 在 android Tv mini pc 上失败?

java - Android自定义相机预览?