A partir de 27 de março de 2025, recomendamos usar android-latest-release
em vez de aosp-main
para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Referência da estrutura 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)
|
|
Definição na linha
99
do arquivo
camera.h
.
Inicia o foco automático. A rotina de callback de notificação é chamada com CAMERA_MSG_FOCUS uma vez quando o foco é concluído. A função autoFocus() é chamada novamente se outro foco automático for necessário.
Definição na linha
227
do arquivo
camera.h
.
Cancela a função de foco automático. Se o foco automático ainda estiver em andamento, essa função vai cancelá-lo. Independentemente de o foco automático estar em andamento ou não, essa função vai retornar a posição de foco para o padrão. Se a câmera não tiver suporte para foco automático, isso não vai funcionar.
Definição na linha
235
do arquivo
camera.h
.
Cancele uma foto que foi iniciada com takePicture. Chamar esse método quando nenhuma foto está sendo tirada não causa nenhum efeito.
Definição na linha
246
do arquivo
camera.h
.
void(* disable_msg_type)(struct
camera_device
*, int32_t msg_type)
|
Desative uma mensagem ou um conjunto de mensagens.
Depois de receber uma chamada para disableMsgType(CAMERA_MSG_VIDEO_FRAME), o HAL da câmera não deve depender do cliente para chamar releaseRecordingFrame() e liberar os frames de gravação de vídeo enviados pelo HAL da câmera antes e depois da chamada disableMsgType(CAMERA_MSG_VIDEO_FRAME). Os clientes do HAL da câmera não podem modificar/acessar nenhum frame de gravação de vídeo após chamar disableMsgType(CAMERA_MSG_VIDEO_FRAME).
Definição na linha
132
do arquivo
camera.h
.
Estado de despejo do hardware da câmera
Definição na linha
282
do arquivo
camera.h
.
void(* enable_msg_type)(struct
camera_device
*, int32_t msg_type)
|
As três funções a seguir usam um msg_type, que é uma máscara de bits das mensagens definidas em include/ui/Camera.h. Ative uma mensagem ou um conjunto de mensagens.
Definição na linha
120
do arquivo
camera.h
.
Extraia os parâmetros da câmera. O buffer retornado pelo HAL da câmera precisa ser retornado a ele com put_parameters, se put_parameters não for NULL.
Definição na linha
258
do arquivo
camera.h
.
int(* msg_type_enabled)(struct
camera_device
*, int32_t msg_type)
|
Consultar se uma mensagem ou um conjunto de mensagens está ativado. Isso funciona como um AND. Se alguma das mensagens consultadas estiver desativada, o resultado será falso.
Definição na linha
139
do arquivo
camera.h
.
Retorna verdadeiro se a visualização estiver ativada.
Definição na linha
154
do arquivo
camera.h
.
O HAL da câmera usa a própria memória para transmitir os parâmetros quando chamamos get_parameters. Use essa função para retornar a memória ao HAL da câmera, se put_parameters não for NULL. Se put_parameters for NULL, use free() para liberar a memória.
Definição na linha
265
do arquivo
camera.h
.
Retorna verdadeiro se a gravação estiver ativada.
Definição na linha
208
do arquivo
camera.h
.
Libere os recursos de hardware pertencentes a esse objeto. Isso não é
feito
no destrutor.
Definição na linha
277
do arquivo
camera.h
.
void(* release_recording_frame)(struct
camera_device
*, const void *opaque)
|
Libere um frame de gravação retornado anteriormente por CAMERA_MSG_VIDEO_FRAME.
É responsabilidade do cliente da HAL da câmera liberar os frames de gravação de vídeo enviados pela HAL da câmera antes que ela receba uma chamada para disableMsgType(CAMERA_MSG_VIDEO_FRAME). Depois de receber a chamada para disableMsgType(CAMERA_MSG_VIDEO_FRAME), é responsabilidade do HAL da câmera gerenciar o ciclo de vida dos frames de gravação de vídeo.
Definição na linha
219
do arquivo
camera.h
.
int(* send_command)(struct
camera_device
*, int32_t cmd, int32_t arg1, int32_t arg2)
|
Enviar comando para o driver da câmera.
Definição na linha
270
do arquivo
camera.h
.
Definir os callbacks de notificação e dados
Definição na linha
105
do arquivo
camera.h
.
Defina os parâmetros da câmera. Isso retorna BAD_VALUE se algum parâmetro for inválido ou não tiver suporte.
Definição na linha
252
do arquivo
camera.h
.
Definir a ANativeWindow para a qual os frames de visualização são enviados
Definição na linha
101
do arquivo
camera.h
.
Inicie o modo de visualização.
Definição na linha
144
do arquivo
camera.h
.
Iniciar o modo de gravação. Quando uma imagem de registro está disponível, uma mensagem CAMERA_MSG_VIDEO_FRAME é enviada com o frame correspondente. Cada frame de gravação precisa ser liberado por um cliente HAL da câmera usando releaseRecordingFrame() antes que o cliente chame disableMsgType(CAMERA_MSG_VIDEO_FRAME). Depois que o cliente chama disableMsgType(CAMERA_MSG_VIDEO_FRAME), é responsabilidade do HAL da câmera gerenciar o ciclo de vida dos frames de gravação de vídeo, e o cliente não pode modificar/acessar nenhum frame de gravação de vídeo.
Definição na linha
198
do arquivo
camera.h
.
Interromper uma prévia iniciada anteriormente.
Definição na linha
149
do arquivo
camera.h
.
Interromper uma gravação iniciada anteriormente.
Definição na linha
203
do arquivo
camera.h
.
int(* store_meta_data_in_buffers)(struct
camera_device
*, int enable)
|
Solicitar que o HAL da câmera armazene metadados ou dados YUV reais nos buffers de vídeo enviados por CAMERA_MSG_VIDEO_FRAME para uma sessão de gravação. Se não for chamado, o comportamento padrão do HAL da câmera será armazenar dados YUV reais nos buffers de vídeo.
Esse método precisa ser chamado antes de startRecording() para ser eficaz.
Se os metadados forem armazenados nos buffers de vídeo, caberá ao receptor dos buffers de vídeo interpretar o conteúdo e encontrar os dados de frame reais com a ajuda dos metadados no buffer. A forma de fazer isso está fora do escopo deste método.
Alguns HALs de câmera podem não oferecer suporte ao armazenamento de metadados nos buffers de vídeo, mas todos os HALs de câmera precisam oferecer suporte ao armazenamento de dados YUV reais nos buffers de vídeo. Se o HAL da câmera não oferecer suporte ao armazenamento dos metadados nos buffers de vídeo quando solicitado, o erro INVALID_OPERATION será retornado. É muito útil para o HAL da câmera transmitir metadados em vez dos dados de frame diretamente para o codificador de vídeo, já que a quantidade de dados de frame descompactados pode ser muito grande se o tamanho do vídeo for grande.
-
Parâmetros
-
ativar
|
Se verdadeiro, instrui o HAL da câmera a armazenar metadados nos buffers de vídeo. Se falso, instrui o HAL da câmera a armazenar dados YUV reais nos buffers de vídeo.
|
-
Retorna
-
OK se a operação for concluída.
Definição na linha
186
do arquivo
camera.h
.
Tire uma foto.
Definição na linha
240
do arquivo
camera.h
.
A documentação desse struct foi gerada com base no seguinte arquivo:
-
hardware/libhardware/include/hardware/
camera.h
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-03-26 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-03-26 UTC."],[],[]]