如何使用MediaRecorder在Android上捕获视频?

Jon*_*nas 3 android user-permissions mediarecorder

我想创建一个短视频剪辑使用MediaRecorder,但我不知道如何使用它.

在我的清单文件中,我在application-end-tag之前添加了这些权限:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_VIDEO" />
</application>
Run Code Online (Sandbox Code Playgroud)

MediaRecorder当用户按下按钮时,我使用此代码创建一个:

    private void startRecording() {
    mRecorder = new MediaRecorder();
    mRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
    mRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
    mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    mRecorder.setOutputFile("myvideo.mpeg4");

    try {
        mRecorder.prepare();
    } catch (IOException e) {

    }
    mRecorder.start();
}
Run Code Online (Sandbox Code Playgroud)

但是当我运行该代码时,我得到一个"强制关闭 - 应用程序意外停止.请再试一次"消息.我应该如何使用MediaRecorder以及如何调试我的应用程序以查看导致异常的原因?我是否需要向清单文件添加任何其他用户权限?

Lio*_*ana 5

您必须设置预览显示才能使用媒体记录器进行视频录制.请参阅MediaRecorder教程