diff --git a/OpenUtau/NAudioOutput.cs b/OpenUtau/NAudioOutput.cs index 532bf5d54..03c1c88ca 100644 --- a/OpenUtau/NAudioOutput.cs +++ b/OpenUtau/NAudioOutput.cs @@ -17,6 +17,7 @@ public class NAudioOutput : DummyAudioOutput { } #else public class NAudioOutput : IAudioOutput { const int Channels = 2; + const int PlaybackLatencyMs = 50; private readonly object lockObj = new object(); private WaveOutEvent? waveOutEvent; @@ -84,7 +85,7 @@ public void Init(ISampleProvider sampleProvider) { wasapiOut.Stop(); wasapiOut.Dispose(); } - wasapiOut = new WasapiOut(AudioClientShareMode.Shared, 200); + wasapiOut = new WasapiOut(AudioClientShareMode.Shared, PlaybackLatencyMs); wasapiOut.PlaybackStopped += OnWasapiPlaybackStopped; wasapiOut.Init(sampleProvider); } else { @@ -94,6 +95,8 @@ public void Init(ISampleProvider sampleProvider) { } waveOutEvent = new WaveOutEvent() { DeviceNumber = deviceNumber, + DesiredLatency = PlaybackLatencyMs, + NumberOfBuffers = 2, }; waveOutEvent.Init(sampleProvider); }