Ab dem 27. März 2025 empfehlen wir, android-latest-release anstelle von aosp-main zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
  
         
       
     
  
  
  
    
  
  
  
    
    
      
    
    
      
      Mit Sammlungen den Überblick behalten
    
    
      
      Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
    
  
  
    
  
  
  
  
    
  
  
    
    
    
  
  Struct-Referenz „camera_device_ops“
 
  
   #include <
   
    camera.h
   
   >
  
 
 
  
   |  | 
  
   | int(* | set_preview_window
    
    )(struct
    
     camera_device
    
    *, struct
    
     preview_stream_ops
    
    *window) | 
  
   |  | 
  
   | void(* | set_callbacks
    
    )(struct
    
     camera_device
    
    *,
    
     camera_notify_callback
    
    notify_cb,
    
     camera_data_callback
    
    data_cb,
    
     camera_data_timestamp_callback
    
    data_cb_timestamp,
    
     camera_request_memory
    
    get_memory, void *user) | 
  
   |  | 
  
   | void(* | enable_msg_type
    
    )(struct
    
     camera_device
    
    *, int32_t msg_type) | 
  
   |  | 
  
   | void(* | disable_msg_type
    
    )(struct
    
     camera_device
    
    *, int32_t msg_type) | 
  
   |  | 
  
   | int(* | msg_type_enabled
    
    )(struct
    
     camera_device
    
    *, int32_t msg_type) | 
  
   |  | 
  
   | int(* | start_preview
    
    )(struct
    
     camera_device
    
    *) | 
  
   |  | 
  
   | void(* | stop_preview
    
    )(struct
    
     camera_device
    
    *) | 
  
   |  | 
  
   | int(* | preview_enabled
    
    )(struct
    
     camera_device
    
    *) | 
  
   |  | 
  
   | int(* | store_meta_data_in_buffers
    
    )(struct
    
     camera_device
    
    *, int enable) | 
  
   |  | 
  
   | int(* | start_recording
    
    )(struct
    
     camera_device
    
    *) | 
  
   |  | 
  
   | void(* | stop_recording
    
    )(struct
    
     camera_device
    
    *) | 
  
   |  | 
  
   | int(* | recording_enabled
    
    )(struct
    
     camera_device
    
    *) | 
  
   |  | 
  
   | void(* | release_recording_frame
    
    )(struct
    
     camera_device
    
    *, const void *opaque) | 
  
   |  | 
  
   | int(* | auto_focus
    
    )(struct
    
     camera_device
    
    *) | 
  
   |  | 
  
   | int(* | cancel_auto_focus
    
    )(struct
    
     camera_device
    
    *) | 
  
   |  | 
  
   | int(* | take_picture
    
    )(struct
    
     camera_device
    
    *) | 
  
   |  | 
  
   | int(* | cancel_picture
    
    )(struct
    
     camera_device
    
    *) | 
  
   |  | 
  
   | int(* | set_parameters
    
    )(struct
    
     camera_device
    
    *, const char *parms) | 
  
   |  | 
  
   | char *(* | get_parameters
    
    )(struct
    
     camera_device
    
    *) | 
  
   |  | 
  
   | void(* | put_parameters
    
    )(struct
    
     camera_device
    
    *, char *) | 
  
   |  | 
  
   | int(* | send_command
    
    )(struct
    
     camera_device
    
    *, int32_t cmd, int32_t arg1, int32_t arg2) | 
  
   |  | 
  
   | void(* | release
    
    )(struct
    
     camera_device
    
    *) | 
  
   |  | 
  
   | int(* | dump
    
    )(struct
    
     camera_device
    
    *, int fd) | 
  
   |  | 
 
 
 
 
 
  
   Definition in Zeile 
    99
    der Datei 
    camera.h
   
  
  
 
 
 
 
  
  
   
    Startet den Autofokus. Die Benachrichtigungs-Callback-Routine wird einmal mit CAMERA_MSG_FOCUS aufgerufen, wenn der Fokus abgeschlossen ist. autoFocus() wird noch einmal aufgerufen, wenn ein weiterer Autofokus erforderlich ist.
   
   
    Definition in Zeile 
     227
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Die Funktion „Autofokus“ wird deaktiviert. Wenn der Autofokus noch aktiv ist, wird er durch diese Funktion abgebrochen. Unabhängig davon, ob der Autofokus gerade aktiv ist, wird die Fokusposition durch diese Funktion auf den Standardwert zurückgesetzt. Wenn die Kamera keinen Autofokus unterstützt, ist diese Option nicht verfügbar.
   
   
    Definition in Zeile 
     235
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Abbrechen eines Fotos, das mit „takePicture“ gestartet wurde. Wenn diese Methode aufgerufen wird, während kein Foto aufgenommen wird, hat dies keine Auswirkungen.
   
   
    Definition in Zeile 
     246
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
   
    
     | void(* disable_msg_type)(struct
      
       camera_device
      
      *, int32_t msg_type) | 
   
   
  
   
    Eine oder mehrere Nachrichten deaktivieren
   
   
    Nachdem ein Aufruf von „disableMsgType(CAMERA_MSG_VIDEO_FRAME)“ erfolgt ist, sollte die Kamera-HAL nicht darauf vertrauen, dass der Client „releaseRecordingFrame()“ aufruft, um Videoaufzeichnungsframes freizugeben, die vor und nach dem Aufruf von „disableMsgType(CAMERA_MSG_VIDEO_FRAME)“ von der Kamera-HAL gesendet wurden. Kamera-HAL-Clients dürfen nach dem Aufrufen von „disableMsgType(CAMERA_MSG_VIDEO_FRAME)“ keine Videoaufnahmeframes mehr ändern oder darauf zugreifen.
   
   
    Definition in Zeile
    
     132
    
    der Datei
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Dump-Status der Kamerahardware
   
   
    Definition in Zeile 
     282
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
   
    
     | void(* enable_msg_type)(struct
      
       camera_device
      
      *, int32_t msg_type) | 
   
   
  
   
    Die folgenden drei Funktionen nehmen alle eine msg_type an, eine Bitmaske der in include/ui/Camera.h definierten Nachrichten.
   
   
    Definition in Zeile 
     120
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Rufen Sie die Kameraparameter ab. Der von der Kamera-HAL zurückgegebene Puffer muss mit „put_parameters“ an die HAL zurückgegeben werden, wenn „put_parameters“ nicht NULL ist.
   
   
    Definition in Zeile 
     258
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
   
    
     | int(* msg_type_enabled)(struct
      
       camera_device
      
      *, int32_t msg_type) | 
   
   
  
   
    Prüfen, ob eine Nachricht oder eine Gruppe von Nachrichten aktiviert ist. Hinweis: Dies funktioniert als AND. Wenn eine der abgefragten Nachrichten deaktiviert ist, wird „falsch“ zurückgegeben.
   
   
    Definition in Zeile 
     139
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Gibt „true“ zurück, wenn die Vorschau aktiviert ist.
   
   
    Definition in Zeile 
     154
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Die Kamera-HAL verwendet ihren eigenen Speicher, um uns die Parameter zu übergeben, wenn wir get_parameters aufrufen. Verwenden Sie diese Funktion, um den Arbeitsspeicher an die HAL der Kamera zurückzugeben, wenn „put_parameters“ nicht NULL ist. Wenn put_parameters NULL ist, müssen Sie den Arbeitsspeicher mit free() freigeben.
   
   
    Definition in Zeile 
     265
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Gibt „true“ zurück, wenn die Aufzeichnung aktiviert ist.
   
   
    Definition in Zeile 
     208
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Die Hardwareressourcen, die zu diesem Objekt gehören, werden freigegeben. Dies geschieht 
     nicht
    
    im Destruktor.
   
   
    Definition in Zeile 
     277
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
   
    
     | void(* release_recording_frame)(struct
      
       camera_device
      
      *, const void *opaque) | 
   
   
  
   
    Gibt einen Aufnahmeframe frei, der zuvor von CAMERA_MSG_VIDEO_FRAME zurückgegeben wurde.
   
   
    Der Kamera-HAL-Client ist dafür verantwortlich, von der Kamera-HAL gesendete Videoaufnahmeframes freizugeben, bevor die Kamera-HAL einen Aufruf zu disableMsgType(CAMERA_MSG_VIDEO_FRAME) erhält. Nachdem der Aufruf „disableMsgType(CAMERA_MSG_VIDEO_FRAME)“ erfolgt ist, ist es Aufgabe der Kamera-HAL, den Lebenszyklus der Videoaufnahmeframes zu verwalten.
   
   
    Definition in Zeile 
     219
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
   
    
     | int(* send_command)(struct
      
       camera_device
      
      *, int32_t cmd, int32_t arg1, int32_t arg2) | 
   
   
  
   
    Befehl an den Kameratreiber senden.
   
   
    Definition in Zeile 
     270
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Benachrichtigungs- und Daten-Callbacks festlegen
   
   
    Definition in Zeile 
     105
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Legen Sie die Kameraparameter fest. Wenn ein Parameter ungültig oder nicht unterstützt ist, wird BAD_VALUE zurückgegeben.
   
   
    Definition in Zeile 
     252
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    ANativeWindow festlegen, an das Vorschauframes gesendet werden
   
   
    Definition in Zeile 
     101
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Starte den Vorschaumodus.
   
   
    Definition in Zeile
    
     144
    
    der Datei
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Starten Sie den Aufnahmemodus. Wenn ein Aufnahmebild verfügbar ist, wird eine CAMERA_MSG_VIDEO_FRAME-Nachricht mit dem entsprechenden Frame gesendet. Jeder Aufnahmeframe muss von einem Kamera-HAL-Client über releaseRecordingFrame() freigegeben werden, bevor der Client disableMsgType(CAMERA_MSG_VIDEO_FRAME) aufruft. Nachdem der Client disableMsgType(CAMERA_MSG_VIDEO_FRAME) aufgerufen hat, ist die HAL der Kamera für die Verwaltung des Lebenszyklus der Videoaufnahmeframes verantwortlich. Der Client darf keine Videoaufnahmeframes ändern oder darauf zugreifen.
   
   
    Definition in Zeile
    
     198
    
    der Datei
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Eine zuvor gestartete Vorschau beenden.
   
   
    Definition in Zeile 
     149
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Eine zuvor gestartete Aufnahme beenden.
   
   
    Definition in Zeile
    
     203
    
    der Datei
    
     camera.h
    
    .
   
   
  
 
 
 
  
   
    
     | int(* store_meta_data_in_buffers)(struct
      
       camera_device
      
      *, int enable) | 
   
   
  
   
    Bitten Sie die HAL der Kamera, Metadaten oder echte YUV-Daten in den Videopuffern zu speichern, die für eine Aufnahmesitzung über CAMERA_MSG_VIDEO_FRAME gesendet werden. Wenn sie nicht aufgerufen wird, werden standardmäßig echte YUV-Daten in den Videopuffern gespeichert.
   
   
    Diese Methode sollte vor startRecording() aufgerufen werden, damit sie effektiv ist.
   
   
    Wenn Metadaten in den Videopuffern gespeichert sind, muss der Empfänger der Videopuffers den Inhalt interpretieren und mithilfe der Metadaten im Puffer die tatsächlichen Frame-Daten finden. Wie das geht, geht über den Rahmen dieser Methode hinaus.
   
   
    Einige Kamera-HALs unterstützen möglicherweise nicht das Speichern von Metadaten in den Videopuffern. Alle Kamera-HALs sollten jedoch das Speichern echter YUV-Daten in den Videopuffern unterstützen. Wenn die HAL der Kamera das Speichern der Metadaten in den Videopuffern nicht unterstützt, wenn dies angefordert wird, muss INVALID_OPERATION zurückgegeben werden. Es ist sehr nützlich, wenn die HAL der Kamera Metadaten anstelle der tatsächlichen Frame-Daten direkt an den Videoencoder weitergibt, da die Menge der unkomprimierten Frame-Daten bei einer großen Videogröße sehr groß sein kann.
   
   
    - 
     Parameter
    
- 
     
      
       | Aktivieren | Wenn „wahr“ ist, wird die HAL der Kamera angewiesen, Metadaten in den Videopuffern zu speichern. Ist „falsch“, wird die HAL der Kamera angewiesen, echte YUV-Daten in den Videopuffern zu speichern. |  
 
    - 
     Returns
    
- 
     „OK“ bei Erfolg.
    
    Definition in Zeile 
     186
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Du nimmst es auf –
   
   
    Definition in Zeile 
     240
    
    der Datei 
     camera.h
    
    .
   
   
  
 
 Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert:
 
  - 
   hardware/libhardware/include/hardware/
   
    camera.h
   
  
 
 
  
  
  
 
  
    
    
      
    
    
  
       
    
    
  
  
  Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
  Zuletzt aktualisiert: 2025-07-27 (UTC).
  
  
  
    
      [[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[]]