2014-09-02 167 views
0

我已經嘗試在C中使用fmod.h包含文件,但我發現它的教程是舊的/過時的。請任何人都可以提供一個程序或解釋我應該如何使用它的庫在C程序中播放某個文件?提前致謝。詳細的解釋將不勝感激。如何使用C庫播放音樂(MP3)或.Wav文件?

+1

還你正在哪個平臺? – 2014-09-02 05:33:58

+2

標準C99不知道音樂或聲音。至少需要使用特定於系統的庫。 – 2014-09-02 05:35:36

+1

在linux中你可以試試'libvlc'。 [檢查這裏](http://stackoverflow.com/questions/10116783/a-simple-c-program-to-play-mp3-using-libvlc)和'FMOD'使用請參閱http://stackoverflow.com/問題/ 428884/how-to-play-mp3-files-in-c?lq = 1 – 2014-09-02 05:37:27

回答

3

由於您在使用Ubuntu,所以libvlc可能會很方便使用。

您應該在名爲libvlc-dev的二進制包中找到必需的文件(libvlc.so,libvlc.pc,頭文件...)。

安裝它想:

sudo apt-get install libvlccore-dev libvlc-dev 

那麼這裏就是測試程序播放文件:

#include <stdio.h> 
#include <stdlib.h> 
#include <vlc/vlc.h> 

int main(int argc, char **argv) 
{ 
    libvlc_instance_t *inst; 
    libvlc_media_player_t *mp; 
    libvlc_media_t *m; 

    // load the engine 
    inst = libvlc_new(0, NULL); 

    // create a file to play 
    m = libvlc_media_new_path(inst, "myFile.mp3"); 

    // create a media play playing environment 
    mp = libvlc_media_player_new_from_media(m); 

    // release the media now. 
    libvlc_media_release(m); 

    // play the media_player 
    libvlc_media_player_play(mp); 

    sleep(10); // let it play for 10 seconds 

    // stop playing 
    libvlc_media_player_stop(mp); 

    // free the memory. 
    libvlc_media_player_release(mp); 

    libvlc_release(inst); 


    return 0; 
}