public void CanPlayWithStreamingSourceVoice() { for (int i = 0; i < 20; i++) { using (var masteringVoice = _xaudio2.CreateMasteringVoice()) using (var source = GlobalTestConfig.TestWav2S()) using (var pool = new StreamingSourceVoiceListener()) using (var streamingSourceVoice = new StreamingSourceVoice(_xaudio2, source)) { var stoppedEvent = new ManualResetEvent(false); streamingSourceVoice.Stopped += (s, e) => stoppedEvent.Set(); streamingSourceVoice.Start(); pool.Add(streamingSourceVoice); Debug.WriteLine("All queued."); stoppedEvent.WaitOne(); pool.Remove(streamingSourceVoice); } Debug.WriteLine("All removed."); } }
public void CanPlayStereoToMonoSource() { //in order to fix workitem 3 var source = GlobalTestConfig.TestMp3().ToStereo(); Assert.AreEqual(2, source.WaveFormat.Channels); var monoSource = new StereoToMonoSource(source.ToSampleSource()); Assert.AreEqual(1, monoSource.WaveFormat.Channels); ISoundOut soundOut; if (WasapiOut.IsSupportedOnCurrentPlatform) { soundOut = new WasapiOut(); } else { soundOut = new DirectSoundOut(); } soundOut.Initialize(monoSource.ToWaveSource(16)); soundOut.Play(); Thread.Sleep((int)Math.Min(source.GetMilliseconds(source.Length), 20000)); soundOut.Dispose(); }
public void CanEncodeToMP3() { using (var source = GlobalTestConfig.TestWav2S()) { using (var encoder = MediaFoundationEncoder.CreateMP3Encoder(source.WaveFormat, _targetfilename)) { MediaFoundationEncoder.EncodeWholeSource(encoder, source); } } }
public void CanCreateSourceReaderFromIOStream() { using (var stream = GlobalTestConfig.TestMp3AsStream()) using (var comstream = new ComStream(stream)) { using (var byteStream = MediaFoundationCore.IStreamToByteStream(comstream)) { Assert.IsNotNull(byteStream); using ( var reader = MediaFoundationCore.CreateSourceReaderFromByteStream(byteStream.BasePtr, IntPtr.Zero)) { Assert.IsNotNull(reader); } } } }
public void CanCreateSourceReaderFromUrl() { var filename = Path.ChangeExtension(Path.GetTempFileName(), "mp3"); try { using (var stream = GlobalTestConfig.TestMp3AsStream()) { File.WriteAllBytes(filename, stream.ToArray()); using (var reader = MediaFoundationCore.CreateSourceReaderFromUrl(filename)) { Assert.IsNotNull(reader); } } } finally { File.Delete(filename); } }
public void Initialize() { _source = GlobalTestConfig.TestMp3(); _xaudio2 = CreateXAudio2(); }
private IWaveSource GetWaveSource() { return(GlobalTestConfig.TestWav2S()); }
public static IWaveSource GetMockSource() { return(GlobalTestConfig.TestMp3()); }