private void frontLeft_Click(object sender, System.EventArgs e) { FMOD.RESULT result; result = system.playSound(FMOD.CHANNELINDEX.FREE, sound1, true, ref channel); ERRCHECK(result); result = channel.setSpeakerMix(1.0f, 0, 0, 0, 0, 0, 0, 0); ERRCHECK(result); result = channel.setPaused(false); ERRCHECK(result); }
public static void Play(string key, int speaker, float volume = 1f, bool loop = false) { #if NO_AUDIO return; #endif // play audio FMOD.RESULT result = system.playSound(FMOD.CHANNELINDEX.FREE, sounds[key], true, ref channel); ERRCHECK(result); result = channel.setVolume(volume); ERRCHECK(result); int index = 0; channel.getIndex(ref index); channelIDs.Add(index); FMOD.MODE loopAudio = (loop) ? FMOD.MODE.LOOP_NORMAL : FMOD.MODE.LOOP_OFF; result = channel.setMode(loopAudio); //SPEAKER 1 (Satelite Audio, Side Specific) if (speaker == 0) { result = channel.setSpeakerMix(0, 0, 0, 0, 0, 0, 1.0f, 0); ERRCHECK(result); } //SPEAKER 2 (Satelite Audio, Side Specific) if (speaker == 1) { result = channel.setSpeakerMix(0, 0, 0, 0, 0, 0, 0, 1.0f); ERRCHECK(result); } //SPEAKER 3 (Satelite Audio, Side Specific) if (speaker == 2) { result = channel.setSpeakerMix(0, 0, 0, 0, 1.0f, 0, 0, 0); ERRCHECK(result); } //SPEAKER (Satelite Audio, Side Specific) if (speaker == 3) { result = channel.setSpeakerMix(0, 0, 0, 0, 0, 1.0f, 0, 0); ERRCHECK(result); } //SPEAKER 5 (Subwoofer) if (speaker == 4) { result = channel.setSpeakerMix(0, 0, 1.0f, 0, 0, 0, 0, 0); ERRCHECK(result); } if (isMuted) { channel.setMute(isMuted); } result = channel.setPaused(false); ERRCHECK(result); }