public AmbiencePlayer(Ambience amb) { if (amb.Loop) { byte[] data = new XAFile(FSO.Content.Content.Get().GetPath(amb.Path)).DecompressedData; var stream = new MemoryStream(data); sfx = SoundEffect.FromStream(stream); stream.Close(); inst = sfx.CreateInstance(); inst.IsLooped = true; inst.Play(); fscMode = false; } else { fsc = HITVM.Get().PlayFSC(FSO.Content.Content.Get().GetPath(amb.Path)); fsc.SetVolume(0.33f); //may need tweaking fscMode = true; } }
public AmbiencePlayer(Ambience amb) { if (amb.Loop) { byte[] data = new XAFile(TSO.Content.Content.Get().GetPath(amb.Path)).DecompressedData; var stream = new MemoryStream(data); sfx = SoundEffect.FromStream(stream); stream.Close(); inst = sfx.CreateInstance(); inst.IsLooped = true; inst.Play(); fscMode = false; } else { fsc = HITVM.Get().PlayFSC(TSO.Content.Content.Get().GetPath(amb.Path)); fsc.SetVolume(0.33f); //may need tweaking fscMode = true; } }
public AmbiencePlayer(Ambience amb) { if (amb.Loop) { byte[] data = new XAFile(TSO.Content.Content.Get().GetPath(amb.Path)).DecompressedData; LoopSound = GCHandle.Alloc(data, GCHandleType.Pinned); IntPtr pointer = LoopSound.AddrOfPinnedObject(); Channel = Bass.BASS_StreamCreateFile(pointer, 0, data.Length, BASSFlag.BASS_DEFAULT | BASSFlag.BASS_STREAM_AUTOFREE); //Bass.BASS_ChannelSetAttribute(Channel, BASSAttribute.BASS_ATTRIB_VOL, 0.33f); Bass.BASS_ChannelFlags(Channel, BASSFlag.BASS_MUSIC_LOOP, BASSFlag.BASS_MUSIC_LOOP); Bass.BASS_ChannelPlay(Channel, false); fscMode = false; } else { fsc = HITVM.Get().PlayFSC(TSO.Content.Content.Get().GetPath(amb.Path)); fsc.SetVolume(0.33f); //may need tweaking fscMode = true; } }