Ich bin sehr neu in Objective-C und versuche, Code, der etwa 3 Jahre alt ist, mit iOS 7 zu aktualisieren. Es gibt zwei oder zwei Instanzen von AudioSessionSetProperty
und AudioSessionInitialize
, die im Code erscheinen:
1:
%Vor%Und 2:
%Vor% Aus irgendeinem Grund funktioniert dieser Code auf iOS7 im Simulator, aber nicht auf einem Gerät mit iOS7, und ich vermute, dass diese Abwertungen die Ursache sind. Ich habe die Dokumente und verwandte Fragen auf dieser Website gelesen und es scheint, dass ich stattdessen AVAudioSession
verwenden muss. Ich habe schon lange versucht, den Code zu aktualisieren, und mir ist nicht klar, wie ich richtig auf AVAudioSession
umschalten soll. Weiß jemand, wie diese beiden Methoden aussehen müssen?
Randnotiz: Ich habe einen Artikel gefunden, der den Übergang beschreibt: Ссылка Aber ich kann das nicht auf den obigen Code anwenden.
Der Code, den ich zu aktualisieren versuche, ist eine kleine App zur Frequenzerkennung von git: Ссылка
Wenn mich jemand auf eine Beispiel-Demo-App verweisen könnte, die Frequenzen auf iOS-Geräten erkennen kann, wäre das großartig.
Wie Sie bereits festgestellt haben, sind praktisch alle alten Funktionen von Core Audio AudioSession zugunsten von AVAudioSession veraltet.
AVAudioSession ist ein Singleton-Objekt, das beim ersten Aufruf initialisiert wird:
%Vor% Es gibt keine separate Methode initialize
. Aber Sie wollen die Audio-Session aktivieren:
Was die Einstellung der Hardware-Abtastrate mit AVAudioSession
betrifft, finden Sie hier meine Antwort:
Wie kann ich die nativen (hardwaregestützten) Audio-Sampling-Raten erhalten, um eine interne Sample-Rate-Konvertierung zu vermeiden?
Für andere Vergleiche & amp; Kontraste zwischen Core Audio audioSession und AVFoundation AVAudioSession hier sind einige meiner anderen Antworten zum selben Thema:
Wie route ich Audio? zu Lautsprecher, ohne AudioSessionSetProperty zu verwenden?
Verwenden Sie das hintere Mikrofon des iPhone 5
Audio über den oberen Lautsprecher (Telefonanruf) abspielen
Wie Hardware-Mikrofon zu steuern Input Gain / Level auf dem iPhone?
Ich habe ein kurzes Tutorial geschrieben, in dem erläutert wird, wie man auf die neuen AVAudioSession-Objekte aktualisiert wird. Ich habe es auf GitHub veröffentlicht: "C-Funktionen ersetzen, die in iOS 7 veraltet sind .
Tags und Links objective-c ios7 avaudiosession