我想实现的是用户只能录制 30 秒或特定大小的视频。
我尝试使用下面的那些(单独或一起使用)
public static final java.lang.String EXTRA_SIZE_LIMIT = "android.intent.extra.sizeLimit";
public static final java.lang.String EXTRA_DURATION_LIMIT = "android.intent.extra.durationLimit";
结果
EXTRA_SIZE_LIMIT 不适用于三星手机。在 HTC 上,它的工作非常不准确。您必须将 EXTRA_VIDEO_QUALITY 设置为 0,这意味着质量低(这太糟糕了),如果您将其设置为“1”,它将无法工作。
EXTRA_DURATION_LIMIT 不适用于 HTC 手机。除了 HTC,我尝试过的所有品牌都没有任何问题。
所以我想知道是否还有其他方法可以在 Android 上录制视频时设置时长或大小限制?
最佳答案
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0); //Low Quality
intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT,2097152L); //2MB
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT,30); //30Seconds
startActivityForResult(intent, CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE);
您可以使用这种方式通过键“EXTRA_SIZE_LIMIT”和“EXTRA_DURATION_LIMIT”设置视频大小或持续时间。
这很好用。
关于android - 录制视频时设置 durationLimit 或 sizeLimit 的替代方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14501881/