C++播放音乐的方式

播放音乐的方式

 

C++播放音乐有两种方式,对应两种格式

wav格式的音乐播放:

        PlaySound()函数的功能及使用

mp3格式的音乐播放:

        mciSendString()函数的功能及使用

两种格式的音乐播放都需要包含头文件和音乐库

#include <windows.h>#pragma  comment (lib,"Winmm.lib") //使用音乐播放库

wav格式播放音乐

SND_FILENAME 
pszSound参数指定了WAVE文件名。

SND_ASYNC 
用异步方式播放声音,PlaySound函数在开始播放后立即返回。

SND_SYNC 
同步播放声音,在播放完后PlaySound函数才返回。

SND_LOOP 
重复播放声音,必须与SND_ASYNC标志一块使用。​​​​​​​

  PlaySound(L"文件路径",nullptr,SND_FILENAME | SND_ASYNC | SND_LOOP);    //SND_FILENAME 指定文件名  //SND_LOOP 循环播放        //SND_ASYNC 异步

mp3格式播放音乐​​​​​​​

  mciSendString(L"open 文件路径 alias abc",nullptr,0,nullptr);  //文件路径采用相对路径  alias 取别名  mciSendString(_T("play abc"), 0, 0, 0);

640?wx_fmt=gif&tp=wxpic&wxfrom=5&wx_lazy=1

今天对C++播放音乐的方式就介绍到这里,大家可以去试试效果,推箱子这个项目的背景音乐和推箱子音效都是网上找的,希望大家喜欢。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在Dev-C++(一种基于MinGW的C++集成开发环境)中播放音乐通常涉及到音频处理和文件I/O操作。虽然C++本身并不直接提供音乐播放功能,但你可以使用第三方库如SFML、ALSA、WinMM等来实现这个功能。这里我们以SFML库为例,因为它跨平台并且易于上手。 首先,你需要下载并安装SFML库。访问SFML官网 (<https://www.sfml-dev.org/download.php>) 下载适合你的系统的版本,并将库文件添加到项目的包含路径和链接路径中。 下面是使用SFML播放音频的基本步骤: 1. 包含头文件: ```cpp #include <SFML/Audio.hpp> ``` 2. 初始化音频系统: ```cpp sf::SoundBuffer buffer; // 声音缓冲区 if (!buffer.loadFromFile("music.mp3")) { // 加载音乐文件 std::cout << "Error loading music file." << std::endl; return; } ``` 3. 创建声音对象并播放: ```cpp sf::Sound sound(buffer); // 音效对象 sound.setLoop(true); // 设置循环播放 if (!sound.play()) { // 开始播放 std::cout << "Error playing the sound." << std::endl; } ``` 4. 游戏主循环或所需位置暂停/继续播放: ```cpp while (sound.getPlaying() && !window.shouldClose()) { sf::Event event; while (window.pollEvent(event)) { if (event.type == sf::Event::Closed) window.close(); } // 在游戏更新周期内检查音频状态 if (!sound.getPlaying()) { sound.play(); // 如果停止了,重新开始播放 } } ``` 记得替换`"music.mp3"`为你要播放的实际音乐文件路径。 完成上述代码后,在控制台运行程序即可听到音乐。如果你想要在Windows下使用更底层的API(如DirectX或Windows多媒体接口),可能需要学习相应模块的使用方法。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值