當前位置:編程學習大全網 - 編程語言 - 怎麽用C語言讀寫音樂文件

怎麽用C語言讀寫音樂文件

這個程序可能是最簡單的mp3播放器了。當然也談不上什麽功能。但是確實能播放。

鏈接時要指定庫文件。VC++是vfw32.lib, GCC是libvfw32.a.

我在VC6.0和GCC/MinGW 3.3.1下都通過了。

假設程序名是MyPlay, 目錄下還有壹個aaa.mp3, 運行MyPlay aaa.mp3即可。

註意Sleep(50000)是讓他最多播放50秒。沒有Sleep()的話,窗口壹閃就退出了。

具體的MCI函數請查有關資料。

#include <windows.h>

#include <vfw.h>

int main(int argc, char* argv[])

{

if (argc>1) {

HWND MyPlayer = MCIWndCreate(NULL,GetModuleHandle(NULL), 0, argv[1]);

MCIWndPlay(MyPlayer);

Sleep(50000);

}

return 0;

}

這個程序還可以播放MIDI, AVI, WMV, MPG等影音文件。

如果只是後臺播放MIDI或MP3,不想顯示那個沒有用的窗口,把MCIWndCreate()第三個參數0改成WS_POPUP即可。

如果想精確控制Sleep()至MP3播放結束,可以改成 Sleep(MCIWndGetLength(MyPlayer));

對於mp3, MCIWndGetLength()返回值的單位是毫秒,可以直接用於Sleep()延時。

對於mpg, MCIWndGetLength()返回值的單位是幀數,還要轉換成毫秒才能用於Sleep().

具體MCIWndGetLength()返回值的單位是什麽,可以調用MCIWndGetTimeFormat()來查詢。

>是C,不是C++ 更不是Vc++

妳誤解了。VC6.0不只是支持C++, 也支持C. GCC更是C編譯器,不是C++編譯器。

這個程序是地地道道的C程序,沒有壹丁點兒 C++ 的成分。但是他調用了Windows API函數,所以必須用支持Windows編程的32位C編譯器,不壹定用VC或GCC。

很多人認為,剛學C語言最好用GCC或VC的命令行方式,但遺憾的大多教學用的C環境仍然選用20多年前的TC。如果堅持用16位的TC可以做壹些事情,但在現在絕大多數事情是他做不到的。

  • 上一篇:USB鼠標向電腦的USB口傳輸什麽樣的數據+MPLAB MCC18 USB命令?
  • 下一篇:續航提升至605公裏!高合HiPhi X長續航版上市
  • copyright 2024編程學習大全網