当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: VC中使用低级音频函数WaveX播放声音文件 王结太 200
 

 

    摘要:好的开始是成功的一半,本书首先会试图告诉你什么是程序员?为什么要做这样的程序?正确的入门方法是什么? 程序员只有在理解了以上内容的基础上,才能进一步更快地提高自身技能,这时候再开始程序的设计。其实,对一个软件的开发者来说,真正重要的不在于这行代码怎么写,那些代码应该怎么写,关键是思路的问题,而思路事实上是经验的积累。经验是使你从最初的封闭的思维方式,到最后形成开放式的思维的一个过程。将我十几年程序生涯中获得的一些经验告诉读者,使大家少走弯路也是我想写这本书......
 ·用eclipse平台进行c/c++开发     »显示摘要«
    摘要: 用eclipse平台进行c/c++开发 作者:pawel leszek 发文时间:2004.05.13 我们将概述如何在 c/c++ 开发项目中使用 eclipse 平台。尽管 eclipse 主要是一个 java 开发环境,但其体系结构确保了对其它编程语言的支持。在本文中,您将学习如何使用 c/c++ 开发工具箱(c/c++ development toolkit,cdt),它是可用于 eclipse 的最佳 c......


VC中使用低级音频函数WaveX播放声音文件

vc中使用低级音频函数wavex播放声音文件

--------------------------------------------------------------------------------------------------------------------- 【相关文章:微软:现在已不是对 Linux 感情用事

                                                     王结太  2004.08.08 【扩展阅读:使用增强安全性的Linux(转)

【扩展信息:【原创】Ask for research

文章摘要:

  本文讨论并实现了在vc++中使用低级音频函数wavex播放声音文件的方法。

---------------------------------------------------------------------------------------------------------------------

    windows通过高级音频函数、媒体控制接口mci设备驱动程序;低级音频函数midi mapper、低级音频设备驱动;以及directsound提供了音频服务,可以从声卡获取音频流。

1. 播放声音文件的其它方法

   在介绍wavex系列之前,我先来介绍之外的其它几种方法:

1.1 mci方法简介

   

    用mci方法是很方便的,它对媒体设备控制主要通过命令接口函数mcisendcommand()或者字符串接口函数mcisendstring()来完成的,这两个函数的作用相同。命令接口函数比命令字符串使用起来要复杂,但它为mci提供了更为强大的控制能力,两个接口函数的原型:

mcierror mcisendcommand(mcideviceid iddevice,uint umsg,dword fdwcommand,dword dwparam);

mcierror mcisendstring(lpctstr lpszcommand, lptstr lpszreturnstring, uint cchreturn, handle hwndcallback);

比如要使用mcisendcommand方法,我们先在mci_open_parms中设置要播放的文件并发送mci_open命令打开声音设备,发送mci_play命令消息播放,结束后发送mci_stop命令关闭设备。关于它们的具体使用方法可以参考msdn。

1.2 playsound方法

   

    bool sndplaysound(lpcstr lpszsound, uint fusound );

    bool playsound(lpcstr pszsound,hmodule hmod, dword fdwsound);

    其中参数lpszsound是需要播放声音的.wav文件的路径与文件名,hmod在这里为null,fusound是播放声音的标志,详细说明请参考vc++中的帮助。 例如播放c:\sound\music.wav可以用sndplaysound ("c:\\sound\\music.wav",snd_async);或playsound("c:\\sound\\music.wav",null, snd_async|snd_nodefault );如果没有找到music.wav文件,第一种格式将播放系统默认的声音,第二种格式不会播放系统默认的声音[1],这是snd_nodefault标志的作用。

    当然我们也可以将声音文件作为用户自定义资源加入程序资源文件中,经过编译连接生成exe文件,这样就可以实现无.wav文件的声音播放。利用上面的函数也很简单,如下,其中idr_your_wave是加入的wave文件资源标识符:

    playsound(makeintresource(idr_your_wave),getmodulehandle(null), snd_resource);

2. 使用低级音频函数wavex

   


...   下一页
    摘要: 使用 eclipse modeling framework 进行建模,第 3 部分 英文原文 内容: 概述 第一步 区分生成的方法 细粒度的定制 下一步 附录 a:有效的目标选项 附录 b:merge:pull 属性 ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE