I have looked around and found some old questions related to this but nothing concretely answered and nothing for unity 5.
I am working on a project where we need control over a specific speaker output. To play sounds out of specific speakers we made a 6 channel wav file. The problem is no matter what I do, unity will consolidate the audio down to 2 channels.
This is the wav file, it just plays snippets on each channel independently. I have changed the format to PCM so that it doesnt mess with the format too much (you can see 100% ratio in the above image)
The audio source’s Spatial Blend is set to 2D.
Edit > Project Settings > Audio, Default Speaker Mode is set to Surround 5.1
If I output the audio source to a mixer I can see that it correctly has 6 levels, however, the 4 on the right never show activity. In the image below you can see that the channels are separate since only 1 channel has activity at a time (except center and sub channels, which activate both)
Debug.Log(AudioSettings.speakerMode);
Debug.Log (AudioSettings.GetConfiguration ().speakerMode);
Both of these methods return “Mode5point1”
The only thing that I have found as a lead is that Debug.Log(AudioSettings.driverCapabilities);
returns “stereo”. This confuses me since the system is obviously willing and able to play surround sound. I have tested the wav file in other applications and it plays each channel out of a separate speaker.
I have also tried reseting the speaker mode during runtime:
AudioConfiguration config = AudioSettings.GetConfiguration ();
AudioSettings.Reset (config);
If I do this I get no sound output.
Any help or discussion on this would be very appreciated. Thank you so much.
Side note: This project is intended to be published to a select few PCs so I dont need to worry about making it compatible with different sound systems or setups. We will be in control of the computers it will be installed on.