我用PlaySound("文件名", NULL, SND_FILENAME | SND_ASYNC | SND_LOOP)能够播放音乐,但是声音特别大,有什么方法可以直接设置音量呢?
注:只设置我自己程序的音量而不能影响系统的音量,就像CS一样,可以把背景音乐调低后还可以听歌。

解决方案 »

  1.   

    像CS那样的3D游戏是使用 DirectSound 来控制音量输出的
    我估计这个音量与系统的音量无关,它不经过系统处理而直接经由声卡输出不过我没这方面的知识,帮你不了啦!
      

  2.   


    CS这些不是用的这个接口,DirectShow,DirectSound都是ring0级的,所以扩展性当然强了。你想怎么操作都可以,甚至对声音做特殊处理
      

  3.   

    CS这些不是用的这个接口,DirectShow,DirectSound都是ring0级的,所以扩展性当然强了。你想怎么操作都可以,甚至对声音做特殊处理
      

  4.   

    使用WavOut及WavIn等低级API函数才行
      

  5.   

    改变单个声音的音量 用second buffer接口调用setvolume
    改变声卡音量 用primary buffer接口调用setvolume