Es gibt einige Möglichkeiten, dies zu tun.
Sie können manuell Effekte zwischen Ihrem Mixer und Ihren Callbacks hinzufügen. Anstatt also den Callback direkt auf den Mixer-Eingang zu setzen, würden Sie für jeden benötigten Bus eine Effekteinheit erstellen, den Effekt mit dem Mixer-Eingang verbinden und dann den Eingangs-Callback auf den Effekt setzen. (Einfachste)
Beispiel:
AUGraphConnectNodeInput(inGraph, sourceEffect, inSourceOutputNumber, mixerNode, inDestInputNumber);
AUGraphSetNodeInputCallback (inGraph, sourceEffect,0,&inputCallbackStruct);
Sie einen Verweis auf jeden Effekt halten kann, dann in Ihrem Rückruf manuell aufrufen AudioUnitRender auf die Wirkung. (Art von kompliziert)
Wenn Sie einen einzigen Effekt für diese Verarbeitung über mehrere Busse verwenden möchten, könnten Sie zwei Mischer verwenden. Alle Busse, die einen Effekt benötigen, werden zum "Effektmixer" geroutet, dann kann der Effekt auf dem Ausgang des "Effektmixers" sein, und die Ausgabe des Effekts kann zu Ihrem Hauptmixer gehen. (Am effizientesten)
Haben Sie 20 Eingaben eines Mixers auf einen Render-Callback gesetzt? – dave234
20 für dieses Projekt habe ich andere Projekte mit mehr als 40 – Fischer
Sie sollten Ihre Frage bearbeiten, um die Anwesenheit des Mischers zu reflektieren. – dave234