Ich schaue auf dieses Beispiel Ссылка
und ich möchte meine Ausgabe ausschalten. Ich versuche zu ändern: kAudioSessionCategory_PlayAndRecord
zu kAudioSessionCategory_RecordAudio
aber das funktioniert nicht. Ich versuche auch loszuwerden:
Weil ich Sound vom Mikrofon bekommen will, aber nicht spiele. Aber egal was ich mache, wenn mein Sound zur renderCallback-Methode kommt gibt es einen -50 Fehler. Wenn Audio automatisch bei der Ausgabe abgespielt wird, funktioniert alles gut ...
Aktualisierung mit Code:
%Vor%Und von meinem VC aus anrufen:
%Vor%Wenn Sie nur aufnehmen wollen, keine Wiedergabe, kommentieren Sie einfach die Zeile, die renderCallback setzt:
%Vor%Aktualisieren nach dem Code:
Wie ich vermutet habe, fehlt Ihnen der eingehende Rückruf. Fügen Sie diese Zeilen hinzu:
%Vor%Jetzt in Ihrem recordingCallback:
%Vor%Übrigens weise ich meinen eigenen Puffer zu, anstatt den von AudioUnit bereitgestellten zu verwenden. Möglicherweise möchten Sie diese Teile ändern, wenn Sie den zugewiesenen AudioUnit-Puffer verwenden möchten.
Aktualisierung:
Wie reserviere ich einen eigenen Puffer:
%Vor%Wenn Sie dies tun, teilen Sie AudioUnit mit, keine Puffer zuzuweisen:
%Vor%Sie müssen CoreAudio-Hilfsklassen
hinzufügen > Ich mache eine ähnliche App, die mit demselben Code arbeitet, und habe festgestellt, dass Sie die Wiedergabe beenden können, indem Sie die Aufzählung kAudioSessionCategory_PlayAndRecord
in RecordAudio
Dies hat die Rückkopplung zwischen Mikrofon und Lautsprecher auf meiner Hardware gestoppt.
Tags und Links objective-c ios core-audio