0

ばかげた質問に思えるかもしれませんが、私はこれに一晩中取り組んでいましたが、モバイルから記録された WebM ビデオを取得できませんでした。

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

    mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.WEBM);

    //mMediaRecorder.setOutputFormat(outFormat);

    //CamcorderProfile camPro = CamcorderProfile.get(CamcorderProfile.QUALITY_TIME_LAPSE_480P);
    //camPro.fileFormat = MediaRecorder.OutputFormat.WEBM;
    //camPro.videoFrameRate = 30;
    mMediaRecorder.setCaptureRate(30f);
    //camPro.videoFrameWidth = 360;
    //camPro.videoFrameHeight = 640;
    //camPro.videoBitRate = 2000000;
    //camPro.audioCodec = MediaRecorder.AudioEncoder.VORBIS;

    mMediaRecorder.setVideoSize(640,360);
    mMediaRecorder.setVideoEncodingBitRate(2000000);

    mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.VORBIS);
    mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.VP8);
    //camPro.videoCodec = MediaRecorder.VideoEncoder.VP8;
    mMediaRecorder.setVideoFrameRate(30);
    //mMediaRecorder.setProfile(camPro);

1 つだけ使用する必要があると思われるので、カムコーダーのプロファイル行にコメントを付けました。また、API レベル 21 が必要であるというメモも見たので、ロリポップ 5.0.2 で moto G を使用しています。

私が得ているエラーは、カメラがエラー100で死亡しました。メディアrecorder.prepare()が発生することがありますが、メディアrecorder.start()がエラーをスローします。どうすればいいのか困っています。一度エラーが発生しませんでした。しかし、再生できなかった6.19KBのファイルしかありませんでした。

4

1 に答える 1