diff --git a/Ryujinx.HLE/OsHle/Services/Aud/VoiceContext.cs b/Ryujinx.HLE/OsHle/Services/Aud/VoiceContext.cs index 6f3b96af52..170c094ac5 100644 --- a/Ryujinx.HLE/OsHle/Services/Aud/VoiceContext.cs +++ b/Ryujinx.HLE/OsHle/Services/Aud/VoiceContext.cs @@ -61,6 +61,13 @@ namespace Ryujinx.HLE.OsHle.Services.Aud public int[] GetBufferData(AMemory Memory, int MaxSamples, out int SamplesCount) { + if (!Playing) + { + SamplesCount = 0; + + return null; + } + if (BufferReload) { BufferReload = false; @@ -99,6 +106,11 @@ namespace Ryujinx.HLE.OsHle.Services.Aud } OutStatus.PlayedWaveBuffersCount++; + + if (Wb.LastBuffer != 0) + { + PlayState = PlayState.Paused; + } } return Output;