Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android MediaRecorder创建帧速率不稳定的视频_Java_Android_Mediarecorder_Frame Rate_Video Recording - Fatal编程技术网

Java Android MediaRecorder创建帧速率不稳定的视频

Java Android MediaRecorder创建帧速率不稳定的视频,java,android,mediarecorder,frame-rate,video-recording,Java,Android,Mediarecorder,Frame Rate,Video Recording,我正在尝试使用MediaRecorder类创建游戏视频,录制完成后,我需要将视频文件与另一个视频相结合。问题是,MediaRecorder创建的每个视频都有不稳定的帧速率,尽管我将其设置为24,但它总是带有一些其他数字,如39.542004 20.xxx等,下面是我的代码: mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mMediaRecorder.setVideoSource(Medi

我正在尝试使用MediaRecorder类创建游戏视频,录制完成后,我需要将视频文件与另一个视频相结合。问题是,MediaRecorder创建的每个视频都有不稳定的帧速率,尽管我将其设置为24,但它总是带有一些其他数字,如39.542004 20.xxx等,下面是我的代码:

        mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
        mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        mMediaRecorder.setOutputFile(outPutDir.getPath() + "/" + fileName);
        mMediaRecorder.setVideoSize(DISPLAY_WIDTH, DISPLAY_HEIGHT);
        mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
        mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
        mMediaRecorder.setAudioEncodingBitRate(44100);
        mMediaRecorder.setVideoEncodingBitRate(3000 * 1000);
        mMediaRecorder.setVideoFrameRate(24);

我需要我的视频帧速率是一个稳定的24或30,所以我可以附加另一个视频后,任何帮助是非常感谢

在这里的另一篇文章中有一些关于这方面的信息:

调用getSupportedPreviewFpsRange()将为您提供有关相机范围的更多信息,然后相应地设置建议的帧速率

请注意,对硬件的请求通常只是建议。相机会自动调整帧速率,以适应新的照明和焦距设置。(有关FPS调整的更多信息,请参见此处)


尝试听写每个相机设置,使相机不再自动调整以提高图片质量,并查看FPS是如何受到影响的。不幸的是,为手机摄像头设置特定的FPS速率不可能在不删除摄像头更改的其他变量的情况下保证FPS

谢谢Bailey,但我没有在这里使用设备的摄像头,我正在尝试记录表面(屏幕),我不确定这些摄像头限制是否仍然适用于那里