public void CombineThrowsWhenElementIsNull() { var audio = new AudioData(GenerateAudio.GeneratePcmSineWave(100, 1, 48000)); Exception ex = Record.Exception(() => AudioData.Combine(audio, null)); Assert.IsType <ArgumentException>(ex); }
public void CombineThrowsWhenAudioCantBeCombined() { var audio = new AudioData(GenerateAudio.GeneratePcmSineWave(100, 1, 48000)); var audio2 = new AudioData(GenerateAudio.GeneratePcmSineWave(200, 1, 48000)); Exception ex = Record.Exception(() => AudioData.Combine(audio, audio2)); Assert.IsType <ArgumentException>(ex); }
public void AddSameFormats() { Pcm16Format pcm = GenerateAudio.GeneratePcmSineWave(100, 1, 48000); Pcm16Format pcm2 = GenerateAudio.GeneratePcmSineWave(100, 1, 48000); var audio = new AudioData(pcm); var audio2 = new AudioData(pcm2); AudioData combined = AudioData.Combine(audio, audio2); var pcmCombined = combined.GetFormat <Pcm16Format>(); Assert.Same(pcm.Channels[0], pcmCombined.Channels[0]); Assert.Same(pcm2.Channels[0], pcmCombined.Channels[1]); Assert.Equal(2, pcmCombined.ChannelCount); }
public void AddDifferentFormats() { Pcm16Format pcm = GenerateAudio.GeneratePcmSineWave(100, 1, 48000); GcAdpcmFormat adpcm = GenerateAudio.GenerateAdpcmSineWave(100, 1, 48000); var audio = new AudioData(pcm); var audio2 = new AudioData(adpcm); AudioData combined = AudioData.Combine(audio, audio2); Assert.Collection(combined.GetAllFormats(), x => Assert.True(x is Pcm16Format)); var pcmCombined = combined.GetFormat <Pcm16Format>(); Assert.Same(pcm.Channels[0], pcmCombined.Channels[0]); Assert.Equal(2, pcmCombined.ChannelCount); }
private void EncodeFiles(JobFiles files, Options options) { foreach (AudioFile file in files.InFiles.Where(x => x.Channels != null)) { IAudioFormat format = file.Audio.GetAllFormats().First(); file.Audio = new AudioData(format.GetChannels(file.Channels.ToArray())); } AudioData[] toMerge = files.InFiles.Select(x => x.Audio).ToArray(); Audio = AudioData.Combine(toMerge); if (options.NoLoop) { Audio.SetLoop(false); } if (options.Loop) { Audio.SetLoop(options.Loop, options.LoopStart, options.LoopEnd); } }
public void AddSameFormatsAfterEncodingChoosesEncodedFormat() { Pcm16Format pcm = GenerateAudio.GeneratePcmSineWave(100, 1, 48000); Pcm16Format pcm2 = GenerateAudio.GeneratePcmSineWave(100, 1, 48000); var audio = new AudioData(pcm); var audio2 = new AudioData(pcm2); var adpcm = audio.GetFormat <GcAdpcmFormat>(); var adpcm2 = audio2.GetFormat <GcAdpcmFormat>(); AudioData combined = AudioData.Combine(audio, audio2); Assert.Collection(combined.GetAllFormats(), x => Assert.True(x is GcAdpcmFormat)); var pcmCombined = combined.GetFormat <Pcm16Format>(); var adpcmCombined = combined.GetFormat <GcAdpcmFormat>(); Assert.Same(adpcm.Channels[0].GetAdpcmAudio(), adpcmCombined.Channels[0].GetAdpcmAudio()); Assert.Same(adpcm2.Channels[0].GetAdpcmAudio(), adpcmCombined.Channels[1].GetAdpcmAudio()); Assert.NotSame(pcm.Channels[0], pcmCombined.Channels[0]); Assert.NotSame(pcm2.Channels[0], pcmCombined.Channels[1]); Assert.Equal(2, adpcmCombined.ChannelCount); }
public void AddDifferentFormatsMultipleInputs() { Pcm16Format pcmFormat = GenerateAudio.GeneratePcmSineWave(100, 4, 48000); Pcm16Format pcm0 = pcmFormat.GetChannels(0); Pcm16Format pcm1 = pcmFormat.GetChannels(1, 2); Pcm16Format pcm2 = pcmFormat.GetChannels(3); var audio0 = new AudioData(pcm0); var audio1 = new AudioData(pcm1); var audio2 = new AudioData(pcm2); audio0.GetFormat <GcAdpcmFormat>(); audio2.GetFormat <GcAdpcmFormat>(); AudioData combined = AudioData.Combine(audio0, audio1, audio2); Assert.Collection(combined.GetAllFormats(), x => Assert.True(x is Pcm16Format)); var pcmCombined = combined.GetFormat <Pcm16Format>(); Assert.Equal(4, pcmCombined.ChannelCount); Assert.Same(pcm0.Channels[0], pcmCombined.Channels[0]); Assert.Same(pcm1.Channels[0], pcmCombined.Channels[1]); Assert.Same(pcm1.Channels[1], pcmCombined.Channels[2]); Assert.Same(pcm2.Channels[0], pcmCombined.Channels[3]); }
public void CombineThrowsWhenArrayIsNull() { Exception ex = Record.Exception(() => AudioData.Combine(null)); Assert.IsType <ArgumentException>(ex); }