2014-10-02 49 views
0

我使用PreviewDisplay创建自定义相机应用程序,并使用onPreviewFrame回调来操作每个帧(在我的情况下,在预定义数量的帧中将图像发送到服务器,同时保持显示流畅的视频流给用户)。 getSupportedPreviewSizes返回的最高分辨率低于内置相机应用程序捕获的图像的最佳分辨率。 有没有什么办法通过内置相机应用程序获得最佳分辨率的画面?Android-在onPreviewFrame回调中捕获最高分辨率图像

回答

0

尝试getSupportedVideoSizes(),也getPreferredPreviewSizeForVideo()

注意,在某些情况下,相机可能能够产生更高的水库帧,并把它们管到硬件编码器进行视频录制,但没有带宽他们推到onPreviewFrame()回调。

+0

谢谢,但getSupportedVideoSizes()返回null,这意味着它支持与预览大小相同的分辨率。 但是,getSupportedPictureSizes()会提供更高的分辨率。 我不明白我怎么能这些决议,它只能通过意图与ACTION_IMAGE_CAPTURE捕获图像? – nel 2014-10-05 07:46:10

+0

哦,确定图片尺寸可能比预览尺寸大得多。你可以使用[Camera.takePicture()](http://developer.android.com/reference/android/hardware/Camera.html#takePicture(android.hardware.Camera.ShutterCallback,%20android.hardware.Camera.PictureCallback, %20android.hardware.Camera.PictureCallback,%20android.hardware.Camera.PictureCallback))并准确指定你想要获得的分辨率(ACTION_IMAGE_CAPTURE intent不允许这样的选择)。 – 2014-10-05 13:42:43

+0

我想这样做,Camera.takePicture()冻结了预览,而我需要即使在拍摄图像时流仍然平滑。你知道有什么办法可以防止预览被冻结吗? – nel 2014-10-05 20:31:55

相关问题