mediarecorder.setVideoSize()失败,最大分辨率 [英] mediarecorder.setVideoSize() fails with maximum resolution

查看:2483
本文介绍了mediarecorder.setVideoSize()失败,最大分辨率的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图找到

final Parameters p = this.camera.getParameters();
List<Size> previewSizes=p.getSupportedPreviewSizes();

this.mediaRecorder.setVideoSize(previewSizes.get(0).width, previewSizes.get(0).height);

我以前在风景模式拍摄的视频。

I used to record video in Landscape mode.

MediaRecorder 无法录制视频这个高的分辨率。

MediaRecorder fails to record video with this high resolution.

当我尝试用更少的分辨率,它正在录像。

When I try with less resolution, it is recording.

是否与屏幕显示尺寸和视频尺寸我们设置有问题吗?

Is there a problem with screen display size and video size we are setting ?

推荐答案

尝试这样的事情

getBest previewSize()来确定基于提供的宽度和高度的最佳分辨率。该显然是缺少主mediarecorder和相机设置的细节,但你可以很容易地找到他们,你可能已经这样做了。

getBestPreviewSize () will determine best possible resolution based on provided width and height. The is obviously missing the main mediarecorder and camera setup details but you can find them quite easily and you've probably already done that

...
    Camera.size size = getBestPreviewSize(720,480, mCamera.getParameters());

    mMediaRecorder.setVideoSize(size.width,size.height);
    mMediaRecorder.setVideoFrameRate(15);
    mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
    mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
...

  private Camera.Size getBestPreviewSize(int width, int height, Camera.Parameters parameters) {
    Camera.Size result=null;

    for (Camera.Size size : parameters.getSupportedPreviewSizes()) {
        if (size.width<=width && size.height<=height) {
            if (result==null) {
                result=size;
            } else {
                int resultArea=result.width*result.height;
                int newArea=size.width*size.height;

                if (newArea>resultArea) {
                    result=size;
                }
            }
        }
    }
    return(result);
}  

这篇关于mediarecorder.setVideoSize()失败,最大分辨率的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆