2016-04-18 9 views
2

Ich versuche eine iOS-App zu entwickeln, die Ton vom Mikrofon liest, einige Effekte anwendet und sie sofort über das Headset abspielt, möglicherweise mit einiger akzeptabler Verzögerung.Audio aufnehmen und gleichzeitig abspielen

Ist das möglich? Als ersten Schritt versuche ich gleichzeitig den Ton von meinem Mikrofon in meinen Headsets zu spielen, aber ich kämpfe darum ...

Ich konnte den Ton aufnehmen, speichern und dann einfach abspielen . Relevante Fragen, Artikel konnten nicht leicht gefunden werden. Irgendwelche Ideen, Verbindungen werden sehr geschätzt

Ich habe Apple's aurioTouch überprüft. Ich konnte die gleichzeitige Aufnahme und Wiedergabe desselben Signals nicht finden.

Antwort

0

Fordern Sie die kürzesten verfügbaren Puffer mithilfe von Audio-Session-APIs an (weniger als 6 mS ist auf den meisten iOS-Geräten möglich). Dann füttern Sie die rohen Audio-Samples, die Sie von RemoteIO-Aufnahme-Callbacks erhalten, zu den Puffern in den RemoteIO-Play-Callbacks, möglicherweise unter Verwendung eines sperrfreien zirkulären FIFO dazwischen.

+0

Können Sie bitte ein Codebeispiel für Swift bereitstellen? Es gibt Tonnen von Beispielen in Objective-C, aber keine von Swift. @ hotpaw2 –

+0

Siehe Swift Audio Unit-Code hier: http://stackoverflow.com/questions/36968813/how-to-record-and-play-audio-simultan-ini-ios-using-swift – hotpaw2