#include<iostream>
#include<easyx.h>
#include<mmsystem.h>
#pragma comment(lib,"winmm.lib")
#include<Windows.h>
int main()
{
initgraph(1999, 1999);//init初始化 graph图形界面
system("pause");
mciSendString("open e0d9w - rej4m.mp3 ",NULL,0,NULL);
mciSendString("play e0d9w - rej4m.mp3",NULL,0,NULL);
while(1);
return 0;
}
没报错但是不播放音乐
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
mciSendString
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- 阿里嘎多学长 2024-05-24 08:36关注
以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
根据您提供的代码片段,您正在尝试使用
mciSendString
函数来播放音乐文件。代码中存在几个可能的问题,我将一一指出并提供可能的解决方案:-
文件路径问题:
mciSendString
的第一个参数是文件路径,您提供的文件路径"open e0d9w - rej4m.mp3 "
可能不正确。确保文件名和扩展名正确,并且文件路径是正确的。如果文件和您的程序在同一目录下,您可以尝试使用相对路径,例如"open e0d9w-rej4m.mp3"
(注意去掉空格和短横线)。 -
文件格式支持: 确保您的系统支持播放该音乐文件的格式。
mciSendString
支持多种格式,但是如果您的音乐文件格式不被支持,它将无法播放。 -
无限循环问题: 您的程序中有一个无限循环
while(1);
,这会导致程序永远运行下去,不会退出。如果您希望在音乐播放结束后退出程序,您需要添加适当的逻辑来结束循环。 -
错误检查:
mciSendString
函数调用可以返回错误代码,您可以通过检查返回值来确定是否成功播放音乐。例如:mciSendString("open e0d9w-rej4m.mp3", NULL, 0, NULL); DWORD result = mciSendString("play e0d9w-rej4m.mp3", NULL, 0, NULL); if (result) { // 处理错误 std::cerr << "Failed to play music." << std::endl; }
-
资源释放: 在音乐播放结束后,您可能需要关闭音乐文件,释放资源:
mciSendString("close e0d9w-rej4m.mp3", NULL, 0, NULL);
-
暂停命令: 您的代码中使用了
system("pause");
,这会在 Windows 命令行界面中暂停程序,等待用户按任意键继续。这可能不是您想要的行为,因为您可能希望程序继续执行以播放音乐。 -
头文件和库: 确保您的项目正确链接了
winmm.lib
库,并且包含了所有必要的头文件。
尝试上述建议后,如果问题仍然存在,请检查您的开发环境设置,确保没有其他配置问题阻止音乐播放。如果需要进一步的帮助,您可以提供更多信息,例如错误消息或开发环境的详细信息。
解决 无用评论 打赏 举报 编辑记录 -
悬赏问题
- ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
- ¥15 怎么看我在bios每次修改的日志
- ¥15 python+mysql图书管理系统
- ¥15 Questasim Error: (vcom-13)
- ¥15 船舶旋回实验matlab
- ¥30 SQL 数组,游标,递归覆盖原值
- ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
- ¥20 gitlab 中文路径,无法下载
- ¥15 用动态规划算法均分纸牌
- ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据