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-03-26 (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-03-26 (UTC)."],[],[]]