EXTRA_VIDEO_QUALITY被忽略

use*_*676 9 android

我正在尝试使用Intent录制视频,视频质量很高,大小超过5mb.

我正在使用运行android 4.2.2的三星Galaxy S.

这是我的代码:

            Intent i = new Intent("android.media.action.VIDEO_CAPTURE");
            // i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT,
            // Uri.fromFile(FileUtils.getFileName(FileTypes.VIDEO)));
            i.putExtra(android.provider.MediaStore.EXTRA_VIDEO_QUALITY, 0);
            i.putExtra(android.provider.MediaStore.EXTRA_SIZE_LIMIT, 5242880);
            i.putExtra("android.intent.extra.durationLimit", 45);
            startActivityForResult(i, Config.RECORD_VIDEO);
Run Code Online (Sandbox Code Playgroud)

bur*_*ner 12

查看MediaStore.EXTRA_VIDEO_QUALITY的文档

它说价值0意味着低质量.您可以将值更改为1.

并且5Mb的值我将设置为5491520L.

一起可能是:

import android.provider.MediaStore;
...


Intent i = new Intent(MediaStore.VIDEO_CAPTURE);
...
i.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
i.putExtra(MediaStore.EXTRA_SIZE_LIMIT, 5491520L);//5*1048*1048=5MB
i.putExtra(MediaStore.EXTRA_DURATION_LIMIT,45);
startActivityForResult(i, Config.RECORD_VIDEO);
Run Code Online (Sandbox Code Playgroud)