VS中如何导入wav并且播放音乐
用到的函数 PlaySound
所需头文件
#include<windows.h>#include<mmsystem.h>#pragma comment(lib,"winmm.lib")
步骤
1.准备一个wav文件 放在一个比较方便找的位置 等下要导入
2.导入资源文件
到解决方案资源管理器中右键资源文件 添加一个资源
文件类型选择Accelerator 点导入
文件类型选择所有文件 然后点打开即可导入
如果导入的文件没有显示 就打开这个新的rc文件的代码 找到如下一行
IDR_WAVE1 是导入的文件ID WAVE是文件格式 后面的是文件名
3.导入成功之后可以直接写代码播放
播放音乐的全部代码如下
#include"resource.h"//导入资源之后有一个resource.h头文件 记得加上
#include<Windows.h>
#include<mmsystem.h>
#pragma comment(lib,"winmm.lib")int main()
{PlaySound(LPWSTR(IDR_WAVE1), GetModuleHandle(NULL), SND_RESOURCE | SND_ASYNC | SND_LOOP);//PlaySound(MAKEINTRESOURCE(IDR_WAVE1), GetModuleHandle(NULL), SND_RESOURCE | SND_ASYNC | SND_LOOP);//上面两种方式都可以 IDR_WAVE1 是导入资源的ID //下面针对第三个参数做一下解释//SND_RESOURCE 表示使用的资源文件(如果是文本文件 exe要带上一个音乐文件才能实现音乐播放)//SND_ASYNC 异步播放 //SND_LOOP 循环播放 必须要用到SND_ASYNCwhile (1);//防止直接退出程序return 0;
}
备注 1) PlaySound不能播放mp3 可以播放导入的wav或者播放一个wav文件,如果想要播放mp3可以用mciSendString,但是mciSendString不能播放资源文件
2) 导入资源之后exe会变得更大,上面示例中的exe将近有43M,播放的wav有36M,而同样的Mp3文件将近10M
-----------------------------------------------------------------------------------------------------------------------------------------------------
2018/12/30补充
如果遇到有未定义标识符的问题,如果是某个函数未定义,那么加上头文件
如果是里面的资源ID有问题,打开项目中的rc文件找到正确的资源ID,同时记得加上resource.h这个头文件(导入资源之后自动创建)
2019/2/15补充
//如果只是播放外部音乐 可以参考如下代码 想要了解更多内容可以查一下mciSendString这个函数的用法#include<Windows.h>
#include<mmsystem.h>
#pragma comment(lib,"winmm.lib")int main()
{mciSendString(L"open ./bgm.mp3 alias bgm",0,0,0);//打开音乐mciSendString(L"open bgm repeat",0,0,0);//播放音乐/*1. 打开音乐 open后面的./bgm.mp3 是音乐文件的相对路径,使用绝对路径也可以2. 打开音乐中 alias bgm 是给音乐取个别名 下面就可以直接open bgm了,别名可以自取3. 播放音乐中 repeat表示重复播放,如果只想播放一次,可以去掉repeat4. mciSendString这个函数可以播放mp3 wav格式的音乐,如果代码无误但是没法播放音乐,尝试换一首.(尽量避免用网易云下载的音乐,可能无法播放,原因不明)*/while (1);//防止直接退出程序return 0;
}
如果还有其他问题,意见或者建议,欢迎私信或者留言 谢谢
VS中如何导入wav并且播放音乐相关推荐
- AudioManager播放音乐
AudioManager控制手机音频 主要是:声音类型,音量大小或者静音 AudioManager的常用方法: adjustStreamVolume(int streamType,int direc ...
- iphone 微信打开H5自动播放音乐问题
解决iphone 微信H5自动播放音乐问题 --由于苹果的ios系统的安全保护较严格,iphone手机打开微信H5的时候(针对于已对audio标签设置 autoplay为true的H5),通常要先点击 ...
- MediaPlay播放音乐初级应用
在android工作中难免会遇到需要播放音乐却不需要调用别的播放器,这里android给大家提供了两个类播放音乐,MediaPlay和SoundPool,这里暂时讨论Mediaplay的用法. 基本方 ...
- VS中如何导入并且播放音乐
用到的函数 PlaySound 所需头文件 #include<windows.h>#include<mmsystem.h>#pragma comment(lib,"w ...
- QT中播放音乐遇到的问题合集
1,使用 QSound播放 wav格式的文件 1.在.pro 文件中加 QT += multimedia,才可以使用Qsound 2.在使用的文件中添加头文件:#include 3.在main函数中可 ...
- Android中播放音乐的几种方式
Android中播放音乐的几种方式 前言 前几天一直在研究RxJava2,也写了记录了几篇博客,但因为工作任务原因,需要研究音频相关的知识,暂时放下Rxjava,本文的demo中,MediaPalye ...
- Android10.0(Q) 实现通话中播放音乐/通话背景音(答录机/魔音功能)
前言 这个功能大体意思类似机器人交互的效果,一般多应用到客服接听场景中,电话接通自动播放一段录音给 对方听,根据选项操作录音解析等完成一整个流程.这里面电话接通播放声音给对方听普通应用是做不到的, 因 ...
- 【中移芯昇】4. i2s播放音乐片段
文章目录 1 前言 2 前期准备 3 电路 4 代码 5 结果 6 后续 1 前言 本章介绍使用i2s示例驱动max97357播放音乐. 2 前期准备 需要将wav文件中获取音频采样数据,参见文章:[ ...
- C++ 在多线程中使用mciSendString播放音乐 下篇
首先: 我还是一个多线程编程的新手,用的方法可能有不妥当的地方,有不足之处还望各位包涵. 通过上一篇,咱们已经对mciSendString在多线程中的使用要点有了一个初步认识,接下来该解决线程间信息传 ...
- android中服务播放音乐,为什么我们需要Android中的服务?音乐播放也可以通过后台线程完成...
采访中有人问我这个问题.我不确定这是否是问这个问题的合适论坛,因为它不涉及任何代码,而是对android概念的理解. 问题是"当所有事情都可以通过Android中的后台线程完成时,为什么我们 ...
最新文章
- Outlook中删除重复的邮件
- 发现四川科技馆在线网站修改用户设置页面的一个问题
- Aspect的简单方法拦截
- 从 Nginx 到 Pandownload,程序员如何避免面向监狱编程?
- 20050405:什么都要会啊
- Java并发包源码学习之AQS框架(三)LockSupport和interrupt
- tableau货架图制作_举个栗子!Tableau技巧(33):实用漏斗图的三种制作方法
- Linux下setsockopt函数返回-1,errno=22
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第5节 线程池_2_线程池的代码实现...
- IDEA配置安卓环境
- aspectjweaver.jar包下载
- 基于欧拉-拉格朗日方程的机器人动力学模型
- python for ArcGIS 绘制广州市板块地图
- SEGY数据的读取与写出C++
- Adobe Experience Cloud落地中国,Adobe、微软与世纪互联共庆三方合作
- 时势造英雄之策略模式
- 绝绝子!这些技巧真方便
- 曹祖圣VB.NET视频学习工具
- 芯片封装测试流程详解,一文带你了解清楚
- mysql start with递归_关于各个数据库递归(start with connect by prior)的相互转换