c语言调用mciSendString播放音乐

    如下所示,这是一个使用c语言调用系统方法mciSendString(),让系统播放音乐的示例:

baihuaxiang

   代码:

#include <graphics.h>
#include <Windows.h>
#include <mmsystem.h>

#pragma comment(lib,"WINMM.LIB")


int main(void)
{
	initgraph(720, 450);
	loadimage(0, "weixinyu.png");
	mciSendString(TEXT("open music.mp3 alias song"), NULL, 0, NULL);
	mciSendString(TEXT("play song repeat"), NULL, 0, NULL);
	system("pause");
	closegraph();
	return 0;
}

    这段代码还调用了easyx画图库,安装非常简单,地址:EasyX Graphics Library for C++ 

    在安装的时候,会自动识别系统visual studio位置,但是需要手动点击安装。

    这里loadimage(),图片格式最好是jpg,或者png格式,不要通过改后缀的方式来让它变为一张图片。同理,这里的音乐文件需要mp3格式,或者其他的mpeg,avi,wav格式,同样的,我们不能通过更改后缀的方式让他变为一个mp3格式文件,否则有可能播放不了。

    图片和音乐文件放在项目路径下即可。

    另外,分享一个获取音乐文件的办法,这里需要大家熟悉一点web开发的技巧,一般的音乐,比如qq音乐,要下载,可能需要登录,会员什么的,而且大部分歌曲都无法通过界面下载下来,只能通过一些手段,当然不是非法的。

    我们打开qq音乐界面:https://y.qq.com/n/ryqq/player      

    直接下载无法下载,但是我们可以通过查看这些歌曲的资源来下载:

    1)打开浏览器开发者工具,右键检查,或者快捷键按F12;

    2)切换到network标签,通过筛选多媒体media文件过滤其他文件,只剩下歌曲资源;

    3)点击播放的音乐,每一首都会在播放之后,通过后台加载歌曲资源;

    4)右键加载出来的歌曲资源选择在新标签中打开,之后就可以点击新标签页面的三个点中的下载选项下载。

打开之后是这样的:

   这个资源在浏览器里面可以播放,直接下载就可以。

   动态截图:

要在 CodeBlocks 中使用 C 语言实现播放音乐的功能,可以通过调用 `mciSendString` 函数完成。以下是详细的说明和代码示例: ### 实现方法 #### 1. 添加头文件 需要包含 `<mmsystem.h>` 和其他必要的头文件以便访问多媒体支持的相关函数。 #### 2. 链接 winmm 库 为了使程序能够正常使用 `mciSendString` 函数,必须链接 Windows Multimedia Library (`winmm.lib`)。这可以在 CodeBlocks 的项目设置中完成。 #### 3. 使用 mciSendString 函数 通过该函数发送命令给媒体控制接口 (MCI),从而实现打开、播放、停止等功能。需要注意的是,指定的音频文件路径应为绝对路径,并处理反斜杠 `\` 转义符问题。 #### 示例代码 以下是一个完整的例子,在 CodeBlocks 下测试可用: ```c #include <stdio.h> #include <windows.h> #include <mmsystem.h> #pragma comment(lib, "winmm.lib") int main() { char musicPath[] = "C:\\path\\to\\your\\music.mp3"; // 替换为实际音乐文件的绝对路径 // 打开并播放音乐 mciSendString("open \"C:\\path\\to\\your\\music.mp3\" type mpegvideo alias mymp3", NULL, 0, NULL); mciSendString("play mymp3", NULL, 0, NULL); printf("Press any key to stop the music...\n"); getchar(); // 等待用户输入以保持程序运行状态 // 停止并关闭音乐 mciSendString("stop mymp3", NULL, 0, NULL); mciSendString("close mymp3", NULL, 0, NULL); return 0; } ``` 注意:上述代码中的 `"C:\\path\\to\\your\\music.mp3"` 是占位符,请替换为您本地 MP3 文件的实际路径[^1]。 #### 设置步骤 - **创建新项目**: 在 CodeBlocks 中新建一个 C 类型的控制台应用程序。 - **配置编译选项**: - 右击项目名称 -> Build Options... - 切换至 Linker settings 标签页,点击 Add 按钮,添加 `winmm.lib`[^3]。 完成后即可正常编译运行以上代码。 ### 注意事项 - 确保使用的音频文件确实是标准格式(如纯 MP3 或 WAV)。某些在线平台提供的所谓“MP3”可能并非真正意义上的 MP3 文件,可能导致无法正确加载[^3]。 - 如果遇到错误提示找不到 `winmm.lib`,确认已安装完整版 MinGW 工具链或者重新下载最新版本的 Code::Blocks 包含所需库文件[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luffy5459

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值