Einzelnen Beitrag anzeigen

Peter Müller

Registriert seit: 15. Mär 2006
Ort: Stuttgart
22 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: TVideoCaptureDevice Android keine Aufzeichnung

  Alt 19. Apr 2017, 16:34
Hallo zusammen,

nachdem das Beispiel von Tim DelChiaro wohl leider nichts aufzeichnet, habe ich auf der Seite http://stackoverflow.com/questions/2...android-to-mp4
die folgende Delphi-Source gefunden, die die Aufnahme über die Android native API lösen soll:
Delphi-Quellcode:
var
    texture : JSurfaceTexture;
    surface: JSurface;
    recorder: JMediaRecorder;
begin
  texture := TJSurfaceTexture.JavaClass.init(1);
  surface := TJSurface.JavaClass.init(texture);
  recorder := TJMediaRecorder.Create();

  recorder.setPreviewDisplay(surface);
  recorder.setAudioSource(AUDIO_MIC);
  recorder.setVideoSource(VIDEO_CAMERA);
  recorder.setOutputFormat(FORMAT_THREE_GPP);
  recorder.setAudioEncoder(AFORMAT_AMR_NB);
  recorder.setVideoEncoder(VFORMAT_MPEG_4_SP);
  recorder.setMaxDuration(1800000); // 30 minutes

  recorder.setVideoSize(320, 240);
  recorder.setVideoFrameRate(15);
  recorder.setOutputFile(StringToJString(TPath.GetSharedCameraPath + OUTPUT_FILE));

  recorder.prepare();
  recorder.start();
end;
Wenn recorder.start() ausgeführt wird, dann erhalte ich die folgende Fehlermeldung: "java.lang.IllegalStateException.". Diese hat laut Kommentaren im Internet damit zu tun, dass surface nicht angezeigt wird, was wohl zwingend erforderlich sei. Leider steht da nirgends, wie man das macht.

Im Umgang mit der Android native API bin ich überhaupt nicht fit. Wie kann ich denn surface einer Anzeige (Image?) auf dem Formular zuweisen oder so initialisieren, dass es angezeigt wird?

Vielen Dank schon mal für eure Antworten und Ideen.

Viele Grüße

Peter
"Der Erfolg besteht manchmal in der Kunst, das für sich zu behalten, was man nicht weiß." Sir Peter Ustinov
  Mit Zitat antworten Zitat