2014-09-02 170 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; 
}