<meta name = "viewport" content = "width = device-width"> |
|
<h4 align="left"iPhone Multichannel Mixer Test Sample</h4> |
|
<p>Demonstrates the use of the AUGraph and related APIs. All the relevant code is |
in the file MultichannelMixerController.mm. Touching the "Play Audio" button simply calls |
AUGraphStart starting the graph initialized by the class, while "Stop Audio" will call |
AUGraphStop. Audio data from each file is provided to the appropriate bus via the |
renderInput Render Procedure. Each of the two input busses may be enabled or disabled |
and volume controls are provided for both inputs and the mixer output.<p> |
|
<hr align="center"> |
|
<p>Audio Unit Processing Graph Services provide interfaces for representing a set of |
audio units, connections between their inputs and outputs, and callbacks used to provide |
inputs. It also enables the embedding of sub (or child) processing graphs within parent |
graphs to allow for a logical organization of parts of an overall signal chain.</p> |
|
<p>An audio processing graph object (of type AUGraph) is a complete description of an |
audio signal processing network. Audio Unit Processing Graph Services may manage the |
instantiated audio units if the AUGraphOpen function is called.</p> |
|
<p>An audio processing graph object may be introspected to get complete information |
about all of the audio units in the graph. The various node objects (each of type AUNode) |
in the graph, each representing an audio unit or a sub graph, may be added or removed, |
and the interactions between them modified.</p> |
|
|
<p>A graph object’s state can be manipulated in both the rendering thread and in other |
threads. Consequently, any activities that affect the state of the graph are guarded with |
locks and a messaging model between any calling thread and the thread upon which the |
graph object’s output unit is called (the render thread).</p> |
|
<p>A graph object will have a single head node-an output unit. The output unit is used to |
both start and stop the rendering operations of a graph, and is the dispatch point for |
the safe manipulation of the state of the graph while it is running.</p> |
<br> |
<br> |