上篇我们将来如何运用Core Audio APIS进行声音数据的采集,下面我们来说说声音数据的播放。
从第一篇文章我们知道,Core Audio APIS是Window下比较底层的API,使用它来播放声音的时候不像DirectSound这些高层的API那么方便,很多东西要自己来做。
对于DX9以上的我不太了解,在DX9上,播放音频数据时,你只要设置好相应的数据格式,然后把数据往缓冲区里面塞就OK了;相比之下,Core Audio要复杂一些,下面我们来看看最理想化的一种情况,照例先给出官网地址 https://msdn.microsoft.com/en-us/library/dd316756(v=vs.85).aspx
hr = CoCreateInstance(
CLSID_MMDeviceEnumerator, NULL,
CLSCTX_ALL, IID_IMMDeviceEnumerator,
(void**)&pEnumerator);
EXIT_ON_ERROR(hr)void**)&pAudioClient);
EXIT_ON_ERROR(hr)
hr = pAudioClient->GetMixFormat(&pwfx);
EXIT_ON_ERROR(hr)
hr = pAudioClient->Initialize(
AUDCLNT_SHAREMODE_SHARED,
0,
hnsRequestedDuration,