/// <summary> /// Creates object of streamed AudioPlayer that can be played on <see cref="DefaultSourceEntity"/>. /// </summary> /// <param name="name">Name of audio.</param> /// <param name="res"><see cref="Stream"/> that contains audio.</param> /// <param name="preset"><see cref="AudioPreset"/> that defines different sound properties.</param> /// <returns>Object of <see cref="AudioPlayer"/>.</returns> public AudioPlayer Create(string name, Stream res, AudioPreset preset) { AudioPlayer audio = new AudioPlayer(this, name, res, preset); _allSounds.Add(audio); return(audio); }
internal AudioPlayer(AudioEngine audioEngine, string name, Stream res, AudioPreset preset) : this() { _soundEngine = AudioEngine.SoundEngine; FilePath = null; _soundSource = _soundEngine.AddSoundSourceFromIOStream(res, name); Add(preset, audioEngine.DefaultSourceEntity); }
private void Add(AudioPreset preset, Entity entity) { Flags = preset.Flags; Volume = preset.Volume; MinimumDistance = preset.MinimumDistance; IsInteriorSound = Flags.HasFlag(AudioFlags.InteriorSound); IsExteriorSound = Flags.HasFlag(AudioFlags.ExteriorSound); StartFadeIn = Flags.HasFlag(AudioFlags.FadeIn); StopFadeOut = Flags.HasFlag(AudioFlags.FadeOut); SourceEntity = entity; }
internal AudioPlayer(AudioEngine audioEngine, string name, AudioPreset preset) : this() { _soundEngine = AudioEngine.SoundEngine; FileInfo audioInfo = new FileInfo($".\\scripts\\{audioEngine.BaseSoundFolder}/{name}"); if (audioInfo.Exists == false) { Screen.ShowSubtitle($"File: {audioInfo.FullName} doesn't exists!"); return; } FilePath = audioInfo.FullName; _soundEngine.AddSoundSourceFromFile(FilePath); Add(preset, audioEngine.DefaultSourceEntity); }