23 Stimmen

Wie kann man in Android Videos aufnehmen?

Ich möchte einen Videorekorder erstellen und habe bisher noch nicht herausgefunden, wie ich Parameter setzen kann, um die Methode MediaRecorder.prepare() erfolgreich zu durchlaufen.

Ausführen der folgenden Methode

public void start() throws IOException{
    String state = android.os.Environment.getExternalStorageState();
    if(!state.equals(Environment.MEDIA_MOUNTED))
    {
        throw new IOException("SD card is not mounted. It is " + state + ".");
    }
    File directory = new File(path).getParentFile();
    if(!directory.exists() && !directory.mkdirs())
    {
        throw new IOException("Path to file could not be created.");
    }

    recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
    recorder.setVideoFrameRate(15);
    recorder.setVideoSize(176, 144);
    recorder.setOutputFile(path);
    recorder.prepare();
    recorder.start();
    this.state = VideoRecorderState.STATE_RECORDING;
}

Es wird eine Ausnahme in der Zeile recorder.prepare().

Wie werden die Parameter für die Videoaufnahme eingestellt?

0 Stimmen

Ich weiß es nicht, aber ich fühle mit dir. Ich habe gerade einige J2ME in diesem Bereich verlassen. Temperamentvoll, um das Mindeste zu sagen!

1voto

Dies könnte ein Berechtigungsfehler sein. Haben Sie die Berechtigung Android.permission.CAMERA in Ihrer AndroidManifest-Datei festgelegt?

0voto

In meinem Fall hat das Kopieren und Einfügen der obigen Beispiele nicht funktioniert. Als ich mir dann die Methoden in MediaRecorder ansah, fand ich setPreviewDisplay. Ich rief diese Methode auf und übergab die in Camera.setPreviewDisplay verwendete Oberfläche. Die IOException in .prepare ist verschwunden und ich konnte ein Video aufnehmen. Versuchen Sie es selbst und posten Sie Ihre Ergebnisse.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X