【以下回答由 GPT 生成】
#include <iostream>
#include <thread>
#ifdef _WIN32
#include <Windows.h>
#else
#include <unistd.h>
#endif
void playMusic() {
#ifdef _WIN32
// 使用mciSendString函数在Windows平台下播放音乐
std::string command = "open Alone.mp3 type mpegvideo alias mp3";
mciSendStringA(command.c_str(), nullptr, 0, 0);
command = "play mp3";
mciSendStringA(command.c_str(), nullptr, 0, 0);
#else
// 在其他平台下,你可以使用系统命令行工具或者使用特定的库来播放音乐
std::cout << "对不起,我不支持在该平台播放音乐。\n";
#endif
}
int main() {
playMusic();
#ifdef _WIN32
// 在Windows平台下等待音乐播放完成后关闭
std::this_thread::sleep_for(std::chrono::seconds(10));
std::string command = "stop mp3";
mciSendStringA(command.c_str(), nullptr, 0, 0);
command = "close mp3";
mciSendStringA(command.c_str(), nullptr, 0, 0);
#else
// 在其他平台下等待音乐播放完成后关闭
std::this_thread::sleep_for(std::chrono::seconds(10));
#endif
return 0;
}
通过使用mciSendString函数,我们可以在Windows平台下播放音乐。注意,在其他平台下(如Linux),你可能需要使用不同的方法来实现播放音乐的功能。此外,为了等待音乐播放完成后再关闭程序,我们可以使用std::this_thread::sleep_for函数来延迟程序执行。请根据你的需求和平台选择适合的方式来播放音乐。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^