iPhoneMultichannelMixerTest demonstrates how to build an Audio Unit Graph connecting a MultiChannel Mixer instance
to the RemoteIO unit.
Two input busses are created each with input volume controls. An overall mixer output volume control is also provided
and each bus may be enabled or disabled.
All the relevant code is in the file MultichannelMixerController.mm while the supporting UI code is in MyViewController.m
Touching the "Play Audio" button simply calls AUGraphStart while "Stop Audio" calls AUGraphStop. Changing AU volume is
performed via AudioUnitSetParameter.
Audio data is provided from two single channel audio files. Each single channel of data
(a guitar riff and drum groove respectively) is rendered to a single channel of each input bus resulting in the guitar
on the left channel and the drums on the right channel at the output. This serves no specific purpose other than making
for an obvious sample where you can turn off and change the volume of each input and be very aware of the results.
Audio Session Programming Guide
Core Audio Overview
Audio Unit Processing Graph Services Reference
Output Audio Unit Services Reference
System Audio Unit Access Guide
Audio Component Services Reference
Audio File Services Reference
iOS 6.1 SDK
iPhone OS 6.1 or later
The MultichannelMixerTestDelegate class defines the application delegate object, responsible for adding the navigation
controllers view to the application window, setting up the Audio Session and so on.
The MyViewController class defines the controller object for the application. The object helps set up the user interface,
responds to and manages user interaction, and communicates with the MultichannelMixerController.
This file implements setting up the AUGraph, loading up the audio data using ExtAudioFile, the input render procedure and so on.
All the code demonstrating interacting with Core Audio is in this one file, the rest of the sample can be thought of as a simple
framework for the demonstration code in this file.
CHANGES FROM PREVIOUS VERSIONS:
Version 1.0, tested with iPhone OS 3.0. First public release.
Version 1.1, upgraded project to build with the iOS 4 SDK.
Version 1.1.1, upgraded project to build with the iOS 6.1 SDK. Migrated to AVAudioSession from AudioSession APIs.
Copyright (C) 2009-2013 Apple Inc. All rights reserved.