我正在寻找在 C 中播放 MP3 文件的最简单方法。我正在寻找一个库,我可以在其中调用文件名上的函数,或者一个可以运行和退出的可执行文件。请建议。
10 回答
使用FMOD(跨平台),这应该很简单:
#include <conio.h>
#include "inc/fmod.h"
FSOUND_SAMPLE* handle;
int main ()
{
// init FMOD sound system
FSOUND_Init (44100, 32, 0);
// load and play mp3
handle=FSOUND_Sample_Load (0,"my.mp3",0, 0, 0);
FSOUND_PlaySound (0,handle);
// wait until the users hits a key to end the app
while (!_kbhit())
{
}
// clean up
FSOUND_Sample_Free (handle);
FSOUND_Close();
}
作为旁注,我建议您使用 C++ 而不是 C。
我不知道这是否是“最简单的方法”,但你可以看看 SDL(连同 SDL_sound)。
在 Win32 上,您不需要任何库。使用标准 Win32 api(mp3 是原生的)
参见 Adv. Win32 api 新闻组:news://comp.os.ms-windows.programmer.win32 这是一个常见问题解答。
如果您在 Windows 或 OSX 上,我推荐 BASS ( http://www.un4seen.com/bass.html )
您可以下载该库并查看代码示例以开始使用。C 目录中的“竞赛”示例是一个很好的起点。
如果你可以使用 C++ 并且如果你在 Windows 平台上工作而不是使用 WMp3
该库易于使用,可让您播放、暂停、查找 mp3 文件。
mpg123有一个通用的远程接口,您可以通过使用 -R 选项启动可执行文件来访问它。然后,您可以通过 fifo 管道或子进程的标准输入发送命令(例如加载、暂停等)。如果不出意外,手动调试和测试很容易。
到这里:
http://code4k.blogspot.com/2010/05/playing-mp3-in-c-using-plain-windows.html
该网站有一个 zip,您可以在其中查看此人如何生成 mp3 播放器的代码。
您还可以查看: http: //www.codeguru.com/cpp/gm/directx/directshow/article.php/c19079/Simple-C-MP3-Player-Class.htm
或者
http://www.ucancode.net/Visual_C_Control/Play-MP3-File-VC-Sample-Player.htm
基本上你可以使用 windows.h 头文件
#include <windows.h>
void main()
{
//replace music with your filename
system("start music.mp3");
}