2012-07-10 2 views
22

Ich weiß, dass diese Frage schon oft zuvor gestellt wurde. Ich hatte vor über einem Jahr danach gesucht, aber nichts gefunden, um diese Frage erneut zu posten, um neue Gedanken/Ansätze oder Hacks zu sammeln.Mit beiden vorderen und hinteren Kameras gleichzeitig android

Ich möchte in der Lage sein Video von beiden Kameras zu erfassen (Vorder- und Rückseite) in einem Android-Gerät.

Mein einziger Gedanke, wie jetzt von einigen, wie Schalter zwischen Vorder- und Rückseite all 0,1 sec, jedoch habe ich nie in der Lage gewesen, dies zu codieren. Irgendwelche Hilfe von irgendjemandem hier bitte.

Auch ein anderer Gedanke ist - Videos werden bei 15 oder 30 Bildern pro Sekunde im Allgemeinen erfasst. Angenommen, es ist 30 Frames pro Sekunde. Was ist, wenn es eine Möglichkeit gibt, diese Frames nach vorne und hinten zu wechseln, dann könnten wir 15 Frames pro Sekunde Front- und 15 Frames pro Sekunde Back-Video haben. Ist das möglich? Wenn ja, wie? Bitte vorschlagen. Was passiert mit dem Audio? Vielleicht könnten wir den Ton auf nur eine der Videoaufnahmen beschränken (Vorder- oder Rückseite).

+0

Haben Sie dieses Problem? -> http://StackOverflow.com/Questions/7215230 –

+0

Das Umschalten zwischen den Kameras dauert zu lange, bis dies funktioniert. Die gleichzeitige Nutzung beider Kameras ist im Moment durch den CameraService unmöglich –

+0

Ich würde nicht so weit gehen wie "unmöglich" - ich würde erwarten, dass man auf mindestens einigen Geräten die 'Camera' Klasse umgehen und nativen Code schreiben kann um mit den Gerätetreibern zu sprechen. Dies ist natürlich nur eine Option für einen Gerätehersteller, der bereit ist, gerätespezifischen Code zu schreiben. –

Antwort

5

Sie können nicht beide gleichzeitig verwenden und alle 0,1 Sekunden zwischen den einzelnen Kameraumschaltung wird nicht gut arbeiten. Das Aufnehmen und Freigeben des Kameraobjekts ist ziemlich teuer und das wird einfach nicht gut ausgehen.

+0

Vielen Dank für Ihre Antwort, aber gibt es irgendwelche Arbeiten um alle .. – axs

+1

Scheint nicht zu sein. (Das ist der Grund, warum ich gerade auf Stackoverflow bin.) 'Release()'/'open()' benötigt 900 bis 1000 ms * pro * Kamera auf einem Galaxy Nexus, obwohl andere Threads zeigen, dass diese Zeit von der Hardware abhängt. 'unlock()'/'open()' gibt Ihnen die selbe "nur eine Kamera zu einer Zeit" Ausnahme, die 'release()'/'open()' tut. –

+0

Danke. Hoffe, es gibt einen Weg, wie dies in naher Zukunft getan werden kann. – axs

6

Es ist möglich, aber bisher nur mit dem kommenden Samsung Galaxy S4.

Es hat eine dual-camera feature aber wer weiß, ob es Hardware-abhängig ist oder eine Software-Modifikation von Samsung, in diesem Stadium.

Dual Camera - See both sides of the story.

Hoffentlich kann es zu anderen Handys portiert werden, wenn es nur Software ist.

8

Es ist möglich, auf dem HTC m8, die OnePlusOne und das Motorola Nexus 6, soweit ich getestet habe. Viele weitere Telefone unterstützen es möglicherweise, aber Sie müssen nur auf den Telefonen prüfen und sehen, ob die APP abstürzt oder nicht.

Sie erstellen ein Kameraobjekt für jede verfügbare Kamera und jeweils auf den Vorschau-Rückruf befestigen.

-edit- Bisher habe ich festgestellt, dass dies auf Snapdragon 801 basierte Telefone funktioniert. Weiß nicht, ob alle das machen oder welche anderen SOCs das unterstützen, aber das habe ich bisher gefunden.

+1

Haben Sie zufällig einen Beispielcode (Github?). Sobald sie an den Vorschau-Callback angehängt sind, können Sie beide gleichzeitig aufnehmen? – peoplesparkresident

+4

Sorry, aber ich glaube nicht, dass ich mit meiner Arbeit den Code posten kann :) Vielleicht werde ich an einem Punkt ein Tutorial zusammenstellen, weil ich eine Menge fast-richtig-aber-nicht-wirklich ziehen musste Informationen zusammen und erarbeiten, wie es richtig geht. Wie für die Aufnahme beider Kameras, ja, Sie können, aber Sie müssen einen Haken hinzufügen, um zu sehen, welche Kamera den Rückruf aufruft. Jetzt, wo ich darüber nachdenke, könntest du vielleicht sogar jedem seinen eigenen Callback geben, aber das könnte eine Menge Overhead verursachen und wäre es vielleicht nicht wert. – MacD

+1

Danke. Wenn Sie ein Tutorial erstellen, das wirklich hilfreich wäre, oder sogar ein paar Links zu den "fast-korrekten-aber-nicht-wirklich" Ressourcen, die Sie verwendet haben, und dann ein paar Hinweise, würde das sehr geschätzt werden. – peoplesparkresident