Nach dem Betrachten dieser Frage: AVAudioSession AVAudioSessionCategoryPlayAndRecord glitch , ich versuchte einen Stich zu versuchen, um Video-Aufnahme mit Hintergrundmusik richtig funktionieren zu bekommen. Ich begnüge mich mit dem Audio-Panne, wenn die Aufnahme beginnt und wenn es endet, und es funktioniert gut beim ersten Mal die Aufnahme passiert. Aber wenn ich wieder aufnehmen möchte, hört die Musik auf.
Irgendwelche Ideen warum?
Hier ist ein Ausschnitt meines Codes:
%Vor%Dies ist der Code zum Starten der Aufnahme:
%Vor%Und um die Aufnahme zu stoppen:
%Vor%Ich arbeite an einem Projekt, bei dem ich fast das Gleiche machen muss: Video mit Hintergrundaudio aufnehmen. (in Xamarin)
In meinem Code mache ich das AudioSession Setup in der onViewLoad.
Ich mache auch audioSession.SetActive (false), bevor ich die Kategorie auf PlayAndRecord einstelle. Vielleicht sollten Sie dies beim Starten / Stoppen der Aufnahme versuchen.
Benoit
Es scheint mir, dass dies mit Ihrem AVAudioSession
zu tun hat. Sie setzen die audioSession nicht auf inaktiv, wenn Sie die Aufzeichnung stoppen. Dies führt zu einer sofortigen Änderung der Route, wenn Sie beim Starten einer neuen Aufzeichnung die Kategorie AVAudioSession
ändern.
Versuchen Sie, AVAudioSession
inaktiv zu setzen, wenn Sie die Aufzeichnung stoppen.
Auch andere AVAudioSession
-Kategorien haben unterschiedliche Auswirkungen auf AirPlay.
Abgerufen von
" Die Audio-Sitzungskategorie AVAudioSessionCategoryPlayAndRecord unterstützt nur die gespiegelte Variante von AirPlay " und
" Die Wiedergabekategorien der Audiositzung (AVAudioSessionCategoryAmbient, AVAudioSessionCategorySoloAmbient und AVAudioSessionCategoryPlayback) unterstützen sowohl die gespiegelten als auch die nicht gespiegelten Varianten von AirPlay. "
Ich empfehle ein wenig Lesen auf AVAudioSession
in den Apple-Dokumenten, da nur die Kontrolle der AVAudioSession
selbst manchmal wirklich gut durchdacht sein muss.
Tags und Links ios avfoundation swift avaudiosession avcapturesession