C++ 播放/暂停/停止MP3音频文件(视频)C++;

C++ 播放/暂停/停止MP3音频文件(视频)C++;,c++,windows,audio,visual-c++,mp3,C++,Windows,Audio,Visual C++,Mp3,我想试着为Windows制作一个MP3播放器。我搜索了一个播放音频的函数,找到了PlaySound()和mciSendString(),从我的“研究”中我发现PlaySound()只用于.wav文件,但至少现在我想要.mp3。我尝试了mciSendString(),如果在play命令中,字符串末尾有参数“wait”(mciSendString(“play audio.mp3 wait”,NULL,0,0)),则音频播放正常,但我无法停止它,我将不得不等待(多么令人惊讶)音频结束,我发现,wait

我想试着为Windows制作一个MP3播放器。我搜索了一个播放音频的函数,找到了
PlaySound()
mciSendString()
,从我的“研究”中我发现PlaySound()只用于
.wav
文件,但至少现在我想要
.mp3
。我尝试了
mciSendString()
,如果在play命令中,字符串末尾有参数“wait”
mciSendString(“play audio.mp3 wait”,NULL,0,0)
),则音频播放正常,但我无法停止它,我将不得不等待(多么令人惊讶)音频结束,我发现,wait参数可以做到这一点(同样,这是一个多么令人惊讶的结果)。我试过这样的方法:

while (!_kbhit()){ //as long as I don't press something
    mciSendString("play audio.mp3", NULL, 0, 0); //without the wait
}
我认为这个函数可能有某种指针,指向我们在音频中的确切位置,我们听到了多少声音,每次使用相同的音频执行命令时,指针会一点一点地指向
.mp3
文件的最后一个“元素”(注意:我一点也不知道
mp3
文件和读取文件是如何工作的)

我在互联网上搜索了一个正确使用
mciSendString()
的例子,但我找不到任何明确的例子/答案或对我有用的东西,例如,许多人说,如果没有等待,它会起作用,但不会。所以,我现在在这里

我要问的是:一个关于如何使用
mciSendString
或其他函数执行相同操作的清晰示例(如果可能,请编写代码)



谢谢你听(实际上是读)我的问题。

这些都是史前的/新手。你需要
wave*
waveOutWrite()这样的东西
见Tim Kientzle的《程序员声音指南》。那里没有mp3,但书还不错。@ataöаачаааааааааааааааааааааааааааа在太空中,是的,听起来更好,但我认为它不值得,而且有那么多mp3播放器,为什么我不能做我的呢?关于
PlaySound()
这本书是1998年的推荐书吗?如果是的话,我会试试看,如果不是的话,请告诉我它出版的年份或者一些有助于我识别它的东西