I’m building a playback app in which I want users to be able to use their own external audio device (usually ASIO) and load in their own samples and sounds.
I can fetch the samplerate from wav files but I’m running into strange phenomenon with the getsamplerate from the soundstream itself. I am using an ASIO audio device that is locked to 48000khz samplerate, this is also what I pass in the settings when setting up the soundstream.
Everything plays back properly and sounds OK. However, when I use the command getSampleRate for the actual stream it always returns 44100. This cannot be true as my test wav files are 44100 khz files, and I need to ‘resample’ them to play them with the right pitch through the 48000khz device in my app.
Any ideas as to why the returned samplerate is always 44100 khz? The code has some inline comments:
||/// \brief Queries the stream’s sample rate|
||/// \return the current sample rate of the stream|
||/// \note The returned sample rate may differ from the requested sample rate.
So it seems that the returned rate is in fact not the same as my setup ‘requests’, but the playback of my 44100 samples tells me that in fact the stream is 48000khz. What’s going on here?