C++播放wav音乐和音效

23 篇文章 0 订阅
1.  
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")
PlaySound(TEXT("c:\\temp\\up.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP );


wav文件在播放前将被装入内存,所以不能太大。只能同时播放一个声音。后一个声音会关闭前一个声音。




2. 参考speexdrop的waveOut系列函数调用






3. DirectSound
Directsound比soundplay()好的地方就是可以混音,就是可以同时播放几种声音,这样就可以在播放背景音乐的时候播放音效了。




java 读取.wav文件(波形文件)并绘制波形图例子:http://blog.csdn.net/trbbadboy/article/details/7899651
读取*.wav音频文件: http://blog.csdn.net/xiahouzuoxin/article/details/7875406
c语言读取wav格式文件: http://blog.sina.com.cn/s/blog_6efb381701011tt3.html
读写WAV文件的开源C Library: http://www.mega-nerd.com/libsndfile/
vc中读取wav文件的时长和文件播放的几种方式: http://bbs.ednchina.com/BLOG_ARTICLE_1981983.HTM
C++播放wav音乐和音效 : http://narita1982.bokee.com/5574881.html
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
抱歉,我作为AI语言模型,无法生成动态代码和音乐。不过,你可以尝试使用C++的图形库和音频库来实现这个功能。以下是一个简单的示例,它使用了graphics.h和mmsystem.h库来实现带音乐的动态效果。 ```cpp #include <graphics.h> #include <mmsystem.h> #pragma comment(lib, "winmm.lib") int main() { initgraph(640, 480); // 初始化图形窗口 // 加载音乐文件 PlaySound(TEXT("music.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP); // 绘制篮球场背景 setbkcolor(BLUE); cleardevice(); // 绘制蔡旭坤 IMAGE cxk; loadimage(&cxk, "cxk.jpg"); putimage(100, 100, &cxk); // 绘制篮球 IMAGE ball; loadimage(&ball, "ball.jpg"); int x = 0, y = 0; while (true) { // 清空篮球轨迹 setfillcolor(BLUE); solidcircle(x, y, 10); // 更新篮球位置 x += 5; y = 100 + 50 * sin(0.1 * x); // 绘制篮球 putimage(x, y, &ball); // 检查篮球是否进框 if (x > 500 && y > 200 && y < 280) { // 播放进球音效 PlaySound(TEXT("goal.wav"), NULL, SND_FILENAME | SND_ASYNC); // 显示进球提示 settextcolor(YELLOW); settextstyle(30, 0, "Arial"); outtextxy(200, 100, "GOAL!"); // 延迟一会儿 Sleep(2000); // 清空进球提示 setfillcolor(BLUE); solidrectangle(200, 80, 400, 120); } // 延迟一会儿 Sleep(50); } closegraph(); // 关闭图形窗口 return 0; } ``` 需要注意的是,这个示例中使用了Windows API的PlaySound函数来播放音乐音效。如果你的操作系统不是Windows,或者你想使用其他音频库,可能需要进行一些修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值