上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 215 下一页
摘要: 测试代码:窗体设计:运行效果图: 阅读全文
posted @ 2011-01-23 23:16 万一 阅读(1335) 评论(1) 推荐(0) 编辑
摘要: 测试代码:窗体设计:运行效果图: 阅读全文
posted @ 2011-01-23 22:54 万一 阅读(1098) 评论(0) 推荐(0) 编辑
摘要: 测试代码:窗体设计:运行效果图: 阅读全文
posted @ 2011-01-22 21:26 万一 阅读(1121) 评论(10) 推荐(0) 编辑
摘要: 测试代码:窗体设计:运行效果图: 阅读全文
posted @ 2011-01-21 23:30 万一 阅读(1495) 评论(10) 推荐(1) 编辑
摘要: 问题来源: http://www.cnblogs.com/del/archive/2008/11/08/1329543.html#2016234 阅读全文
posted @ 2011-01-21 17:43 万一 阅读(2006) 评论(1) 推荐(0) 编辑
摘要: 只有使用 IDirectSoundBuffer8 的次缓冲区才能设置"特效", 主缓冲区主要负责的是混音和处理 3D 效果.IDirectSoundBuffer8(非 IDirectSoundBuffer) 支持以下效果器:使用步骤:1、通过 IDirectSoundBuffer8 的 SetFX() 方法关联特效, 这个过程主要是给 SetFX() 方法的参数准备 TDSEffectDesc 结构数组;2、通过 IDirectSoundBuffer8 的 GetObjectInPath() 方法获取特效对象;3、通过特效对象的 SetAllParameters() 方法设置特效参数.9 个特 阅读全文
posted @ 2011-01-21 15:53 万一 阅读(2143) 评论(2) 推荐(0) 编辑
摘要: IDirectSoundBuffer.GetStatus() 用于获取缓冲区的当前状态, 譬如是否正在播放、是否指定为循环播放等等.IDirectSound8.DuplicateSoundBuffer() 是通过根据已存在的缓冲区建立缓冲区副本, 这类似引用; 通过它可以让同一个声音交叉播放.复制缓冲区不能复制主缓冲区.示例: 阅读全文
posted @ 2011-01-20 11:41 万一 阅读(2416) 评论(4) 推荐(0) 编辑
摘要: 首先要修改前面自定义的 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) 编辑
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 215 下一页