fix an audio issue

This commit is contained in:
SuuperW 2020-03-25 13:52:50 -05:00
parent 34bfa46673
commit 1b419c7cfc
2 changed files with 6 additions and 0 deletions

View File

@ -101,6 +101,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.NDS
ControllerDefinition.FloatRanges.Add(new ControllerDefinition.AxisRange(0, 96, 191)); ControllerDefinition.FloatRanges.Add(new ControllerDefinition.AxisRange(0, 96, 191));
CoreComm = comm; CoreComm = comm;
resampler = new SpeexResampler(SpeexResampler.Quality.QUALITY_DEFAULT, 32768, 44100, 32768, 44100);
SetUpFiles(); SetUpFiles();
if (!Init()) if (!Init())

View File

@ -7,6 +7,8 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.NDS
{ {
unsafe partial class MelonDS : ISoundProvider unsafe partial class MelonDS : ISoundProvider
{ {
SpeexResampler resampler;
public bool CanProvideAsync => false; public bool CanProvideAsync => false;
public SyncSoundMode SyncMode => SyncSoundMode.Sync; public SyncSoundMode SyncMode => SyncSoundMode.Sync;
@ -29,6 +31,9 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.NDS
{ {
GetSamples(data, nsamp); GetSamples(data, nsamp);
} }
// BizHawk requires a sample rate of 44100 Hz.
resampler.EnqueueSamples(samples, nsamp);
resampler.GetSamplesSync(out samples, out nsamp);
} }
public void SetSyncMode(SyncSoundMode mode) public void SetSyncMode(SyncSoundMode mode)