示例#1
0
        public void InitiateLoadedSound(SoundResource soundResource)
        {
            float dummy         = 0f;
            int   dummyI        = 0;
            float baseFrequency = 0;

            FMOD.Sound sound = (FMOD.Sound)soundResource.SoundGlue.InnerSoundObject;

            ERRCHECK(sound.set3DMinMaxDistance(minMaxDistance.X, minMaxDistance.Y));
            ERRCHECK(sound.getDefaults(ref baseFrequency, ref dummy, ref dummy, ref dummyI));
            ERRCHECK(sound.setDefaults(soundResource.PlaybackSpeed * baseFrequency, soundResource.Volume, 0f, (int)soundResource.Priority));
            soundResource.BaseFrequency = baseFrequency;
            if (soundResource.SoundGroupEnum != SoundGroups.Default)
            {
                ERRCHECK(sound.setSoundGroup((FMOD.SoundGroup)SoundManager.Instance.GetSoundGroup(soundResource.SoundGroupEnum).SoundGroupGlue.InnerSoundGroupObject));
            }
        }