2015-05-21 27 views
8

Neyi başarmaya çalışıyorum: hem ön hem de arka kameralara aynı anda erişin.Eş zamanlı olarak hem arka hem de ön kameralara erişme

Araştırmalarım: Android kamera API'sinin kameranın birden fazla örneğini kullanmasına destek vermediğini biliyorum ve diğerini kullanmadan önce bir kamera yayınlamanız gerekiyor. Bununla ilgili onlarca soru okudum, bazı cihazlarda mümkün olduğunu biliyorum (Samsung S4 veya onlardan yeni cihazlar gibi). Ayrıca, SOME cihazlarda Android KitKat'ta her ikisine de erişmenin mümkün olduğunu öğrendim. Ayrıca api> = 21'de, camera2 API'sini kullanarak, her ikisine de aynı anda erişebildiğimi biliyorum, çünkü iş parçacığı güvenli.

Şimdiye kadar sahip olduğum şeyler: Resim içinde resim sağlamak için, fotoğraf makinesine erişmek için uygulama.

Her cihazda eş zamanlı olarak aynı anda kameranın uygulanmasının mümkün olmadığını biliyorum, sadece bazı cihazlarda kullanılabilir hale getirmek istiyorum.

Aygıtın her ikisine de erişip erişemeyeceğini nasıl test edebilirim?

Ayrıca bana izin verecek bir kütüphane aradım ama hiçbir şey bulamadım. Böyle bir kütüphane var mı?

Bu özelliği mümkün olduğunca çok aygıt için kullanılabilir hale getirmek istiyorum ve diğerleri için, geçerli durumu (tek tek) özelliği bırakacağım.

En azından bazı tavsiyelere uyarak, lütfen bana yardımcı olabilir misiniz?

Teşekkürler !

cevap

10

Android kamera API'ları genellikle birden çok kameranın aynı anda kullanılmasına izin verir, ancak çoğu cihazın pratikte destekleyecek yeterli donanım kaynağı yoktur - örneğin, her iki kamera tarafından yalnızca bir kamera görüntü işlemcisi paylaşılır.

Aynı anda birden fazla kamera kullanabilmeniz için Android API'lerde size ön tarafa söyleyeceğiniz hiçbir sorgu bulunmuyor.

Söylemenin tek yolu, zaten açık bir tane olduğunda ikinci bir kamera açmaya çalışmaktır. İkinci kamerayı açabilirseniz, resim içinde resim yapabilirsiniz, vb. İkinci kamerayı açmaya çalışırken bir istisna elde ederseniz, söz konusu cihaz her iki kameranın da açık olmasını desteklemez.

+0

Teşekkür ederim, bunu bilmiyordum. Sanırım yeni Samsung cihazları her kamera için bir görüntü işlemcisine sahip. Bunu böyle uygulamaya çalışacağım ve birden fazla cihazda test edeceğim. – DDsix

+0

Samsung S4, S5 ve S6, çift kamera modunu destekliyor, ancak bunun için özel bir API kullanmayı seçtiler; Samsung Camera SDK ile bile yayınlanmadı. Aynı LG Optimus G Pro için de geçerlidir. * Bu API'yi tersine mühendislik uygulamasının tersine çevirebileceğine inanıyorum, ancak henüz bunun gerçekleşmediğini gördüm. Muhtemelen, yeterli teşvik yoktur. * –

+2

Ayrıca bkz. Http://stackoverflow.com/a/25144412/192373 –

0

Donanım kısıtlamaları nedeniyle tüm android cep telefonlarındaki kameralara erişemezsiniz. En iyi alternatif, kamerayı tek tek kullanarak da kullanılabilir. Bunun için tek kamera nesnesini kullanabilir ve başka bir fotoğraf çekmek için kamera yüzünü değiştirebilirsiniz.

Bunu bir uygulamamda yaptım.

0

Android Camera2 API'sini kullanmak mümkündür, ancak yukarıda belirtildiği gibi çoğu aygıtta donanım desteği yoktur. Nexus 5X, Nexus 6 veya Nexus 6P'niz varsa çalışır ve bu BothCameras app ile test edebilirsiniz. Donanım h264 kodlayıcısını kullanarak video kaydına (yine fotoğraflara ek olarak) izin vermek için karıştırmayı uyguladım.

İlgili konular