Hello,
I am still desirous of fixing this bug. Controlling the volumes of separate inputs does not work on iOS for me. The Apple sample code "mixerHost" is available here, but it does not run for me on an iPad.
It crashes due to this error:
2013-01-10 12:28:15.789 MixerHost[19402:907] *** Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', reason: 'A view can only be associated with at most one view controller at a time! View <UIView: 0x1dd2d680; frame = (0 0; 320 480); autoresize = W+H; layer = <CALayer: 0x1dd2d6e0>> is associated with <UIViewController: 0x1dd33210>. Clear this association before associating this view with <MixerHostViewController: 0x1f037330>.' *** First throw call stack: (0x3abd32a3 0x334f297f 0x3abd31c5 0x37abbd7b 0x37abbc6b 0x39ad49d1 0x39ad0723 0x3ab5961b 0x37bf4245 0x37bf3ac3 0x37aec025 0x37a7646d 0x3be7d 0x37ab7ad9 0x37ab7663 0x37aaf84b 0x37a57c41 0x37a576d5 0x37a57123 0x36a545a3 0x36a541d3 0x3aba8173 0x3aba8117 0x3aba6f99 0x3ab19ebd 0x3ab19d49 0x37aae485 0x37aab301 0x3bdef 0x35f63b20) libc++abi.dylib: terminate called throwing an exception (lldb)
I know this isn't audio-related, but does anyone know what causes this bug? This is the best example for controlling mixer inputs -- it is too bad they have not kept it running. The code uses Interface Builder and a .xib file. I have always programmed my view stuff, so I am not sure how to fix this? I will look into it but just wondering if anyone else recognizes this.
Thanks if anyone knows, Bob
Message: 5 Date: Mon, 31 Dec 2012 10:06:25 -0600 From: Bob Sabiston <email@hidden> To: email@hidden Subject: Re: unable to change volumes of mixer inputs? (iOS) Message-ID: <81F59889-1D89-4898-9E58-email@hidden> Content-Type: text/plain; charset="iso-8859-1"
I call the following to change the vol. This maybe called because either the user pressed the hardware vol button or moved a UISlider
status = AudioUnitSetParameter(multiChannelMixerAU, kMultiChannelMixerParam_Volume, kAudioUnitScope_Output, 0, value, 0);
Yes but is that not the control for the *entire* volume? I am trying to control the volume of the inputs -- like, I have one laser sound that I only want to play at half volume, another time I might want one character's noise to increase while others don't that sort of thing.
Bob
Message: 3 Date: Sat, 29 Dec 2012 12:31:53 -0800 From: Andy Davidson <email@hidden> To: Bob Sabiston <email@hidden> Cc: "email@hidden Apple" <email@hidden> Subject: Re: also: unable to change volumes of mixer inputs? (iOS) Message-ID: <CD049180.10962%email@hidden> Content-Type: text/plain; charset="iso-8859-1"
Hi Bob
You are correct my code controls the vol of the output of the mixer. I am very interested in your question. At some point in time I need to figure out how to split stereo into separate channels and want to control the vol of each channel separately. I have not had time to write the test code for this feature
I found your original post
OSStatus result = AudioUnitSetParameter (mixerUnit, kMultiChannelMixerParam_Volume, kAudioUnitScope_Input, inputBus, newGain, 0 ); Is the scope correct? You use input, my example uses output?
Andy
It is supposed to be input if you want to change the input volume levels. That old sample code MixerHost was able to do it, but the same thing does not seem to work in my code. I am not sure what the problem could be, though. I wasn't able to get MixerHost to compile and run on my newer devices however. Anyone know what I might be doing wrong?
Thanks Bob
|