2017-07-13 4 views
1

Ich entwickle eine App mit Camera2, in der ich Fotos aufnehmen muss, ohne die Vorschau zu beeinflussen, aber ich habe Probleme.Camera2 funktioniert nur in einigen Geräten

In allen Handys kann ich Bilder machen, während ich die Vorschau zeige, aber in einigen von ihnen friert die Vorschau für einen Moment ein und das ist, was ich vermeiden möchte.

Meine App funktioniert in einigen Geräten, aber nicht in allen. Zuerst dachte ich, es wäre wegen der Hardware-Support-Kamera (LEGACY, LIMITED, FULL), aber ich habe mich geirrt.

In einem Nexus 5 mit voller Unterstützung funktioniert es. In einem Huawei P8 Lite mit LEGACY-Unterstützung funktioniert es nicht. Und in einem BQ Aquaris U mit LEGACY Unterstützung funktioniert es: S. Alle drei Telefone haben API 23.

Hier können Sie die Konsolenprotokoll erzeugt haben, während der Aufnahme eines Bildes: https://jpst.it/11qjM

Kennt jemand was ist der Grund? Liegt es an den Kameratreibern des Herstellers?

Danke!

+0

In Ihren Beispielen unterstützen die defekten Geräte das YUV-Capture-Format nicht nativ, sondern konvertieren JPEG. Ich weiß nicht, wie Sie zuverlässig prüfen können, welche Formate die Kamera per Emulation bereitstellt. –

+1

Alle Geräte unterstützen das YUV-Erfassungsformat. Um jedoch ein Bild mit maximaler Auflösung mit einem LEGACY-Gerät aufzunehmen, müssen Sie JPEG verwenden. Siehe Tabelle unter folgendem Link: https://ibb.co/cOTnZa PRIV - PREVIEW ist die Vorschau auf dem Bildschirm. Und um die maximale Größe im zweiten Ziel zu haben, muss es JPEG sein. Danke! –

+0

Sorry, was ist die Quelle dieser Tabelle? –

Antwort

1

Als Vollzeit-Entwickler, der die meiste Zeit damit verbringt, an der Kamera zu arbeiten, kann ich ohne Zweifel sagen, dass die Camera2API auf Samsung Geräten kaputt ist und ich nehme an, dass das Problem bei anderen Herstellern besteht. Einige Funktionen funktionieren auf einigen ihrer Handys andere überhaupt nicht und noch eine grundlegende Bildaufnahme-App, um zuverlässig auf Samsung-Geräten zu arbeiten ist viel mehr Mühe als es wert ist. Verwenden Sie die ursprüngliche Kamera-API. Sie erhalten Warnungen, dass der Code veraltet ist, der Code jedoch dort verbleibt. Ich habe meine Anwendungen nicht persönlich auf den von Ihnen aufgeführten Telefonen ausgeführt, aber es überrascht mich nicht, dass es nicht nur auf Samsung-Geräte beschränkt ist.

Verwandte Themen