Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Camera_device_ops Yapı Referansı
#include < camera.h >
|
int(* | set_preview_window )(struct kamera_device *, struct önizleme_stream_ops *pencere) |
|
geçersiz(* | 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) |
|
geçersiz(* | active_msg_type )(struct kamera_device *, int32_t msg_type) |
|
geçersiz(* | devre dışı_msg_type )(struct kamera_device *, int32_t msg_type) |
|
int(* | msg_type_enabled )(struct kamera_device *, int32_t msg_type) |
|
int(* | start_preview )(struct kamera_device *) |
|
geçersiz(* | stop_preview )(struct kamera_device *) |
|
int(* | önizleme_enabled )(struct kamera_device *) |
|
int(* | Store_meta_data_in_buffers )(struct kamera_device *, int etkinleştir) |
|
int(* | start_recording )(struct kamera_device *) |
|
geçersiz(* | stop_recording )(struct kamera_device *) |
|
int(* | kayıt_enabled )( kamera_device'ı yapılandır *) |
|
geçersiz(* | Release_recording_frame )(struct kamera_device *, const void *opaque) |
|
int(* | auto_focus )(struct kamera_device *) |
|
int(* | cancel_auto_focus )( maker_device *) |
|
int(* | take_picture )(struct kamera_device *) |
|
int(* | cancel_picture )(struct kamera_device *) |
|
int(* | set_parameters )(struct kamera_device *, const char *parms) |
|
karakter *(* | get_parameters )(struct kamera_device *) |
|
geçersiz(* | put_parameters )(struct kamera_device *, char *) |
|
int(* | send_command )(struct kamera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
|
geçersiz(* | yayın )(struct kamera_device *) |
|
int(* | dump )(struct kamera_device *, int fd) |
|
Camera.h dosyasının 99. satırındaki tanım.
Otomatik odaklamayı başlatın, odaklanma tamamlandığında bildirim geri arama rutini CAMERA_MSG_FOCUS ile bir kez çağrılır. Başka bir otomatik odaklamaya ihtiyaç duyulursa autoFocus() tekrar çağrılacaktır.
Camera.h dosyasının 227. satırındaki tanım.
Otomatik odaklama işlevini iptal eder. Otomatik odaklama hala devam ediyorsa bu işlev onu iptal edecektir. Otomatik odaklama devam etse de etmese de, bu işlev odak konumunu varsayılana döndürecektir. Kamera otomatik odaklamayı desteklemiyorsa bu işlem yapılmaz.
Camera.h dosyasının 235. satırındaki tanım.
TakePicture ile başlatılan bir resmi iptal edin. Hiçbir resim çekilmediğinde bu yöntemin çağrılması işlem yapılmaz.
Camera.h dosyasının 246. satırındaki tanım.
void(* devre dışı_msg_type)(struct kamera_device *, int32_t msg_type) |
Bir mesajı veya bir dizi mesajı devre dışı bırakın.
DisableMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısı alındıktan sonra kamera HAL, DisableMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısından önce ve sonra kameral HAL tarafından gönderilen video kayıt çerçevelerini serbest bırakmak için ReleaseRecordingFrame() çağrısını yapmak üzere istemcisine güvenmemelidir. Kamera HAL istemcileri,disableMsgType(CAMERA_MSG_VIDEO_FRAME) çağrıldıktan sonra herhangi bir video kayıt karesini değiştirmemeli/erişmemelidir.
Camera.h dosyasının 132. satırındaki tanım.
Kamera donanımının döküm durumu
Camera.h dosyasının 282. satırındaki tanım.
void(* active_msg_type)(struct kamera_device *, int32_t msg_type) |
Aşağıdaki üç işlevin tümü, include/ui/Camera.h'de tanımlanan mesajların bit maskesi olan msg_type'ı alır. Bir mesajı veya mesaj kümesini etkinleştirin.
Camera.h dosyasının 120. satırındaki tanım.
Kamera parametrelerini alın. HAL kamerası tarafından döndürülen arabellek, eğer put_parameters NULL değilse, put_parameters ile ona geri döndürülmelidir.
Camera.h dosyasının 258. satırındaki tanım.
int(* msg_type_enabled)(struct kamera_device *, int32_t msg_type) |
Bir mesajın veya bir mesaj grubunun etkin olup olmadığını sorgulayın. Bunun bir VE olarak çalıştığını unutmayın; sorgulanan mesajlardan herhangi biri kapalıysa, bu yanlış değerini döndürecektir.
Camera.h dosyasının 139. satırındaki tanım.
Önizleme etkinse true değerini döndürür.
Camera.h dosyasının 154. satırındaki tanım.
HAL kamerası, get_parameters'ı çağırdığımızda parametreleri bize iletmek için kendi belleğini kullanır. put_parameters NULL değilse, belleği kamera HAL'sine geri döndürmek için bu işlevi kullanın. put_parameters NULL ise, belleği serbest bırakmak için free() işlevini kullanmanız gerekir.
Camera.h dosyasının 265. satırındaki tanım.
Kayıt etkinse true değerini döndürür.
Camera.h dosyasının 208. satırındaki tanım.
Bu nesnenin sahip olduğu donanım kaynaklarını serbest bırakın. Bunun yıkıcıda yapılmadığını unutmayın.
Camera.h dosyasının 277. satırındaki tanım.
void(*release_recording_frame)(struct kamera_device *, const void *opaque) |
Daha önce CAMERA_MSG_VIDEO_FRAME tarafından döndürülen bir kayıt çerçevesini serbest bırakın.
Kamera HAL'i, MsgType'ı devre dışı bırakmak için bir çağrı almadan önce, kamera HAL'i tarafından gönderilen video kayıt çerçevelerini serbest bırakmak kamera HAL istemcisinin sorumluluğundadır(CAMERA_MSG_VIDEO_FRAME). DisableMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısını aldıktan sonra, video kayıt çerçevelerinin yaşam döngüsünü yönetmek kamera HAL'nin sorumluluğundadır.
Camera.h dosyasının 219. satırındaki tanım.
int(* send_command)(struct kamera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
Komutu kamera sürücüsüne gönderin.
Camera.h dosyasının 270. satırındaki tanım.
Bildirimi ve veri geri aramalarını ayarlayın
Camera.h dosyasının 105. satırındaki tanım.
Kamera parametrelerini ayarlayın. Herhangi bir parametre geçersizse veya desteklenmiyorsa bu, BAD_VALUE değerini döndürür.
Camera.h dosyasının 252. satırındaki tanım.
Önizleme çerçevelerinin gönderileceği ANativeWindow'u ayarlayın
Camera.h dosyasının 101. satırındaki tanım.
Önizleme modunu başlatın.
Camera.h dosyasının 144. satırındaki tanım.
Kayıt modunu başlatın. Bir kayıt görüntüsü mevcut olduğunda, karşılık gelen çerçeveyle birlikte bir CAMERA_MSG_VIDEO_FRAME mesajı gönderilir. Her kayıt karesi, istemcinindisableMsgType(CAMERA_MSG_VIDEO_FRAME) öğesini çağırmadan önce, bir kamera HAL istemcisi tarafından,releaseRecordingFrame() aracılığıyla serbest bırakılması gerekir. İstemci, devre dışı bırakmaMsgType(CAMERA_MSG_VIDEO_FRAME) çağrısını yaptıktan sonra, video kayıt çerçevelerinin yaşam döngüsünü yönetmek kamera HAL'nin sorumluluğundadır ve istemci, herhangi bir video kayıt çerçevesini değiştirmemeli/erişmemelidir.
Camera.h dosyasının 198. satırındaki tanım.
Daha önce başlatılan bir önizlemeyi durdurun.
Camera.h dosyasının 149. satırındaki tanım.
Daha önce başlatılmış bir kaydı durdurun.
Camera.h dosyasının 203. satırındaki tanım.
int(*store_meta_data_in_buffers)(struct kamera_device *, int etkinleştir) |
Kamera HAL'sinden, bir kayıt oturumu için CAMERA_MSG_VIDEO_FRAME aracılığıyla gönderilen video arabelleklerinde meta verileri veya gerçek YUV verilerini depolamasını isteyin. Çağrılmazsa, varsayılan kamera HAL davranışı, gerçek YUV verilerini video arabelleklerinde depolamaktır.
Etkili olabilmesi için bu yöntemin startRecording() işleminden önce çağrılması gerekir.
Meta veriler video arabelleklerinde depolanıyorsa, içerikleri yorumlamak ve arabellekteki meta veriler yardımıyla gerçek çerçeve verilerini bulmak video arabelleklerinin alıcısına kalmıştır. Bunun nasıl yapıldığı bu yöntemin kapsamı dışındadır.
Bazı kamera HAL'leri, meta verilerinin video arabelleklerinde saklanmasını desteklemeyebilir, ancak tüm kamera HAL'leri, gerçek YUV verilerinin video arabelleklerinde saklanmasını desteklemelidir. Kamera HAL'si, istendiğinde meta verilerinin video arabelleklerinde saklanmasını desteklemiyorsa, INVALID_OPERATION döndürülmelidir. Video boyutu büyükse sıkıştırılmamış kare verilerinin miktarı çok büyük olabileceğinden, gerçek kare verileri yerine meta verileri doğrudan video kodlayıcıya iletmek kamera HAL'si için çok kullanışlıdır.
- Parametreler
olanak vermek | true ise, kamera HAL'sine meta verileri video arabelleklerinde depolaması talimatını vermek için; false kamera HAL'sine gerçek YUV verilerini video arabelleklerinde saklaması talimatını vermek için. |
- İadeler
- Başarı konusunda tamam.
Camera.h dosyasının 186. satırındaki tanım.
Bir fotoğraf çek.
Camera.h dosyasının 240. satırındaki tanım.
Bu yapıya ilişkin belgeler aşağıdaki dosyadan oluşturulmuştur:
- donanım/libdonanım/include/donanım/ kamera.h
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2023-12-01 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2023-12-01 UTC."],[],[]]