【发布时间】:2016-02-12 18:21:12
【问题描述】:
正在查看谷歌发布的camera2视频sample app,其中一种方法如下:
/**
* In this sample, we choose a video size with 3x4 aspect ratio. Also, we don't use sizes
* larger than 1080p, since MediaRecorder cannot handle such a high-resolution video.
*
* @param choices The list of available sizes
* @return The video size
*/
private static Size chooseVideoSize(Size[] choices) {
for (Size size : choices) {
if (size.getWidth() == size.getHeight() * 4 / 3 && size.getWidth() <= 1080) {
return size;
}
}
Log.e(TAG, "Couldn't find any suitable video size");
return choices[choices.length - 1];
}
我摆弄了自己的 camera2 实现,并尝试使用媒体记录器录制 4K 视频,效果很好 - 录制的文件报告的尺寸为 3840 × 2160。
那么,示例中的注释是否不正确,或者 MediaRecorder 无法在 Lollipop 上处理更大的分辨率,但可以在 Marshmallow 或其他东西上处理?
【问题讨论】:
-
媒体录制的功能会因设备而异,甚至会因操作系统而异。
-
所以你是在暗示作者说所有设备都可以处理 choices 数组来自
CameraCharacteristics/StreamConfigurationMapgetOutputSize - 我认为它是从相机硬件配置文件中收集的?令人困惑.. -
我的意思是,Android 上的相机内容通常令人困惑。 :-)
标签: android android-camera android-mediarecorder