XAudio2学习之IXAudio2VoiceCallback回调
Posted GreenArrowMan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XAudio2学习之IXAudio2VoiceCallback回调相关的知识,希望对你有一定的参考价值。
使用IXAudio2VoiceCallback回调的好处是,在音频数据播放完的时候,可以通知外部程序进行其他操作。
使用IXAudio2VoiceCallback需要继承此接口,然后重新实现,因为内部所有函数都是纯虚函数。所有函数中使用比较多的是OnStreamEnd函数,当音频数据播放完成的时候,OnStreamEnd会触发一个事件。
继承实现IXAudio2VoiceCallback接口:
class VoiceCallback : public IXAudio2VoiceCallback
{
public:
HANDLE hBufferEndEvent;
VoiceCallback(): hBufferEndEvent( CreateEvent( NULL, FALSE, FALSE, NULL ) ){}
~VoiceCallback(){ CloseHandle( hBufferEndEvent ); }
//Called when the voice has just finished playing a contiguous audio stream.
void OnStreamEnd() { SetEvent( hBufferEndEvent ); }
//Unused methods are stubs
void OnVoiceProcessingPassEnd() {
以上是关于XAudio2学习之IXAudio2VoiceCallback回调的主要内容,如果未能解决你的问题,请参考以下文章
XAudio2学习之IXAudio2VoiceCallback回调