public CachedAudioEffect(AudioEffectTypes audioEffect) { AudioEffectType = audioEffect; var file = GetFile(); AudioEffectBytes = new byte[0]; if (file != null) { using (var reader = new WaveFileReader(file)) { // Assert.AreEqual(16, reader.WaveFormat.BitsPerSample, "Only works with 16 bit audio"); if (reader.WaveFormat.BitsPerSample == 16 && reader.WaveFormat.Channels == 1) { AudioEffectBytes = new byte[reader.Length]; var read = reader.Read(AudioEffectBytes, 0, AudioEffectBytes.Length); Logger.Info($"Read Effect {audioEffect} from {file} Successfully"); } else { Logger.Info($"Unable to read Effect {audioEffect} from {file} Successfully - not 16 bits!"); } } } else { Logger.Info($"Unable to find file for effect {audioEffect} in AudioEffects\\{FileNameLookup[(int) audioEffect]} "); } }
public CachedAudioEffect(AudioEffectTypes audioEffect, string fileName, string path) { FileName = fileName; AudioEffectType = audioEffect; var file = path; AudioEffectBytes = new byte[0]; if (File.Exists(file)) { using (var reader = new WaveFileReader(file)) { // Assert.AreEqual(16, reader.WaveFormat.BitsPerSample, "Only works with 16 bit audio"); if (reader.WaveFormat.BitsPerSample == RequiredFormat.BitsPerSample && reader.WaveFormat.SampleRate == reader.WaveFormat.SampleRate && reader.WaveFormat.Channels == 1) { AudioEffectBytes = new byte[reader.Length]; var read = reader.Read(AudioEffectBytes, 0, AudioEffectBytes.Length); Logger.Info($"Read Effect {audioEffect} from {file} Successfully - Format {reader.WaveFormat}"); Loaded = true; } else { Logger.Info($"Unable to read Effect {audioEffect} from {file} Successfully - {reader.WaveFormat} is not {RequiredFormat} !"); } } } else { Logger.Info($"Unable to find file for effect {audioEffect} in AudioEffects\\{FileName} "); } }
public CachedAudioEffect(AudioEffectTypes audioEffect) { AudioEffectType = audioEffect; var file = GetFile(); using (var reader = new WaveFileReader(file)) { // Assert.AreEqual(16, reader.WaveFormat.BitsPerSample, "Only works with 16 bit audio"); AudioEffectBytes = new byte[reader.Length]; var read = reader.Read(AudioEffectBytes, 0, AudioEffectBytes.Length); } }
public CachedAudioEffect(AudioEffectTypes audioEffect) : this(audioEffect, audioEffect.ToString() + ".wav", AppDomain.CurrentDomain.BaseDirectory + "\\AudioEffects\\" + audioEffect.ToString() + ".wav") { }