Начиная с 27 марта 2025 г. мы рекомендуем использовать android-latest-release вместо aosp-main для создания и участия в AOSP. Дополнительные сведения см. в разделе Изменения в AOSP .
         
       
     
  
  
  
    
  
  
  
    
    
      
    
    
      
      Оптимизируйте свои подборки
    
    
      
      Сохраняйте и классифицируйте контент в соответствии со своими настройками.
    
  
  
    
  
  
  
  
    
  
  
    
    
   Справочник по структуре camera_device_ops
 #include < camera.h >
  | 
|  интервал(* |  set_preview_window )(struct camera_device *, structview_stream_ops *window)  | 
 | 
|  пустота(* |  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)  | 
 | 
|  пустота(* |  Enable_msg_type )(struct camera_device *, int32_t msg_type)  | 
 | 
|  пустота(* |  отключить_msg_type )(struct camera_device *, int32_t msg_type)  | 
 | 
|  интервал(* |  msg_type_enabled )(struct camera_device *, int32_t msg_type)  | 
 | 
|  интервал(* |  start_preview )(struct camera_device *)  | 
 | 
|  пустота(* |  stop_preview )(struct camera_device *)  | 
 | 
|  интервал(* |  предварительный просмотр_enabled )(struct camera_device *)  | 
 | 
|  интервал(* |  store_meta_data_in_buffers )(struct camera_device *, int Enable)  | 
 | 
|  интервал(* |  start_recording )(struct camera_device *)  | 
 | 
|  пустота(* |  stop_recording )(struct camera_device *)  | 
 | 
|  интервал(* |  запись_включена )(структура camera_device *)  | 
 | 
|  пустота(* |  Release_recording_frame )(struct camera_device *, const void *opaque)  | 
 | 
|  интервал(* |  auto_focus )(struct camera_device *)  | 
 | 
|  интервал(* |  cancel_auto_focus )(struct camera_device *)  | 
 | 
|  интервал(* |  take_picture )(struct camera_device *)  | 
 | 
|  интервал(* |  cancel_picture )(struct camera_device *)  | 
 | 
|  интервал(* |  set_parameters )(struct camera_device *, const char *parms)  | 
 | 
|  символ *(* |  get_parameters )(struct camera_device *)  | 
 | 
|  пустота(* |  put_parameters )(struct camera_device *, char *)  | 
 | 
|  интервал(* |  send_command )(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)  | 
 | 
|  пустота(* |  выпуск )(struct camera_device *)  | 
 | 
|  интервал(* |  дамп )(struct camera_device *, int fd)  | 
 | 
  Определение в строке 99 файла camera.h . 
 
  Запустите автофокусировку, процедура обратного вызова уведомления вызывается с CAMERA_MSG_FOCUS один раз, когда фокусировка завершена. autoFocus() будет вызываться снова, если потребуется еще один автофокус.
 Определение в строке 227 файла camera.h .
 
  Отменяет функцию автофокусировки. Если автофокусировка все еще выполняется, эта функция отменит ее. Независимо от того, выполняется автофокусировка или нет, эта функция вернет положение фокуса к значению по умолчанию. Если камера не поддерживает автофокус, это бесполезно.
 Определение в строке 235 файла camera.h .
 
  Отмените изображение, которое было начато с помощью takePicture. Вызов этого метода, когда не делается снимок, невозможен.
 Определение в строке 246 файла camera.h .
 
 | void(*disable_msg_type)(struct camera_device *, int32_t msg_type) | 
 Отключить сообщение или набор сообщений.
 После получения вызова DisableMsgType(CAMERA_MSG_VIDEO_FRAME) HAL камеры не должен полагаться на то, что его клиент вызовет ReleaseRecordingFrame() для освобождения кадров видеозаписи, отправленных HAL камеры до и после вызова DisableMsgType(CAMERA_MSG_VIDEO_FRAME). Клиенты HAL камеры не должны изменять или получать доступ к любому кадру видеозаписи после вызова DisableMsgType(CAMERA_MSG_VIDEO_FRAME).
 Определение в строке 132 файла camera.h .
 
  Дамп состояния оборудования камеры
 Определение в строке 282 файла camera.h .
 
 | void(* Enable_msg_type)(struct camera_device *, int32_t msg_type) | 
 Все следующие три функции принимают msg_type, который представляет собой битовую маску сообщений, определенных в include/ui/Camera.h. Включение сообщения или набора сообщений.
 Определение в строке 120 файла camera.h .
 
  Получите параметры камеры. Буфер, возвращаемый HAL камеры, должен быть возвращен ему обратно с помощью put_parameters, если put_parameters не равно NULL.
 Определение в строке 258 файла camera.h .
 
 | int(* msg_type_enabled)(struct camera_device *, int32_t msg_type) | 
 Запросить, включено ли сообщение или набор сообщений. Обратите внимание, что это работает как оператор AND: если какое-либо из запрошенных сообщений отключено, это вернет false.
 Определение в строке 139 файла camera.h .
 
  Возвращает true, если предварительный просмотр включен.
 Определение в строке 154 файла camera.h .
 
  HAL камеры использует собственную память для передачи нам параметров, когда мы вызываем get_parameters. Используйте эту функцию, чтобы вернуть память обратно в HAL камеры, если put_parameters не равно NULL. Если put_parameters имеет значение NULL, вам придется использовать free() для освобождения памяти.
 Определение в строке 265 файла camera.h .
 
  Возвращает true, если запись включена.
 Определение в строке 208 файла camera.h .
 
  Освободите аппаратные ресурсы, принадлежащие этому объекту. Обратите внимание, что это не делается в деструкторе.
 Определение в строке 277 файла camera.h .
 
 | void(* Release_recording_frame)(struct camera_device *, const void *opaque) | 
 Освободите кадр записи, ранее возвращенный CAMERA_MSG_VIDEO_FRAME.
 Клиент HAL камеры несет ответственность за освобождение кадров видеозаписи, отправленных HAL камеры, до того, как HAL камеры получит вызов DisableMsgType(CAMERA_MSG_VIDEO_FRAME). После получения вызова DisableMsgType(CAMERA_MSG_VIDEO_FRAME) HAL камеры отвечает за управление жизненным циклом кадров видеозаписи.
 Определение в строке 219 файла camera.h .
 
 | int(* send_command)(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) | 
 Отправьте команду драйверу камеры.
 Определение в строке 270 файла camera.h .
 
  Установите уведомления и обратные вызовы данных
 Определение в строке 105 файла camera.h .
 
  Установите параметры камеры. Это возвращает BAD_VALUE, если какой-либо параметр недействителен или не поддерживается.
 Определение в строке 252 файла camera.h .
 
  Установите ANativeWindow, в которое отправляются кадры предварительного просмотра.
 Определение в строке 101 файла camera.h .
 
  Запустите режим предварительного просмотра.
 Определение в строке 144 файла camera.h .
 
  Запустите режим записи. Когда изображение записи доступно, сообщение CAMERA_MSG_VIDEO_FRAME отправляется с соответствующим кадром. Каждый кадр записи должен быть освобожден клиентом HAL камеры через ReleaseRecordingFrame() до того, как клиент вызовет метод DisableMsgType(CAMERA_MSG_VIDEO_FRAME). После того, как клиент вызывает DisableMsgType(CAMERA_MSG_VIDEO_FRAME), HAL камеры отвечает за управление жизненным циклом кадров видеозаписи, и клиент не должен изменять или получать доступ к каким-либо кадрам видеозаписи.
 Определение в строке 198 файла camera.h .
 
  Остановите ранее запущенный предварительный просмотр.
 Определение в строке 149 файла camera.h .
 
  Остановить ранее начатую запись.
 Определение в строке 203 файла camera.h .
 
 | int(* store_meta_data_in_buffers)(struct camera_device *, int Enable) | 
 Запросите HAL камеры для хранения метаданных или реальных данных YUV в видеобуферах, отправленных через CAMERA_MSG_VIDEO_FRAME для сеанса записи. Если он не вызывается, поведение HAL камеры по умолчанию заключается в сохранении реальных данных YUV в видеобуферах.
 Этот метод следует вызывать перед startRecording(), чтобы он был эффективным.
 Если метаданные хранятся в видеобуферах, то получатель видеобуферов должен интерпретировать содержимое и найти фактические данные кадра с помощью метаданных в буфере. То, как это делается, выходит за рамки данного метода.
 Некоторые HAL камер могут не поддерживать хранение метаданных в видеобуферах, но все HAL камер должны поддерживать сохранение реальных данных YUV в видеобуферах. Если HAL камеры не поддерживает сохранение метаданных в видеобуферах, когда это запрашивается, должен быть возвращен INVALID_OPERATION. Для HAL камеры очень полезно передавать метаданные, а не фактические данные кадра, непосредственно в видеокодер, поскольку объем несжатых данных кадра может быть очень большим, если размер видео велик.
-  Параметры
 |  давать возможность |  если true, чтобы указать HAL камеры хранить метаданные в видеобуферах; false, чтобы указать HAL камеры хранить реальные данные YUV в видеобуферах. | 
-  Возврат
 -  ОК, успех.
 
 Определение в строке 186 файла camera.h .
 
  Сделать фото.
 Определение в строке 240 файла camera.h .
 Документация для этой структуры была создана из следующего файла:
-  Аппаратное обеспечение/libhardware/include/hardware/ camera.h
 
 
  
  
 
  
    
    
      
    
    
  
       
    
    
  
  
  Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
  Последнее обновление: 2025-07-29 UTC.
  
  
  
    
      [[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 UTC."],[],[]]