12345678910111213141516171819202122232425262728293031323334353637383940 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using System.Threading.Tasks;
- using Bmp.Core.Playback.Inputs;
- using Bmp.Core.Playback.Outputs.NAudioASIO;
- using NAudio.Wave;
- using AsioOut = Bmp.Core.Playback.Outputs.NAudioASIO.AsioOut;
- namespace Bmp.Poc.PoCs
- {
- internal class PocAsioNativeDSDOut
- {
- public static void MainFunc()
- {
- var dsfFilePath = Const.FileDsf;
- var asioDriverName = "Creative SB USB DSD ASIO Device";
- var inputSource = new DsfSourceStream(dsfFilePath);
- var outputDevice = new AsioOut(asioDriverName);
- outputDevice.SetNativeDsd();
- outputDevice.Init(inputSource);
- outputDevice.Play();
- while (outputDevice.PlaybackState == PlaybackState.Playing)
- {
- Console.WriteLine($"{inputSource.CurrentTime}/{inputSource.TotalTime}");
- Thread.Sleep(3000);
- //outputDevice.Pause();
- inputSource.CurrentTime = inputSource.CurrentTime.Add(TimeSpan.FromSeconds(30));
- //Thread.Sleep(100);
- //outputDevice.Play();
- }
- }
- }
- }
|