2014-10-30 141 views
2

我试图加载一个.wav文件(afschieten.wav),但我不能加载它。我跟着lazyfoo的教程:http://lazyfoo.net/SDL_tutorials/lesson11/加载.wav文件时出错C++

代码:

我得到这个在文件的顶部:

#include <stdlib.h> 
#include "GL/glut.h" 
#include <SDL/SDL.h> 
#include <SDL/SDL_mixer.h> 
#define _USE_MATH_DEFINES 
#include <math.h> 
#include <time.h> 
#include <iostream> 

功能我从主称:

void load_files(){ 
    //Load sound effect 
    fire = Mix_LoadWAV("afschieten.wav"); 

    if(fire != NULL) 
     std::cout << "Sound effect afschieten.wav loaded succesfully" << std::endl; 
    else 
     std::cout << "Sound effect afschieten.wav failed loading" << std::endl; 

}//load_files 

我在做什么错?编译时我没有错误。它说音效afschieten.wav加载失败。

+0

您需要提供完整的'afschieten.wav'路径,或者您的wav文件应该与exe并行显示。 – 2014-10-30 16:00:16

+0

那,+如果它仍然存在,请使用[Mix_GetError](http://sdl.beuc.net/sdl.wiki/Mix_GetError)获取有关错误的更多信息。 – keltar 2014-10-30 17:07:36

+0

也有这个问题。 Mix_GetError()为ogg文件提供:“不是Ogg Vorbis音频流”。但是对于我测试过的所有听觉型号都是一般的。 wav,flac和ogg。不知道是什么原因造成的。 – LiquidityC 2014-11-06 08:44:15

回答

0

检查wav文件的路径:为了正确加载,您应该将它放在可执行文件的同一目录中,或使用绝对路径。