小弟想用DirectSound播放Wave文件,在网上找了一个类,但在使用中发现两个问题:
1。无法控制播放顺序:比如偶想按顺序播放多个wave文件,形成一句话。但事实上这几个文件几乎是同时播放的;
2。如果该程序失去焦点之后,就无法再播放???有请高人相助!

解决方案 »

  1.   

    1 既然是按顺序,又何来“同时播放”一说?
    2 该程序失去焦点之后,就无法再播放?你创建播放缓冲区的时候,参数DSBUFFERDESC的dwFlags 里,必须要有 DSBCAPS_GLOBALFOCUS,才可以全局播放。
      

  2.   

    按顺序的意思是说,一段代码分别播放几个不同的wave文件,前面的文件还没有播放完(可能比较长),后面的文件就开始播放了,形成了混音的效果,就好像同时播放一样。
      

  3.   

    用IDirectSoundNotify接口好像可以实现播放完毕通知的功能。
    但程序里加上之后总是在编译的时候提示Unresolved symbols : IID_IDirectSoundNotify
    这是为什么?