摘要: 首先要修改前面自定义的 ReadWaveFile 单元, 给它增加一个 OpenResource() 方法以直接读取资源文件中的 "WAVE" 数据;为避免混淆, 把单元名 ReadWaveFile 同时改为 ReadWave; 类名 TReadWaveFile 改为 TReadWave.下面的例子如图载入了三个 Wave 文件到资源:本例可充分体现 DirectSound 可同时播放多个声音的特点; 实现代码:本节演示录像: http://files.cnblogs.com/del/DirectSound_7.rar 阅读全文
posted @ 2011-01-19 16:44 万一 阅读(2055) 评论(23) 推荐(0) 编辑
摘要: 这必须手动建立主缓冲区. 阅读全文
posted @ 2011-01-19 14:04 万一 阅读(1987) 评论(0) 推荐(0) 编辑
摘要: 次缓冲区(或叫辅助缓冲区)尽管使用了波形文件自己的 TWaveFormatEx, 但最终播放的却只是 22050HZ 的 8 位立体声.因为次缓冲区最终要混入主缓冲区才播放, 可主缓冲区的缺省格式是 22050HZ 的 8 位立体声(这利于在不同应用程序之间的平滑切换).次缓冲区一旦建立, 其格式就无法修改了(无法使用缓冲区对象的 SetFormat() 方法); 好在主缓冲区可以重置格式.也就是说, 播放 44100HZ、16 位的 Wave 时, 如果不通过主缓冲修改格式则无法原声播放.要修改格式只能手动建立主缓冲区(我们无法使 DirectSound 自动建立的主缓冲区, 没有入口).手 阅读全文
posted @ 2011-01-19 13:12 万一 阅读(1965) 评论(4) 推荐(0) 编辑