Ich habe ein großes Projekt mit The Amazing Audio Engine 2
erstellt. Ich habe Schwierigkeiten gehabt, Inter-App-Audio zu integrieren und möchte zu AudioKit 3 migrieren.
Struggling, dh es integriert sich, aber sobald ich es als Generator auswähle, stoppt das Rendering, der Motor ist deaktiviert.
Was sind die Hauptunterschiede zu den Audiosystemen? TAAE2 verwendet Module mit jeweils einem Render-Block, die Audiopuffer von einem Render-Stack schieben und aufklappen.
Wie rendert AudioKit Audio? Was wäre auf einer hohen Ebene bei der Migration von AEModules zu Audiokit-Objekten beteiligt?
Für das Audio-Rendering ist es im Wesentlichen ein Wrapper um AVAudioEngine, AUAudioUnit, AVAudioUnit und AVAudioNode. Es ist eher als Renderkette als als Stapel gedacht, aber das Endergebnis ist das gleiche. Sie können die Systemaudioeinheiten verwenden oder Sie können Ihre eigenen registrieren, indem Sie eine AUAudioUnit-Unterklasse erstellen.
Die Renderkette funktioniert ähnlich, aber mit einer blockbasierten API. Anstatt AEAudioUnitModule abzuleiten und die processFunction auf eine C-Funktion zu setzen, in der Sie Pufferlisten und Zeitstempel von Ihrem Renderer abrufen, untergliedern Sie AUAudioUnit und implementieren internalRenderBlock , wo Sie einen Block zurückgeben, der mit den Puffern und Zeitstempeln als Argumente für Ihren Block aufgerufen wird. In diesem Block können Sie die meisten Portierungen vornehmen.