2014-10-30 79 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文件的路徑:爲了正確加載,您應該將它放在可執行文件的同一目錄中,或使用絕對路徑。