?
Ich muß zugeben, dass ich es mir recht leicht gemacht habe: Ich habe einfach einen alte Version von FMOD von der Seite runter geladen. Aber es funktioniert!
Vielen Dank Jansen!
Nur für den Fall, dass nach mir noch jemand jemals ein Problem mit FMOD3 (!!!) haben sollte:
fmod.h und
fmod_errors.h
ins Projekt einbinden, den korrekten Pfad angeben, die fmodbc.lib einbinden und die fmod.dll in den Projektordner kopieren.
Da in dem Beispiel von barnie ein paar Tippfehler waren, folgt hier noch mal der mit "FMOD 3.74 Programmers API" funktionierende Code:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "C:\Pfad\fmod.h" //Pfad anpassen
#include "C:\Pfad\fmod_errors.h" //Pfad anpassen
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
#define NUMCHANNELS 128
int outputfreq=44100;
char Laufwerk;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Laufwerk='D';
FSOUND_Init(outputfreq, NUMCHANNELS, FSOUND_INIT_GLOBALFOCUS);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int iMaxTrack=FSOUND_CD_GetNumTracks(Laufwerk); //Für Anzeige: Zahl der Tracks
int iCurrentTrack=1;
FSOUND_CD_Play(Laufwerk, iCurrentTrack);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
FSOUND_CD_Stop(Laufwerk);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
if (FSOUND_CD_GetPaused(Laufwerk))
{
FSOUND_CD_SetPaused(Laufwerk, false);
}
else
{
FSOUND_CD_SetPaused(Laufwerk, true);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
FSOUND_CD_OpenTray(Laufwerk,1);
}
//---------------------------------------------------------------------------