public Config GetConfig(ISoundLoader loader = null) { var config = new Config(); config.Mixer = m_Mixer; if (loader == null) { config.BgmProvider = m_Bgm.CreateProvider(null); config.GameSeProvider = m_GameSE.CreateProvider(null); config.UISEProvider = m_UISE.CreateProvider(null); config.JingleProvider = m_JingleSE.CreateProvider(null); config.VoiceProvider = m_VoiceSE.CreateProvider(null); } else { config.BgmProvider = m_Bgm.CreateProvider(loader.LoadMusic); config.GameSeProvider = m_GameSE.CreateProvider(loader.LoadSound); config.UISEProvider = m_UISE.CreateProvider(loader.LoadSound); config.JingleProvider = m_JingleSE.CreateProvider(loader.LoadSound); config.VoiceProvider = m_VoiceSE.CreateProvider(loader.LoadVoice); } return(config); }
ISoundSource LoadSound(ISoundLoader[] loaders, IReadOnlyFileSystem fileSystem, string filename) { if (!fileSystem.Exists(filename)) { Log.Write("sound", "LoadSound, file does not exist: {0}", filename); return null; } using (var stream = fileSystem.Open(filename)) { ISoundFormat soundFormat; foreach (var loader in Game.ModData.SoundLoaders) { stream.Position = 0; if (loader.TryParseSound(stream, out soundFormat)) return soundEngine.AddSoundSourceFromMemory( soundFormat.GetPCMInputStream().ReadAllBytes(), soundFormat.Channels, soundFormat.SampleBits, soundFormat.SampleRate); } } throw new InvalidDataException(filename + " is not a valid sound file!"); }
public GameSoundPlayer(ISoundLoader loader, IGameStats gameStats) { _loader = loader ?? throw new ArgumentNullException(nameof(loader)); _gameStats = gameStats; _enabled = true; }
public void Initialize(ISoundLoader[] loaders, IReadOnlyFileSystem fileSystem) { sounds = new Cache<string, ISoundSource>(s => LoadSound(loaders, fileSystem, s)); currentSounds = new Dictionary<uint, ISound>(); music = null; currentMusic = null; video = null; }
public SoundClipManager(ISoundLoader soundLoader, IConfiguration configuration, ILogger logger) { _soundLoader = soundLoader; _configuration = configuration; _logger = logger; }