8

I'm trying to mute the right channel for all audio apart from an audio stream that I control.

I am using a number of libraries playing audio including OpenEars for Text-to-speech and I would like all of them to only play out the left headphone speaker while I play something else out the right speaker.

I know how to play out just the right speaker creating an Audio Units stream however I am not creating the audio streams for the other libraries. Is there a way to change the default audio channel? Or is it possible to create an effort or mixer that is applied to all audio going out that mutes the right channel?

Any help/hints would be much appreciated.

Josh
  • 211
  • 2
  • 5
  • 2
    A hint - how about to change a way of thinking, you can use some APIs (if there exist) to modify your audio stream and set right channel volume to 0dB. I found [dirac3 api](http://dirac.dspdimension.com/Dirac3_Technology_Home_Page/Dirac3_Technology.html) that can change pitch and do time stretching, but I am not sure if there are any APIs that can change channel volume. – Ben Lu Nov 13 '12 at 09:31
  • Thanks for your reply. Unfortunately I don't have access to the audio stream from OpenEars or the other pre-compiled libraries I am using that is why I'd like to figure out a way to change the default audio channel. – Josh Nov 14 '12 at 02:03

1 Answers1

0

If you don't need low latency audio, wich AudioUnit provides, you can try using AudioQueues to play your audio instead, AudioQueues has the highest degree of control over audio in iOS (it supports synchronization, channel control, volume gain, buffer, etc.). Here's some links to Apple's documentation :-)

Audio Queue Services Programming Guide Introduction: http://bit.ly/10ikt4G

About Audio Queues: http://bit.ly/YfnVI8

Playing audio with AudioQueue: http://bit.ly/10ikAgT

Aluminum
  • 2,932
  • 5
  • 35
  • 63