gpt4 book ai didi

android - RuntimeException 以自定义分辨率在 Android 上录制视频

转载 作者:行者123 更新时间:2023-11-30 03:13:49 24 4
gpt4 key购买 nike

我必须录制分辨率为 640x360 的视频(或以某种方式转换为该尺寸)。然后,我按照 Android Developer 中的示例进行操作实现我自己的相机 Activity ,以便能够设置我想要的设置。但是,当我按下按钮开始录制视频时,出现了这个异常:

12-09 19:30:18.679: E/MediaRecorder(8614): start failed: -19
12-09 19:30:36.476: E/AndroidRuntime(8614): FATAL EXCEPTION: main
12-09 19:30:36.476: E/AndroidRuntime(8614): java.lang.RuntimeException: start failed.
12-09 19:30:36.476: E/AndroidRuntime(8614): at android.media.MediaRecorder.start(Native Method)
12-09 19:30:36.476: E/AndroidRuntime(8614): at com.autosonvideo.CameraManagerActivity$3.onClick(CameraManagerActivity.java:99)
12-09 19:30:36.476: E/AndroidRuntime(8614): at android.view.View.performClick(View.java:3558)
12-09 19:30:36.476: E/AndroidRuntime(8614): at android.view.View$PerformClick.run(View.java:14157)
12-09 19:30:36.476: E/AndroidRuntime(8614): at android.os.Handler.handleCallback(Handler.java:605)
12-09 19:30:36.476: E/AndroidRuntime(8614): at android.os.Handler.dispatchMessage(Handler.java:92)
12-09 19:30:36.476: E/AndroidRuntime(8614): at android.os.Looper.loop(Looper.java:137)
12-09 19:30:36.476: E/AndroidRuntime(8614): at android.app.ActivityThread.main(ActivityThread.java:4514)
12-09 19:30:36.476: E/AndroidRuntime(8614): at java.lang.reflect.Method.invokeNative(Native Method)
12-09 19:30:36.476: E/AndroidRuntime(8614): at java.lang.reflect.Method.invoke(Method.java:511)
12-09 19:30:36.476: E/AndroidRuntime(8614): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
12-09 19:30:36.476: E/AndroidRuntime(8614): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
12-09 19:30:36.476: E/AndroidRuntime(8614): at dalvik.system.NativeStart.main(Native Method)

然后,我发现是这个问题:

mMediaRecorder.setVideoSize(640,360);

如果我把它改成:

mMediaRecorder.setVideoSize(640,480);

然后,它工作正常。

但我需要 640x360 的视频。有什么办法吗?或者将视频从 1280x720“调整”到 640x360 的方法?

它将在 Android 4.0 或更高版本上运行。

提前致谢!

最佳答案

您不能选择任意分辨率——它必须是相机硬件支持的分辨率。您可以从 Camera.Parameters 中找到相机分辨率。

Android 中没有内置任何旨在将视频转码为不同分辨率的内容。欢迎您探索第三方选项,例如 ffmpeg

关于android - RuntimeException 以自定义分辨率在 Android 上录制视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20481995/

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