A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release anziché aosp-main per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
  
         
       
     
  
  
  
    
  
  
  
    
    
      
    
    
      
      Mantieni tutto organizzato con le raccolte
    
    
      
      Salva e classifica i contenuti in base alle tue preferenze.
    
  
  
    
  
  
  
  
    
  
  
    
    
    
  
  Riferimento alla struttura 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) | 
  
   |  | 
 
 
 
 
 
  
   Definizione nella riga
   
    99
   
   del file
   
    camera.h
   
    .
  
  
 
 
 
 
  
  
   
    Avvia la messa a fuoco automatica. La routine di callback della notifica viene chiamata con CAMERA_MSG_FOCUS una volta al termine della messa a fuoco. autoFocus() verrà chiamato di nuovo se è necessaria un'altra messa a fuoco automatica.
   
   
    Definizione nella riga
    
     227
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Annullamento della funzione di messa a fuoco automatica. Se la messa a fuoco automatica è ancora in corso, questa funzione la annulla. Indipendentemente dal fatto che l'autofocus sia in corso o meno, questa funzione reimposta la posizione di messa a fuoco predefinita. Se la fotocamera non supporta l'autofocus, questa operazione non viene eseguita.
   
   
    Definizione nella riga
    
     235
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Annullare una foto avviata con takePicture. La chiamata di questo metodo quando non viene scattata alcuna foto non ha alcun effetto.
   
   
    Definizione nella riga
    
     246
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
   
    
     | void(* disable_msg_type)(struct
      
       camera_device
      
      *, int32_t msg_type) | 
   
   
  
   
    Disattivare un messaggio o un insieme di messaggi.
   
   
    Una volta ricevuta una chiamata a disableMsgType(CAMERA_MSG_VIDEO_FRAME), l'HAL della videocamera non deve fare affidamento sul proprio client per chiamare releaseRecordingFrame() per rilasciare i frame di registrazione video inviati dall'HAL della videocamera prima e dopo la chiamata a disableMsgType(CAMERA_MSG_VIDEO_FRAME). I client HAL della fotocamera non devono modificare/accedere a nessun frame di registrazione video dopo aver chiamato disableMsgType(CAMERA_MSG_VIDEO_FRAME).
   
   
    Definizione nella riga
    
     132
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Dump dello stato dell'hardware della videocamera
   
   
    Definizione nella riga
    
     282
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
   
    
     | void(* enable_msg_type)(struct
      
       camera_device
      
      *, int32_t msg_type) | 
   
   
  
   
    Le tre funzioni seguenti accettano tutte un msg_type, che è una maschera di bit dei messaggi definiti in include/ui/Camera.h Attiva un messaggio o un insieme di messaggi.
   
   
    Definizione nella riga
    
     120
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Recupera i parametri della videocamera. Il buffer restituito dall'HAL della fotocamera deve essere restituito con put_parameters, se put_parameters non è NULL.
   
   
    Definizione nella riga
    
     258
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
   
    
     | int(* msg_type_enabled)(struct
      
       camera_device
      
      *, int32_t msg_type) | 
   
   
  
   
    Esegui una query per verificare se un messaggio o un insieme di messaggi è attivato. Tieni presente che questa operazione funziona come un AND, se uno dei messaggi sottoposti a query è disattivato, restituirà false.
   
   
    Definizione nella riga
    
     139
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Restituisce true se l'anteprima è attivata.
   
   
    Definizione nella riga
    
     154
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    L'HAL della fotocamera utilizza la propria memoria per trasmetterci i parametri quando chiamiamo get_parameters. Utilizza questa funzione per restituire la memoria all'HAL della videocamera, se put_parameters non è NULL. Se put_parameters è NULL, devi utilizzare free() per liberare la memoria.
   
   
    Definizione nella riga
    
     265
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Restituisce il valore True se la registrazione è attivata.
   
   
    Definizione nella riga
    
     208
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Libera le risorse hardware di proprietà di questo oggetto. Tieni presente che questo avviene
    
     non
    
    nel distruttore.
   
   
    Definizione nella riga
    
     277
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
   
    
     | void(* release_recording_frame)(struct
      
       camera_device
      
      *, const void *opaque) | 
   
   
  
   
    Rilascia un frame di registrazione restituito in precedenza da CAMERA_MSG_VIDEO_FRAME.
   
   
    È responsabilità del client HAL della fotocamera rilasciare i frame di registrazione video inviati dall'HAL della fotocamera prima che l'HAL della fotocamera riceva una chiamata a disableMsgType(CAMERA_MSG_VIDEO_FRAME). Dopo aver ricevuto la chiamata a disableMsgType(CAMERA_MSG_VIDEO_FRAME), è responsabilità dell'HAL della fotocamera gestire il ciclo di vita dei frame di registrazione video.
   
   
    Definizione nella riga
    
     219
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
   
    
     | int(* send_command)(struct
      
       camera_device
      
      *, int32_t cmd, int32_t arg1, int32_t arg2) | 
   
   
  
   
    Invia il comando al driver della videocamera.
   
   
    Definizione nella riga
    
     270
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Imposta i callback di notifica e dati
   
   
    Definizione nella riga
    
     105
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Imposta i parametri della videocamera. Restituisce BAD_VALUE se un parametro non è valido o non è supportato.
   
   
    Definizione nella riga
    
     252
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Imposta l'ANativeWindow a cui vengono inviati i frame di anteprima
   
   
    Definizione alla riga
    
     101
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Avvia la modalità di anteprima.
   
   
    Definizione nella riga
    
     144
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Avvia la modalità di registrazione. Quando è disponibile un'immagine del record, viene inviato un messaggio CAMERA_MSG_VIDEO_FRAME con il frame corrispondente. Ogni frame di registrazione deve essere rilasciato da un client HAL della videocamera tramite releaseRecordingFrame() prima che il client chiami disableMsgType(CAMERA_MSG_VIDEO_FRAME). Dopo che il client chiama disableMsgType(CAMERA_MSG_VIDEO_FRAME), è responsabilità dell'HAL della fotocamera gestire il ciclo di vita dei frame di registrazione video e il client non deve modificare/accedere a nessun frame di registrazione video.
   
   
    Definizione nella riga
    
     198
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Interrompere un'anteprima avviata in precedenza.
   
   
    Definizione alla riga
    
     149
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Interrompere una registrazione avviata in precedenza.
   
   
    Definizione alla riga
    
     203
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
   
    
     | int(* store_meta_data_in_buffers)(struct
      
       camera_device
      
      *, int enable) | 
   
   
  
   
    Richiedi all'HAL della fotocamera di archiviare metadati o dati YUV reali nei buffer video inviati tramite CAMERA_MSG_VIDEO_FRAME per una sessione di registrazione. Se non viene chiamato, il comportamento predefinito dell'HAL della fotocamera è archiviare i dati YUV reali nei buffer video.
   
   
    Per essere efficace, questo metodo deve essere chiamato prima di startRecording().
   
   
    Se i metadati vengono memorizzati nei buffer video, è compito del destinatario dei buffer video interpretare i contenuti e trovare i dati effettivi dei frame con l'aiuto dei metadati nel buffer. La modalità di esecuzione non rientra nell'ambito di questo metodo.
   
   
    Alcuni HAL della fotocamera potrebbero non supportare la memorizzazione dei metadati nei buffer video, ma tutti gli HAL della fotocamera dovrebbero supportare la memorizzazione di dati YUV reali nei buffer video. Se l'HAL della videocamera non supporta la memorizzazione dei metadati nei buffer video quando viene richiesto, deve essere restituito INVALID_OPERATION. È molto utile per l'HAL della fotocamera passare i metadati anziché i dati effettivi dei fotogrammi direttamente all'encoder video, poiché la quantità di dati dei fotogrammi non compressi può essere molto grande se le dimensioni del video sono elevate.
   
   
    - 
     Parametri
    
- 
     
      
       | Attiva | Se true, indica all'HAL della fotocamera di archiviare i metadati nei buffer video; false per indicare all'HAL della fotocamera di archiviare i dati YUV reali nei buffer video. |  
 
    - 
     Ritorni
    
- 
     OK in caso di successo.
    
    Definizione nella riga
    
     186
    
    del file
    
     camera.h
    
    .
   
   
  
 
 
 
  
  
   
    Scatta una foto.
   
   
    Definizione nella riga
    
     240
    
    del file
    
     camera.h
    
    .
   
   
  
 
 La documentazione di questa struttura è stata generata dal seguente file:
 
  - 
   hardware/libhardware/include/hardware/
   
    camera.h
   
  
 
 
  
  
  
 
  
    
    
      
    
    
  
       
    
    
  
  
  I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
  Ultimo aggiornamento 2025-07-27 UTC.
  
  
  
    
      [[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-27 UTC."],[],[]]