Od 27 marca 2025 r. zalecamy używanie android-latest-release
zamiast aosp-main
do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Informacje o strukturze 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)
|
|
Definicja w wierszu
99
pliku
camera.h
.
Rozpocznij autofokusowanie. Gdy autofokusowanie zostanie zakończone, wywołana zostanie raz procedura wywołania zwrotnego powiadomienia z parametrem CAMERA_MSG_FOCUS. Jeśli autofokusowanie będzie potrzebne ponownie, zostanie wywołana funkcja autoFocus().
Definicja w wierszu
227
pliku
camera.h
.
Anuluje funkcję autofokusa. Jeśli autofokusowanie jest nadal w toku, ta funkcja go anuluje. Ta funkcja przywraca domyślną pozycję ostrości niezależnie od tego, czy autofokus jest włączony. Jeśli aparat nie obsługuje autofokusa, ta opcja nie będzie dostępna.
Definicja w wierszu
235
pliku
camera.h
.
Anulowanie zdjęcia, które zostało rozpoczęte za pomocą metody takePicture. Wywołanie tej metody, gdy nie jest wykonywane żadne zdjęcie, nie powoduje żadnego działania.
Definicja w wierszu
246
w pliku
camera.h
.
void(* disable_msg_type)(struct
camera_device
*, int32_t msg_type)
|
Wyłącz wiadomość lub zestaw wiadomości.
Po otrzymaniu wywołania disableMsgType(CAMERA_MSG_VIDEO_FRAME) interfejs HAL aparatu nie powinien polegać na tym, że klient wywoła releaseRecordingFrame(), aby zwolnić ramki nagrywania wideo wysłane przez interfejs HAL aparatu przed i po wywołaniu disableMsgType(CAMERA_MSG_VIDEO_FRAME). Po wywołaniu funkcji disableMsgType(CAMERA_MSG_VIDEO_FRAME) klienci HAL aparatu nie mogą modyfikować ani uzyskiwać dostępu do żadnego kadru nagrywania wideo.
Definicja w wierszu
132
pliku
camera.h
.
stan sprzętu aparatu;
Definicja w wierszu
282
pliku
camera.h
.
void(* enable_msg_type)(struct
camera_device
*, int32_t msg_type)
|
Wszystkie 3 funkcje przyjmują parametr msg_type, który jest maską bitową wiadomości zdefiniowanych w include/ui/Camera.h. Umożliwiają one włączenie wiadomości lub zestawu wiadomości.
Definicja w wierszu
120
pliku
camera.h
.
Pobierz parametry aparatu. Bufor zwrócony przez interfejs HAL aparatu musi zostać zwrócony z powrotem do niego za pomocą put_parameters, jeśli parametr put_parameters nie ma wartości NULL.
Definicja w wierszu
258
w pliku
camera.h
.
int(* msg_type_enabled)(struct
camera_device
*, int32_t msg_type)
|
Zapytanie o to, czy wiadomość lub zestaw wiadomości jest włączony. Pamiętaj, że działa to jak operator AND (z łączeniem logicznym AND). Jeśli którykolwiek z wyszukanych komunikatów jest wyłączony, zwrócona zostanie wartość false (fałsz).
Definicja w wierszu
139
pliku
camera.h
.
Zwraca wartość „prawda”, jeśli podgląd jest włączony.
Definicja w wierszu
154
pliku
camera.h
.
Gdy wywołujemy get_parameters, HAL aparatu używa własnej pamięci do przekazywania nam parametrów. Użyj tej funkcji, aby przywrócić pamięć do aparatu HAL, jeśli put_parameters nie ma wartości NULL. Jeśli parametr put_parameters ma wartość NULL, musisz użyć funkcji free(), aby zwolnić pamięć.
Definicja w wierszu
265
pliku
camera.h
.
Zwraca wartość „prawda”, jeśli nagrywanie jest włączone.
Definicja w wierszu
208
pliku
camera.h
.
Zwolnij zasoby sprzętowe należące do tego obiektu. Pamiętaj, że
nie należy tego robić w destruktorze.
Definicja w wierszu
277
pliku
camera.h
.
void(* release_recording_frame)(struct
camera_device
*, const void *opaque)
|
Zwolnij ramkę rekordu zwróconą wcześniej przez CAMERA_MSG_VIDEO_FRAME.
Klient HAL aparatu jest odpowiedzialny za zwolnienie ramek nagrywania wideo wysłanych przez HAL aparatu przed wywołaniem metody disableMsgType(CAMERA_MSG_VIDEO_FRAME). Po otrzymaniu wywołania disableMsgType(CAMERA_MSG_VIDEO_FRAME) zarządzanie cyklem życia ramek nagrywania wideo należy do interfejsu HAL aparatu.
Definicja w wierszu
219
pliku
camera.h
.
int(* send_command)(struct
camera_device
*, int32_t cmd, int32_t arg1, int32_t arg2)
|
Wysyłanie polecenia do sterownika kamery.
Definicja w wierszu
270
pliku
camera.h
.
Konfigurowanie funkcji wywołania zwrotnego powiadomienia i danych
Definicja w wierszu
105
w pliku
camera.h
.
Ustaw parametry kamery. Zwraca wartość BAD_VALUE, jeśli którykolwiek z parametrów jest nieprawidłowy lub nieobsługiwany.
Definicja w wierszu
252
w pliku
camera.h
.
Ustaw ANativeWindow, do którego wysyłane są ramki podglądu.
Definicja w wierszu
101
pliku
camera.h
.
Uruchom tryb podglądu.
Definicja w wierszu
144
w pliku
camera.h
.
Rozpocznij nagrywanie. Gdy obraz z nagrania jest dostępny, wysyłana jest wiadomość CAMERA_MSG_VIDEO_FRAME z odpowiednim obrazem. Każda klatka do nagrywania musi zostać zwolniona przez klienta HAL aparatu za pomocą funkcji releaseRecordingFrame() przed wywołaniem przez klienta disableMsgType(CAMERA_MSG_VIDEO_FRAME). Po wywołaniu przez klienta metody disableMsgType(CAMERA_MSG_VIDEO_FRAME) zarządzanie cyklem życia ramek nagrywania wideo należy do interfejsu HAL aparatu. Klient nie może modyfikować ani uzyskiwać dostępu do żadnych ramek nagrywania wideo.
Definicja w wierszu
198
pliku
camera.h
.
Zatrzymanie rozpoczętego wcześniej podglądu.
Definicja w wierszu
149
pliku
camera.h
.
Zatrzymać wcześniej rozpoczęte nagrywanie.
Definicja w wierszu
203
pliku
camera.h
.
int(* store_meta_data_in_buffers)(struct
camera_device
*, int enable)
|
Poproś HAL kamery o zapisanie metadanych lub rzeczywistych danych YUV w buforach wideo wysyłanych za pomocą CAMERA_MSG_VIDEO_FRAME podczas sesji nagrywania. Jeśli nie zostanie wywołany, domyślne zachowanie HAL kamery polega na przechowywaniu rzeczywistych danych YUV w buforach wideo.
Aby ta metoda była skuteczna, należy ją wywołać przed wywołaniem metody startRecording().
Jeśli metadane są przechowywane w buforze wideo, odbiorca bufora wideo musi interpretować zawartość i znajdować rzeczywiste dane ramki za pomocą metadanych w buforze. Sposób wykonania tej operacji wykracza poza zakres tej metody.
Niektóre interfejsy HAL kamery mogą nie obsługiwać przechowywania metadanych w buforach wideo, ale wszystkie interfejsy HAL kamery powinny obsługiwać przechowywanie rzeczywistych danych YUV w buforach wideo. Jeśli interfejs HAL aparatu nie obsługuje przechowywania metadanych w buforach wideo, gdy jest to wymagane, należy zwrócić kod błędu INVALID_OPERATION. W przypadku sterownika HAL aparatu bardzo przydatne jest przekazywanie metadanych zamiast rzeczywistych danych ramki bezpośrednio do kodera wideo, ponieważ w przypadku dużych rozmiarów filmu ilość nieskompresowanych danych ramki może być bardzo duża.
-
Parametry
-
włącz
|
Jeśli to pole ma wartość true, HAL aparatu przechowuje metadane w buforach wideo. Jeśli to pole ma wartość false, HAL aparatu przechowuje rzeczywiste dane YUV w buforach wideo.
|
-
Zwroty
-
OK w przypadku powodzenia.
Definicja w wierszu
186
pliku
camera.h
.
Zrób zdjęcie.
Definicja w wierszu
240
w pliku
camera.h
.
Dokumentacja tego typu danych została wygenerowana z tego pliku:
-
hardware/libhardware/include/hardware/
camera.h
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-03-26 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-03-26 UTC."],[],[]]