Spielen Sie audio-und video zur gleichen Zeit in Android
Hallo ich versuche ein Spiel mit zwei unterschiedlichen Dateien zur gleichen Zeit.
Ich habe versucht Spieler zu finden und versucht, die Verlängerung der Standard-player die Erreichung derselben aber konnte keinen Erfolg darin. also bitte helft mir mit es, lassen Sie mich wissen, was ist der beste Weg, um das Abspielen von audio-Datei und video zur gleichen Zeit?
Dem Grund nehme ich die separaten Dateien, um Speicherplatz zu sparen, da die app lokalisiert werden, die mehrere audio-Dateien für jede Sprache anstatt mehrere videos, die Platz spart. Das ist wichtig, weil android nicht erlauben den download von app-Größe über 50 MB.
Jede Hilfe bei diesem würde sehr hilfreich sein. Und die mir code dafür wäre eine große Hilfe.
Vielen Dank im Voraus.
- Sie werden nie in der Lage, zu synchronisieren, die Dinge genau in dieser Weise, und große videos sollte wohl gestreamt werden sowieso. Gibt es einen Grund, Sie brauchen, um das video in der app?
- ja, es ist ein neuer Grund dafür, dass ich eine app werden, die video-Dateien, sondern die audio-wäre entsprechend der Benutzer-Gebietsschema, das ist, warum ich brauchen, um synchronisieren Sie diese Dateien zur Laufzeit. Und das video ist erforderlich für Benutzer zu verstehen, die Sache, die wir liefern zu Ihnen.
- Mehrere audio-streams kodiert werden kann in der gleichen media-stream und der richtige kann ausgewählt werden, während der Wiedergabe. Android-MediaPlayer hat nur einen eingeschränkten support für diese Funktion über das selectTrack Methode (Sie können nur nennen, für audio im prepared-Zustand). Die Kodierung der video-richtig ist Ihre beste Wette.
- Wenn dies möglich ist, dann kann Sie mir empfehlen die software oder die Möglichkeit zur Kodierung von video und spielen Sie es mit ausgewählten audio. Code-Beispiel wäre sehr dankbar.
- Ich würde empfehlen, vertraut zu machen Sie sich mit ffmpeg. Es gibt eine Tonne von Dokumentation auf Ihrer Website. Oder wenn Sie nur wirklich nicht, wie Befehlszeilen-tools, die Sie möglicherweise benötigen, um berappen einige cash für ein Werkzeug entlang der Linien von Adobe Premiere (ich bin sicher, es gibt billigere Möglichkeiten). So oder so, Ihr Ziel ist zu Kodieren einer Datei mit einem video-stream und mehrere audio-streams. An diesem Punkt sollten Sie in der Lage sein zu verwenden
getTrackInfo
undselectTrack
imMediaPlayer
wählen Sie die richtigen audio-stream zur Laufzeit.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie behandeln diese mit Audio-Fokus. Zwei oder mehr Android-apps können spielen Sie audio, um den gleichen output-stream gleichzeitig. Das system mischt alles zusammen. Dies ist zwar technisch beeindruckend, es kann sehr erschwerenden zu einem Benutzer. Um zu vermeiden, dass jeder Musik-app gleichzeitig spielen, Android führt den Gedanken von audio-focus. Nur eine app kann halten Sie audio-Fokus zu einer Zeit.
Wenn Ihre app audio-Ausgang, sollte es auf Anfrage von audio-focus. Wenn es den Fokus hat, es kann sound wiedergeben. Jedoch, nachdem Sie erwerben audio-Fokus Sie können nicht in der Lage sein, um es zu halten, bis Sie fertig sind zu spielen. Eine andere app kann die Anfrage konzentrieren, die Vorrang vor Ihrer halten Sie auf audio konzentrieren. Wenn das passiert, sollte Ihre app anhalten der Wiedergabe oder absenken, um Benutzern zu hören das neue audio-Quelle leichter.
Anfang mit Android 8.0 (API level 26), wenn Sie anrufen
requestAudioFocus()
müssen Sie eineAudioFocusRequest
parameter. Zur Freigabe von audio-Fokus, rufen Sie die MethodeabandonAudioFocusRequest()
ebenfalls eineAudioFocusRequest
als argument. Das gleicheAudioFocusRequest
Instanz verwendet werden soll, wenn Sie die Anfrage und Verzicht konzentrieren.Erstellen einer
AudioFocusRequest
verwenden Sie eineAudioFocusRequest.Builder
. Da ein Schwerpunkt die Anfrage muss immer die Angabe der Art der Anfrage, die Art ist im Konstruktor für den generator. Verwenden Sie die builder-Methoden zu setzen, die anderen Felder des Anfrage.Folgende Beispiel zeigt, wie eine
AudioFocusRequest.Builder
zu bauenAudioFocusRequest
und Anfrage und verlassen und audio-Fokus:Hoffe, das hilft! Auch können Sie die Android-die offizielle Dokumentation. Wenn das nicht hilft, können Sie überprüfen diese Website und diese Website für mehr Dokumentation.
Zu spielen audio: Audio-Track-Referenz
Um das video abzuspielen: Media Player Referenz
Und jetzt könnte man anfangen, auf dem Haupt-thread von der Anzeige in einer Video Anzeigen das video, das Sie wollen, und Wann ist die Zeit zum spielen ist der sound, den Sie starten Sie die Wiedergabe der Audio-Spur. Der schwierige Teil wird es sein, syncronize den audio mit dem video