2009年5月27日

摘要: Q: Directsound 与 Waveout 有何不同?A: Waveout 是在32位的Windows上的一种老旧且过时,用来播放数字音讯的应用程序接口(ApplicationProgramming Interface,简称API)。旧的Windows操作系统(如Win9x WinNT4)在 Waveout 的完成度很高(因为 waveout 是针对这些操作系统设计的),如果你想获得最好的效... 阅读全文
posted @ 2009-05-27 16:42 jdmei520 阅读(2111) 评论(0) 推荐(0) 编辑
摘要: 大致流程: 1. 首先用 waveOutOpen 获得 Windows 混音器的句柄。 2. 再初始化一个 Wave Header, 并用 waveOutPrepareHeader 将它“准备好”。 3. 接着用 waveOutWrite 输出这个 Wave Header。 4. 等待播放完成后用 waveOutUnprepareHeader 将 Wave Header “反准备”。 5. 最后调用 waveOutClose 来关闭最开始获得的句柄。 阅读全文
posted @ 2009-05-27 16:40 jdmei520 阅读(1201) 评论(0) 推荐(0) 编辑
摘要: 1.声卡录音的基本原理 2.DirectSound对录音的描述模型 3.SoundRecord类 阅读全文
posted @ 2009-05-27 16:08 jdmei520 阅读(925) 评论(2) 推荐(0) 编辑
摘要: 3.5 模拟退火算法  模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T时趋于平衡的概率为e-ΔE/(kT),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。用固体... 阅读全文
posted @ 2009-05-27 15:22 jdmei520 阅读(1385) 评论(0) 推荐(0) 编辑
摘要: DataGridView扩展:带设置背景图片的DataGridView比默认灰土色要好多了。 [代码] 阅读全文
posted @ 2009-05-27 14:46 jdmei520 阅读(2296) 评论(1) 推荐(0) 编辑
摘要: 做成一个用户控件,需要一个Label、Timer基础控件,让计时器不断移动Label的位置就可以了。[代码] 阅读全文
posted @ 2009-05-27 14:31 jdmei520 阅读(1124) 评论(2) 推荐(0) 编辑
摘要: Control.BeginInvoke 在创建控件的基础句柄所在线程上,用指定的参数异步执行指定委托。 Control.Invoke在拥有此控件的基础窗口句柄的线程上执行指定的委托。 阅读全文
posted @ 2009-05-27 11:44 jdmei520 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 存储过程、存储函数的加密:WITH ENCRYPTION 又如何解密呢? 阅读全文
posted @ 2009-05-27 11:08 jdmei520 阅读(251) 评论(1) 推荐(0) 编辑
摘要: 在改进SQL Server 7.0系列所实现的安全机制的过程中,Microsoft建立了一种既灵活又强大的安全管理机制,它能够对用户访问SQL Server服务器系统和数据库的安全进行全面地管理。按照本文介绍的步骤,你可以为SQL Server 7.0(或2000)构造出一个灵活的、可管理的安全策略,而且它的安全性经得起考验。 阅读全文
posted @ 2009-05-27 11:05 jdmei520 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 为使用 Windows Media 元数据属性提供了一个综合参考。本文讨论的属性是指包含有关媒体内容的描述性数据的属性,而不是为应用程序提供如何处理文件等信息(例如编码设置和文件统计信息)的技术类属性。 阅读全文
posted @ 2009-05-27 10:56 jdmei520 阅读(634) 评论(0) 推荐(0) 编辑
摘要: Related libraries 阅读全文
posted @ 2009-05-27 10:51 jdmei520 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 将多个音频文件或多路音频数据同时输出到音频输出设备上,就可同时听到多个不同的声音,这就是混音。在游戏开发,网络视频会议开发中都会用到混音技术,本文详细介绍如何利用Directsound实现几路不同的音频进行实时的混音。 阅读全文
posted @ 2009-05-27 10:44 jdmei520 阅读(939) 评论(0) 推荐(0) 编辑
摘要: 默认的DataGridView表头颜色实在不是太好看,想设置下,上google搜了一通,都说这样设置 this.dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = Color.Red; 设置了,发现没有什么效果,好像也有人有同样的问题,就是没有人给出答案 。还是在国外的一个网站上找到答案。原来要把“ "EnableHeader... 阅读全文
posted @ 2009-05-27 10:37 jdmei520 阅读(770) 评论(2) 推荐(0) 编辑
摘要: 创建设备对象创建设备对象最简单的方式是使用 DirectSoundCreate8 函数。函数的第一个参数指定了与对象关联的设备的GUID。你能够通过枚举设备获取这个GUID,也可以传递以下GUID中的一个来指定一个默认设备。GUID 定义描述DSDEVID_DefaultPlayback默认系统音频设备。你也可以传入一个空指针来指定这个设备。默认设备是枚举到的“主要DirectSoun... 阅读全文
posted @ 2009-05-27 10:36 jdmei520 阅读(1348) 评论(0) 推荐(0) 编辑
摘要: 协作级别因为Windows是一个多任务环境,多个应用程序可能在任意时刻对一个设备驱动器进行操作。虽然使用协作级别,DirectX仍然确保每个应用程序不能以错误方式或在错误时刻访问设备。每个DirectSound应用程序都有一个协作级别,用于决定它被允许访问设备的程度。在创建一个设备对象后,你必须使用IDirectSound8::SetCooperativeLevel 方法为这个设备设置协作级别。如... 阅读全文
posted @ 2009-05-27 10:36 jdmei520 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 设备性能DirectSound使你的应用程序可以检查声音设备的硬件性能。许多应用程序不需要这么做,因为DirectSound自动利用任何可用的硬件加速。然而,性能良好的应用程序能够使用这些信息,根据可用的硬件扩展它们的声音需求。比如,如果硬件混频可用,一个应用程序可能选择播放多道声音。在调用DirectSoundCreate8 函数创建一个设备对象后,你的应用程序能够通过调用IDirectSoun... 阅读全文
posted @ 2009-05-27 10:36 jdmei520 阅读(269) 评论(0) 推荐(0) 编辑
摘要: DirectSound缓冲区DirectSound缓冲区对象控制波形数据从源到目的地的传播。源可能是一个合成器,另一个合成器,一个WAV文件,或一个资源。对于大多数合成器,目的地是一个称作主缓冲区的混合装置。从主缓冲区开始,数据传输到硬件,由硬件将采样转换为声波。缓冲区基础你的应用程序必须创建至少一个辅助缓冲区来存储合播放单独的声音。一个辅助缓冲区能够在整个应用程序生命周期内存在,或者在不再需要时... 阅读全文
posted @ 2009-05-27 10:35 jdmei520 阅读(732) 评论(0) 推荐(0) 编辑
摘要: 填充和播放静态缓冲区向一个静态缓冲区载入数据是包含三个步骤:1.使用IDirectSoundBuffer8::Lock将整个缓冲区锁定。你指定缓冲区中你打算开始写的偏移位置(通常为0),并返回该点的内存地址。2.使用标准的内存拷贝程序将音频数据写入返回的地址中。3.使用IDirectSoundBuffer8::Unlock为缓冲区解锁。下面的例子显示了这些步骤,其中lpdsbStatic是一个ID... 阅读全文
posted @ 2009-05-27 10:35 jdmei520 阅读(980) 评论(0) 推荐(0) 编辑
摘要: 使用WAV数据在Windows 驱动模型(WDM)中,DirectSound硬件缓冲区能够播放任何未压缩或压缩的声音格式,这些格式能够被一个WAVEFORMATEX或WAVEFORMATEXTENSIBLE结构描述,并由硬件支持。软件缓冲区和非WDM硬件缓冲区只支持8位和16位未压缩格式。波形(WAV)数据通常储存在资源交换文件格式(RIFF)的文件或资源中。数据包括一个WAV格式描述,包含如采样... 阅读全文
posted @ 2009-05-27 10:35 jdmei520 阅读(864) 评论(0) 推荐(0) 编辑
摘要: DirectSound设备DirectSound设备对象表示一个播放设备,它被用来管理设备和创建声音缓冲区。多个应用程序能够为相同的声音设备创建对象。当输入集中于应用程序间的变化时,音频输出自动从一个应用程序流转换到其他应用程序流。因此,当输入集中于变化时,应用程序不必反复地播放和暂停它们的缓冲区。枚举声音设备如果你的程序只是简单地通过用户首选设备来播放声音,那么没有必要去枚举可用的设备。当你通过... 阅读全文
posted @ 2009-05-27 10:34 jdmei520 阅读(958) 评论(0) 推荐(0) 编辑

导航