iOS: Vernachlässigung von AudioSessionInitialize und AudioSessionSetProperty

8

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.

    
John 30.01.2014, 18:22
quelle

2 Antworten

14

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:

%Vor%

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?

    
foundry 30.01.2014, 23:42
quelle
7

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 .

    
Mario 07.02.2014 21:04
quelle