C/C++编程 MP3等音频文件播放

#include <windows.h>//两个头文件不能互换,要不然会出一大堆问题
#include <vfw.h>

//给VS2008或以上版本添加stdafx.h预编头文件
#if _MSC_VER >= 1500
// VC6.0拖曳编译不用stdafx.h头文件,这里VC6.0不给该头文件
#include "stdafx.h"
#endif

//VC,VS编译器需要的库
#ifdef _MSC_VER
#pragma comment(lib,"vfw32.lib")
#endif

int main(void)
{
    TCHAR* path = TEXT("F:\\音乐时间\\阿桑\\阿  桑 - 一直很安静.mp3");//音乐文件位置
    HWND MyPlayer = MCIWndCreate(NULL,GetModuleHandle(NULL),0,path);
    MCIWndPlay(MyPlayer);//开始播放
    Sleep(100000);//控制台程序下,让程序暂停一下或来个死循环等,要不要直接退出,没法播放
    return 0;
}

/*
实测VC6.0,VS2008都可以直接编译成功,不需要再更改源代码

MinGW编译:
    gcc MyPlayer.c -o MyPlayer -m32 -lvfw32 -Ofast -fomit-frame-pointer -s -Ofast -fomit-frame-pointer

    -lvfw32和-s是连接参数
    -s大略是所谓生成生布版的程序
    -lvfw32是连接时加上libvfw32.a
    程序还可以播放MIDI,AVI,WMV,MPG等影音文件
*/

/*
常用的控制函数(实际上是宏):
    MCIWndHome(hWnd)                    至起始位置
    MCIWndPause(hWnd)                   暂停
    MCIWndPlay(hWnd)                    开始播放
    MCIWndPlayFrom(hWnd,lPos)           从lPos播放
    MCIWndPlayFromTo(hWnd,lStart,lEnd)  从lStart播到lEnd
    MCIWndPlayTo(hWnd,lPos)             播放至lPos
    MCIWndResume(hwnd)                  暂停后继续
    MCIWndSeek(hWnd,lPos)               寻道
    MCIWndSetVolume(hWnd,iVol)          设置音量
    MCIWndStop(hWnd)                    停止播放
*/

/*
Vfw.h更多函数参考资料:
https://msdn.microsoft.com/en-us/library/dd798180(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/dd798118(v=vs.85).aspx
https://docs.microsoft.com/zh-cn/windows/win32/api/vfw/nf-vfw-mciwndcreatea
*/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章