Hi,
I have four Audio Nodes. One of them is an output node where audio is played on the speaker. The first and the second mixer provide audio to the third mixer which is connected to the output node.
I am trying to change the volume of my first or second mixer at runtime. On the third mixer the following works quite good ( CheckError(AudioUnitSetParameter(self->mainMixerUnit, kMultiChannelMixerParam_Volume, kAudioUnitScope_Output, 0, volume, 0),"Couldn't set volume");)
If I try the same on the first or the second mixer, no error is returned and if I check for AudioUnitGetParameter the right volume is returned. However, the volume is not changed on the speaker. I also tried to change the volume on the third mixer’s input (
CheckError(AudioUnitSetParameter(self->mainMixerUnit, kMultiChannelMixerParam_Volume, kAudioUnitScope_Input, 0 or 1, volume, 0),"Couldn't set volume“); ) but get the OSStatus 1.
Have you any idea how to change the volume of a matrix mixer if it is connected to another mixer?
For a matrix mixer example see the MatrixMixerTest sample - setInputVolume, setMasterVolume, setMatrixVolume & setOutputVolume methods in MixerController.mm.
|