1

ビデオの録画を開始しようとしていますが、「recorder.start();」の行でプログラムがクラッシュします。このプログラムはHuawei D1 (8 Mpx) では安定していましたが、HTC Desure C (5 Mpx) ではプログラムでエラーが発生し始めました

エラー:

W/dalvikvm(18833): threadid=1: thread exiting with uncaught exception (group=0x40a8b228)
E/AndroidRuntime(18833): FATAL EXCEPTION: main
E/AndroidRuntime(18833): java.lang.RuntimeException: start failed.

コード:

    public void startRec(SurfaceHolder surfaceHolder, String VideoName) {
        camera.stopPreview();
        camera.unlock();
        recorder.setCamera(camera);
        setRecorderParams();
        recorder.setPreviewDisplay(surfaceHolder.getSurface());      
        recorder.setOutputFile(VideoName);
        try {
            recorder.prepare();
            recorder.start();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public void setRecorderParams() {   
        recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
        recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
        recorder.setVideoEncodingBitRate(30000);
        recorder.setVideoSize(640, 480);
    }
4

1 に答える 1

0

正しいパラメーターをレコーダーに投稿する際の解決策。一部のデバイスは、一部のビデオ エンコーダーまたは出力形式を提供しません。

VideoEncoder パラメータ

于 2015-04-02T06:22:38.037 に答える