首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Allegro5播放C语言中的声音文件

用Allegro5播放C语言中的声音文件
EN

Stack Overflow用户
提问于 2015-05-14 12:12:18
回答 1查看 1.1K关注 0票数 4

我试图用allegro5在C中播放wav文件,我编写了以下代码:

代码语言:javascript
复制
#include <stdio.h>
#include <allegro5/allegro.h>
#include <allegro5/allegro_audio.h>
#include <allegro5/allegro_acodec.h>

int main(int argc, char **argv){

    ALLEGRO_DISPLAY *display = NULL;


    if (!al_init()){
        fprintf(stderr, "failed to initialize allegro!\n");
        return -1;
    }

    if (!al_install_audio()){
        fprintf(stderr, "failed to initialize audio!\n");
        return -1;
    }

    if (!al_init_acodec_addon()){
        fprintf(stderr, "failed to initialize audio codecs!\n");
        return -1;
    }

    if (!al_reserve_samples(1)){
        fprintf(stderr, "failed to reserve samples!\n");
        return -1;
    }


    al_install_audio();
    al_init_acodec_addon();

    ALLEGRO_SAMPLE *sample = al_load_sample("bomb.wav"); //sample always NULL

    al_reserve_samples(1);

    if (!sample){
        printf("Audio clip sample not loaded!\n");
        return -1;
    }

    display = al_create_display(640, 480);

    if (!display){
        fprintf(stderr, "failed to create display!\n");
        return -1;
    }

    /* Loop the sample until the display closes. */
    al_play_sample(sample, 1.0, 0.0, 1.0, ALLEGRO_PLAYMODE_ONCE, 0);

    al_rest(10.0);

    al_destroy_display(display);
    al_destroy_sample(sample);
    return 0;
}

我在visual 2013和示例始终为空中调试了这个示例。我已经试过了一些不同的格式。

例:ALLEGRO_SAMPLE *sample = al_load_sample("\\bomb.wav");

代码语言:javascript
复制
ALLEGRO_SAMPLE *sample = al_load_sample("Resource Files\\bomb.wav");

ALLEGRO_SAMPLE *sample = al_load_sample("\\Resource Files\\bomb.wav");

ALLEGRO_SAMPLE *sample = al_load_sample("C:\\bomb.wav");//after copied in C drive

ALLEGRO_SAMPLE *sample = al_load_sample("C:/bomb.wav");

等等。

我很困惑。我怎样才能成功解决这个问题。提前谢谢。抱歉的语言。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-23 18:00:45

代码语言:javascript
复制
ALLEGRO_SAMPLE *sample = al_load_sample("bomb.ogg"); //convert to ogg file your link

对我来说很管用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30237117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档