Wie kann ich mit meiner App das iPhone-Audio beim Sprechen schön unterbrechen?

8

Meine iOS 7 App vokalisiert Texte bei Bedarf.

Was ich tun möchte, ist, dass der Benutzer seine Musik oder Podcasts (oder jede andere App, die Audio verwendet) hört, während meine läuft.

Das erwartete Verhalten ist, dass andere Audiodaten entweder mixen oder sich ducken, wenn meine App spricht, dann nimmt das andere Audio seine Lautstärke gleich danach wieder auf.

Ich habe viele Möglichkeiten ausprobiert, um dieses Ziel zu erreichen, aber nichts ist gut genug, da ich die Probleme nach dem Code auflisten kann.

Meine aktuelle Implementierung basiert auf dem Erstellen einer Sitzung vor dem Abspielen oder Text-zu-Sprache wie folgt:

%Vor%

Nach dem Abspielen / Sprechen setze ich i wie folgt in den Leerlauf:

%Vor%

Die Kernfunktion, die das Session-Setup entsprechend dem aktiven Parameter behandelt, wie folgt:

%Vor%

Meine aktuellen Probleme sind:

1) Wenn meine App anfängt zu sprechen, höre ich einen Störgeräusch im Ton, was es nicht nett macht;

2) Wenn ich die Route mit Bluetooth verbinde, wird das darunterliegende Audio (zB der Podcast oder iPod Musik) sehr leise und klingt laut, was meine Lösung nur unbrauchbar macht, meine Benutzer werden dieses Level in schlechter Qualität ablehnen.

3) Wenn andere bluetooth-fähige Geräte versucht haben, Töne auszusenden (z. B. ein GPS in einem Auto oder einer Instanz), erhält meine App keine Unterbrechungen (oder ich handle falsch), siehe meinen Code wie folgt:

%Vor%     
Stéphane de Luca 29.01.2014, 14:38
quelle

1 Antwort

-1

Ihr Problem ist wahrscheinlich auf die Kategorie zurückzuführen, die Sie festlegen: AVAudioSessionCategoryPlayAndRecord. Die Kategorie "PlayAndRecord" erlaubt es Ihrer App nicht, Audio mit anderen Apps zu mischen. Sie sollten erneut auf die Dokumentation zu Audio Session Categories verweisen: Ссылка . Es scheint, als wäre AVAudioSessionCategoryAmbient wahrscheinlich mehr, wonach Sie suchen.

    
Blake 30.08.2014 22:04
quelle

Tags und Links