上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 215 下一页
摘要: 问题来源: http://www.cnblogs.com/del/archive/2011/01/16/1936942.html#2012707 阅读全文
posted @ 2011-01-17 16:38 万一 阅读(3295) 评论(10) 推荐(0) 编辑
摘要: 通过 IDirectSoundBuffer 的 SetVolume、SetPan、SetFrequency、SetCurrentPosition 方法可以简单进行这些设置.同时 IDirectSoundBuffer 也有对应的 GetVolume、GetPan、GetFrequency、GetCurrentPosition 方法.关键的一点是如果能让缓冲区接受音量、相位和频率的设置, 必须在建立缓冲区时指定相应的标志.下面的常量说明了它们的取值范围:在上一个例子中, 最占篇幅的就是那两个函数; 为了更方便使用, 把它们做在了一个 TReadWaveFile 类里:测试程序用到了四个 Butto 阅读全文
posted @ 2011-01-16 22:51 万一 阅读(4050) 评论(15) 推荐(0) 编辑
摘要: 建立 IDirectSound8 对象后, 首先要通过其 SetCooperativeLevel() 方法设置协作优先级;因为其它应用程序有可能同时使用该设备(声卡), 这是必需的步骤.然后通过 IDirectSound8.CreateSoundBuffer() 方法建立缓冲区, 这个过程主要是填写 TDSBufferDesc 结构;填写 TDSBufferDesc 结构时又同时需要 TWaveFormatEx 结构的指针, 这个 TWaveFormatEx 结构我们会直接从 Wave 文件中读取.除非优先级设置为 DSSCL_WRITEPRIMARY, 程序至少应该有一个次缓冲区(这同时会自 阅读全文
posted @ 2011-01-15 23:43 万一 阅读(3700) 评论(8) 推荐(0) 编辑
摘要: 问题来源: http://www.cnblogs.com/del/archive/2009/02/16/1392049.html#2011187程序运行后, F8 可保存 bmp, F9 可保存 png; 测试保存目录在 C:\temp 阅读全文
posted @ 2011-01-15 13:23 万一 阅读(2831) 评论(1) 推荐(0) 编辑
摘要: 使用 DirectSound 前应先建立 IDirectSound8 对象(之前的版本是 IDirectSound):然后通过 IDirectSound8 对象(它代表着一个播放设备)创建缓冲区, 以写入声音信息.这里的缓冲区分 "主缓冲区" 和 "次缓冲区". 主缓冲区只有一个; 次缓冲区可以有多个, 以实现多个声音的同时播放.DirectSound 会尽量使用硬件(声卡)提供的缓冲区; 如果硬件不支持则只好使用系统内存做缓冲区, 但这样效率不及前者.通过 IDirectSound8.GetCaps() 方法可以获取指定设备的详细性能:查看默认设备性能的测试程序:查看所有设备性能的测试程序: 阅读全文
posted @ 2011-01-13 21:12 万一 阅读(2154) 评论(5) 推荐(0) 编辑
摘要: 现在的 Delphi(2010、XE) 已经自带了 DirectX 的相关单元(...\source\rtl\win\).这是常见的代码:在回调函数中直接使用窗体控件不好, 修改如下:获取更多信息: 阅读全文
posted @ 2011-01-12 20:26 万一 阅读(4412) 评论(11) 推荐(2) 编辑
摘要: Dictionary、KeyValuePair:SortedDictionary:SortedList:HashSet、SortedSet:List:LinkedList、LinkedListNode: 阅读全文
posted @ 2011-01-11 13:12 万一 阅读(2145) 评论(0) 推荐(1) 编辑
摘要: 成员:Array.AsReadOnly(): 阅读全文
posted @ 2011-01-10 16:31 万一 阅读(1471) 评论(0) 推荐(0) 编辑
摘要: 通过 CollectionsUtil 创建或包装的 "键/值对" 类(实现 IDictionary 的), 可以忽略 Key 的大小写.主要成员:创建忽略大小写的 Hashtable:创建忽略大小写的 SortedList:包装一个 Hashtable 为忽略大小写: 阅读全文
posted @ 2011-01-08 21:59 万一 阅读(966) 评论(0) 推荐(0) 编辑
摘要: 问题来源: http://www.cnblogs.com/del/archive/2009/10/28/1591380.html#2006425测试准备, 在空白窗体上添加 Memo1 和 Button1, 然后激活 Form1 的如下事件(巅枫同学关心的):OnMouseEnter、OnMouseLeave、OnMouseWheel、OnMouseWheelDown、OnMouseWheelUp, 还用到其 OnCreate 事件.然后根据如下测试代码, 一试便知: 阅读全文
posted @ 2011-01-08 14:10 万一 阅读(5015) 评论(10) 推荐(0) 编辑
上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 215 下一页