AVAudioRecorder & AVAudioPlayer - Tonausgabe am internen Lautsprecher, wie ändert man?

8

Ich habe ein Problem mit AVAudioRecorder und AVAudioPlayer.

Wenn ich Player und Record gleichzeitig benutze (z. B. um während der Aufnahme Ton zu hören), ist der Sound im internen Lautsprecher. Ich suchte stackoverflow und alles, was ich fand, war dieser Code:

%Vor%

Aber das hilft mir nicht :( Wenn ich es kopiere, habe ich Fehler. Was kann ich tun, um den lauten Lautsprecher unten aufzunehmen und abzuspielen?

Ich benutze nichts wie SCLister oder etwas ...

Vielen Dank im Voraus

Max

    
Max Steinmeyer 23.06.2010, 18:47
quelle

6 Antworten

16

Das ist ein bisschen alt, aber dieser Beitrag hat mir geholfen und ich wollte ihn für alle anderen aktualisieren, die ihn in Zukunft brauchen könnten. Der oben angegebene Code ist korrekt - es wird das leise Audio, das über den Lautsprecher des Telefons wiedergegeben wird, benötigt und an den Lautsprecher an der Unterseite weitergeleitet. Es gibt einen kleinen Tippfehler im Code, weshalb es Fehler gibt. Hier ist das richtige Snippet, das dieses Problem lösen wird:

%Vor%

Stellen Sie sicher, dass Sie die Audio-Session auch direkt nach der Einstellung aktivieren, bevor Sie Ihren Audio-Player / Recorder erstellen:

%Vor%

Wenn Sie gleichzeitig spielen und aufnehmen, müssen Sie wahrscheinlich auch die Kategorie- und Mischfunktionen einstellen. Hier ist das gesamte Snippet, das die Kategorie einstellt, Mischen ermöglicht, das Audio zum Hauptlautsprecher leitet und die Sitzung aktiviert. Du solltest dies nur einmal direkt nach dem Start der App tun.

%Vor%

Ich hoffe, dass es jemandem hilft!

    
Cory Imdieke 12.08.2010 00:43
quelle
2

Ich habe es hier schon beantwortet: Wie komme ich hin? AVAudioPlayer Ausgabe an den Lautsprecher

Kurz gesagt, verwenden Sie dies vor der Aufnahme:

%Vor%

... und verwenden Sie dies vor der Wiedergabe (an Lautsprechern oder Kopfhörern, wenn diese angeschlossen sind)

%Vor%     
budidino 17.06.2014 01:24
quelle
1

Einziges, was ich zu diesem Thema gefunden habe, ist folgendes:

%Vor%

muss eingestellt werden, wenn Sie Audio aufnehmen, wenn Sie gleichzeitig wiedergeben möchten. Geben Sie das einen Versuch und lemme wissen.

P.S. Stellen Sie sicher, dass Sie die AudioToolbox - und AVFoundation -Frameworks zu Ihrem Projekt hinzufügen und sie in Ihre .m-Dateien einschließen.

    
iwasrobbed 23.06.2010 19:50
quelle
0

Wenn Sie gerade durch die leisen Lautsprecher spielen und den Lautsprecher an der Unterseite des iPhone durchspielen möchten, verwenden Sie diesen Code:

%Vor%     
justinkoh 22.03.2012 02:48
quelle
0

Das ist eine alte Frage, aber keine der anderen Antworten hat mir geholfen ... Allerdings habe ich eine Lösung gefunden, die ich für zukünftige Referenzen posten kann, falls jemand sie braucht.

Die Lösung wird im folgenden Blogpost beschrieben: iOS: Force Audioausgabe an die Lautsprecher, während Kopfhörer angeschlossen sind .

Sie müssen in Ihrem Projekt einen neuen AudioRouter der Objective-C-Klasse erstellen. Importieren Sie dann AudioRouter.h in die Header-Datei der Klasse, in der Sie die Audiofunktionalität initiieren. Fügen Sie nun in der entsprechenden .m Datei die folgenden Zeilen innerhalb von viewDidLoad method:

hinzu %Vor%

Jetzt haben Sie Audio (z. B. AVAudioPlayer) Ausgang zum Lautsprecher gezwungen!

    
Simo A. 19.11.2013 01:35
quelle
0

AudioSessionSetProperty ist seit iOS7 veraltet, aber das Folgende funktionierte für mich.

%Vor%     
Nigel 18.03.2014 11:04
quelle

Tags und Links