*/ --------------------------------------------------------------------------------------
*/ 出自: 编程中国 http://www.bc-cn.net
*/ 作者: RockCarry E-mail:rockcarry@163.com
*/ 时间: 2007-9-10 编程论坛首发
*/ 声明: 尊重作者劳动,转载请保留本段文字
*/ --------------------------------------------------------------------------------------
可能很多人都需要这个。
最近有空搞了下这个,其实很早以前就实现过 DOS 下的声卡程序,只是代码写得很烂,而且一直都有bug,所以没有发布。
现在重新看了下 SoundBlaster 的资料,还有就是 PC 的 DMAC 8237 和 PIC 8259,重新整理了下思路,把代码重写了,并且调试到现在,已经去除了很多bug,应该可以在 WinXP 平台下稳定的工作。
目前这个还是按照 SB2.01 来写的,因此只能支持 8bit 单声道的 wave 音频播放,采用的是 DMA + 中断的方式,可以播放任意长度的音频文件。WinXP 只能支持到 SB2.01 的标准,而且播放的时候对 CPU 的占用很大,这我也没有办法,这不是我的程序的问题,而是 XP 下 DOS BOX对 SoundBlaster 支持的不好。建议安装下 VMSound 这个软件,可以在 WinXP 平台上获得更高的 SoundBlaster 声卡支持,并且能减少 CPU 资源的占用。
以后可能会加入对更高版本的 SoundBlaster 声卡的支持。还有就是 MIDI,不过 MIDI 的实现还是比较麻烦的。
当然目前这个只是一个 demo 程序,在后面我会定义好接口,以函数库的形式发布,也会加入更多的新特性。