【发布时间】:2013-03-07 14:23:43
【问题描述】:
我正在尝试在我正在做的一个项目中播放一些 mp3 文件作为我的背景音乐。我尝试使用 mcisendstring 播放它,但它无法正常工作:(
这些是我做过的:
CMP3_MCI myMp3;
std::string address= "C:\\Users\\music embed testing\\test.mp3";
myMp3.Load(address);
myMp3.Play();
//加载函数
void Load(string szFileName)
{
m_szFileName = szFileName;
Load2();
}
//load2函数
void Load2()
{
std::string szCommand = "open \"" + GetFileName() + "\" type mpegvideo alias " + GetFileName();
mciSendString(szCommand.c_str(), NULL, 0, 0);
}
//播放函数
void Play()
{
std::string szCommand = "play " + GetFileName() + " from 0";
mciSendString(szCommand.c_str(), NULL, 0, 0);
}
//getFileName 基本上返回存储为私有属性的 m_szFileName
【问题讨论】:
-
你的别名不是不止一个字吗?那样有用吗?无论如何,我在这里并没有真正看到别名的使用。
-
嗨,我是使用 mciSendString 的新手,所以基本上我试图复制其中一个函数。我不确定他们在做什么……别名的用途是什么,我们如何省略它?例如:codeproject.com/Articles/17279/…
-
我会说只使用
"open \"" + GetFileName() + "\" type mpegvideo,然后使用"\" + GetFileName() + "\"作为文件。 -
不起作用:(知道如何检查命令 mcisendstring 是否已成功加载/播放音乐文件?
-
其中一两个参数用于错误检查。文档对此有详细说明。
标签: c++ visual-c++ clr mci