估计小弟我的有关问题没有高手来回答了,不过还是侥幸一下吧?关于声卡的
估计我的问题没有高手来回答了,不过还是侥幸一下吧?关于声卡的。
1。windows多个声音播放时,声音合成是声卡硬件合成的,还是系统软件合成?
2。怎么直接操作左右声道?输出不同的话音?不考虑先对数据操作再输出,太慢了!
------解决方案--------------------
1.所有的声音都是通过声卡驱动来播放的,所以这个合成动作是声卡做的。
2.直接操作左右声道? 超级解霸(暴风影音也可以)就可以的,不过呢它是对自己播放文件的左右声道进行操作的,只是把两个声道的声音填成一样的。如果你要做KTV软件什么的,用DirectShow就可以实现了。
你是想控制整个系统所有声音合成后的左右声道进行操作吗? 办法当然是有的,就是自己写一个虚拟声卡驱动,把虚拟声卡驱动作为系统默认的输出设备(你可以到控制面板的声音里看看,有什么首选设备之类的。),设置为你的虚拟声卡驱动后,你的虚拟声卡驱动就可以得到所有程序混合后的左右两个声道的数据。 然后你取其中一个声道的数据,复制到另一声道去,然后再调用系统原有的那个声卡驱动,把你修改的数据给它,让它去驱动声卡硬件去发出声音。
我曾经想找一个“虚拟声卡驱动”的源码找不到,后来就用DDK里的虚拟声卡例子改一改,但是因为工作太忙,而且有一定难度,要看很多英文的DDK帮助,后来就放弃了。
1。windows多个声音播放时,声音合成是声卡硬件合成的,还是系统软件合成?
2。怎么直接操作左右声道?输出不同的话音?不考虑先对数据操作再输出,太慢了!
------解决方案--------------------
1.所有的声音都是通过声卡驱动来播放的,所以这个合成动作是声卡做的。
2.直接操作左右声道? 超级解霸(暴风影音也可以)就可以的,不过呢它是对自己播放文件的左右声道进行操作的,只是把两个声道的声音填成一样的。如果你要做KTV软件什么的,用DirectShow就可以实现了。
你是想控制整个系统所有声音合成后的左右声道进行操作吗? 办法当然是有的,就是自己写一个虚拟声卡驱动,把虚拟声卡驱动作为系统默认的输出设备(你可以到控制面板的声音里看看,有什么首选设备之类的。),设置为你的虚拟声卡驱动后,你的虚拟声卡驱动就可以得到所有程序混合后的左右两个声道的数据。 然后你取其中一个声道的数据,复制到另一声道去,然后再调用系统原有的那个声卡驱动,把你修改的数据给它,让它去驱动声卡硬件去发出声音。
我曾经想找一个“虚拟声卡驱动”的源码找不到,后来就用DDK里的虚拟声卡例子改一改,但是因为工作太忙,而且有一定难度,要看很多英文的DDK帮助,后来就放弃了。