Как использовать FMOD с C++?
Я пытаюсь создать простой mp3-плеер с помощью FMOD:
#include "inc/fmod.h"
int main()
{
FSOUND_Init(44100, 32, 0);
return 0;
}
Пытаясь скомпилировать программу, я получаю следующую ошибку:
holle@x300:justmp3$ pwd
/media/daten/Entwicklung/C/justmp3
holle@x300:justmp3$ LD_LIBRARY_PATH=$(pwd)/lib
holle@x300:justmp3$ ls $LD_LIBRARY_PATH
libfmodex-4.34.02.so libfmodexL-4.34.02.so
holle@x300:justmp3$ g++ -o mp3 mp3.cpp
mp3.cpp: In function ‘int main()’:
mp3.cpp:8: error: ‘FSOUND_Init’ was not declared in this scope
В чем моя ошибка? Как я могу получить g++ для компиляции программы?
2 ответа
FSOUND_Init - это функция API FMOD 3, вы используете FMOD Ex, так что функция не существует. Для инициализации FMOD Ex вы должны включить "fmod.hpp" и использовать функции:
System_Create для создания системного объекта FMOD, затем
System:: init для инициализации, затем
System:: createStream для загрузки вашего MP3, затем
System:: playSound для воспроизведения.
Есть множество полезных примеров, которые поставляются с FMOD, которые вы можете использовать в качестве справочного материала, особенно пример того, чего вы хотите достичь. Также есть полная документация в формате CHM. Если вы портируете код из FMOD 3, я бы рекомендовал прочитать руководство по миграции в документации fmodex.chm.
Вы также должны включить заголовки для библиотеки, добавьте
#include <fmod.h>
в начале вашего кода.