gpt4 book ai didi

android - 无法为媒体记录器设置视频质量。视频会产生闪烁的视频

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:45:14 24 4
gpt4 key购买 nike

mMediaRecorder = new MediaRecorder();
// Step 1: Unlock and set camera to MediaRecorder
mCamera.unlock();
mMediaRecorder.setCamera(mCamera);
// Step 2: Set sources
// activate this for recording with sound\

mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);

mMediaRecorder.setVideoSize(getMaxSupportedVideoSize().width,getMaxSupportedVideoSize().height);

mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

// Step 4: Set output file
mMediaRecorder.setOutputFile(getOutputMediaFile("movie"));

// Step 4: Set output file
mMediaRecorder.setOutputFile(getOutputMediaFile("movie"));


// Step 5: Set the preview output
mMediaRecorder.setPreviewDisplay(mPreview.getHolder().getSurface());

mMediaRecorder.setOrientationHint(90);

上面的代码工作正常但是,视频的质量与我通过原生 android 相机拍摄的视频不同,我使用媒体录像机录制的视频与原生视频相比质量较差,我该如何提高视频质量。

有知道的帮帮我,谢谢

最佳答案

我不是 Java/Android 开发人员,我使用的是 Xamarin 和 C#,但我遇到了很多相同的问题,我的解决方案应该可以直接应用(甚至语法几乎相同)。

我发现如果您正在使用 setCamera(并且在您启动 mediaRecorder 之前预览相机看到的内容)那么它不会让您更改 上的质量设置媒体记录器

然后当您调用 mediaRecorder.start() 时,它要么崩溃,要么死机,要么显示垃圾。

基本上,只要相机正在预览,就不允许 MediaRecorder 以不同于相机已有质量的质量开始录制。你需要

  1. 停止相机预览,
  2. 拿走它的预览面
  3. 将相机分配给 MediaRecorder(使用 setCamera)
  4. 将 MediaRecorder 设置为您需要的质量
  5. 然后重新连接预览表面

然后当您开始录制时,一切正常。

因此在您的情况下,就在您调用 mediaRecorder.setCamera() 之前,请尝试以下操作:


mCamera.stopPreview();
mCamera.setPreviewDisplay(null);

然后再往下,做你的

mRecorder.setCamera()

这就是我的解决方案。我现在可以将视频质量设置为 720p(或 1080p)并且效果很好。

但是,当您停止录制时,您的预览也会停止。

您可能需要恢复您的

mCamera.setPreviewDisplay(mPreview.getHolder().getSurface())

恢复到原来的样子,然后重新开始实际预览。

我希望它也对你有用:)

关于android - 无法为媒体记录器设置视频质量。视频会产生闪烁的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24055149/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com