koitsu wrote:
nemulator's methodology is most likely the best choice, but it may or may not require newer Windows (ex. Vista or 7 onwards).
nemulator requires >= Windows Vista, but this method does not. It should work with XP or any other OS, in theory. Windows/DirectSound may have an advantage here, though, because you can directly query the position of the write and playback cursors of the output buffer and get an accurate measurement of the actual playback rate. From what I know of other audio APIs (admittedly, very little), streaming is accomplished by providing packets of audio through a callback method. You could infer the playback rate by how often that callback is called, but I'm not sure how accurate it would be.
Anyway, OP, if you have any questions after reading through those threads, I'd be happy to answer them.
Dwedit wrote:
I find that dynamically resampling sounds awful, it's all warbly. Retroarch does it, and it's annoying, I need to change its sample rate change ratio down to the lowest possible setting to not hear warbling.
Done correctly, it should be inaudible. nemulator's playback rate fluctuates +/- just a couple of hundredths of a percent.