c++ 如何使用c++输出声音!

请教c++高手,如何编程使得c++输出声音,即如何利用c++打开一个声音文件,并将其声音序列输出!求详细程序,在线等待中!如有高手帮助,不胜感谢!... 请教c++高手,如何编程使得c++输出声音,即如何利用c++打开一个声音文件,并将其声音序列输出!求详细程序,在线等待中!如有高手帮助,不胜感谢! 展开
 我来答
tattackor
推荐于2017-09-08 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:793万
展开全部
一.在程序中直接播放声音文件
  在VC++ 中的多媒体动态连接库中提供了一组与音频设备有关的函数。利用这些函数可以方便地播放声音。最简单的播放声音方法就是直接调用VC++中提供的声音播放函数BOOL sndPlaySound ( LPCSTR lpszSound,UINT fuSound ); 或BOOL PlaySound( LPCSTR lpszSound, HMODULE hmod, DWORD fuSound );其中参数lpszSound是需要播放声音的.W***文件的路径和文件名, hmod在这里为NULL,fuSound是播放声音的标志,详细说明请参考VC++中的帮助。 例如播放C:soundmusic.wav可以用sndPlaySound ("c:\sound\music.wav",SND_ASYNC);或PlaySound("c:\sound\music.wav",NULL, SND_ASYNC|SND_NODEFAULT );如果没有找到music.wav文件,第一种格式将播放系统默认的声音,第二种格式不会播放系统默认的声音。

二.将声音文件加入到程序中
  在VC++的程序设计中,可以利用各种标准的资源,如位图,菜单,对话框等。同时VC++也允许用户自定义资源,因此我们可以将声音文件作为用户自定义资源加入程序资源文件中,经过编译连接生成EXE文件,实现无.W***文件的声音播放。要实现作为资源的声音文件的播放,首先要在资源管理器中加入待播放的声音文件。
具体步骤入下:
  1.获得包含资源的模块句柄:
  HMODULE hmod=AfxGetResourceHandle();
  2.检索资源块信息:
  HRSRC hSndResource=FindResource(hmod,MAKEINTRESOURCE(IDR_W***E1),_T("W***E"));
  3. 装载资源数据并加锁:
  HGLOBAL hGlobalMem=LoadResource(hmod,hSndResource);
LPCTSTR lpMemSound=(LPCSTR)LockResource(hGlobalMem);
  4.播放声音文件:
  sndPlaySound(lpMemSound,SND_MEMORY));
  5.释放资源句柄:
  FreeResource(hGlobalMem);
sxmabj
2010-09-10
知道答主
回答量:4
采纳率:0%
帮助的人:5.9万
展开全部
c++只是编程语言,用c++输出声音需要有相应的库才可以,例如windows系统中可以使用windows api中的multimedia类函数、directX库等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tongfans
2010-09-09 · TA获得超过1127个赞
知道小有建树答主
回答量:683
采纳率:0%
帮助的人:701万
展开全部
win api可以搞定wav和midi格式的,别的还是自己找控件吧,相信你也不想自己写解码器。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
52333020
2010-09-09 · TA获得超过278个赞
知道答主
回答量:155
采纳率:0%
帮助的人:86万
展开全部
这个属于音频编码解码的范畴,自己买本书学吧,一两句不可能说清楚的。

也可以找个专门针对音频操作的控件,一般都是国外的产品,不过不太推荐,学习更重要。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
磊无敌2008
2010-09-13 · TA获得超过232个赞
知道小有建树答主
回答量:372
采纳率:0%
帮助的人:225万
展开全部
c++中有个函数是playsound(),你查查相关资料吧,很容易的
http://iask.sina.com.cn/b/9846173.htm
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式