FMOD - FSB
-
Kennt sich hier jemand mit FMOD gut aus ?
Benutze die C Version von FMOD
Folgende Fragen:
- (Wie) Lassen sich sounds in einer FSB ersetzen ohne alles entpacken zu müssen um sie danach wieder zu verpacken ?
- Wie speichere ich generell ein Sound ab ?
(2D und 3D)(nicht mit Designer oder Sandbox sondern code, funktionen oder verweise (links))
FSB öffnen, sounds abspielen und den Titel laden kann ich schon, aber das reicht nunmal nicht
(btw: ist das in hier richtig ?)
-
Tim06TR schrieb:
Wie speichere ich generell ein Sound ab?
FMOD (zumindest die C++-Version) arbeitet mit Kanälen.
MfG, EOutOfResources
-
Sound und Channel. bzw: sound im channel wenn ich mich nicht irre.
FMOD_System_PlaySound(system, FMOD_CHANNEL_FREE, sound[SoundNumber], FALSE, &channel[i]);
FMOD_SOUND * sound[16]; FMOD_CHANNEL* channel[16];
char name[768]; FMOD_Sound_GetName(sound[SoundNumber], name, 768);
Ich meinte nur Sound, weil GetName auch über den "Sound" funktioniert.
EDIT: Ich würds auch mit FMOD_MUSIK machen wenn benötigt
-
*anstubs*
eine Lösung in der C++ Version würd mir auch helfen ich würds dann umbauen zu C
-
Das war (denke ich) was ich suchte:
FSBANK_RESULT FSBank_Build( FSBANK_BUILDMODE buildmode, FSBANK_FORMAT format, FSBANK_PLATFORM platform, FSBANK_BUILDFLAGS buildflags, char * encryptkey, const char *destfile_or_dir, int numsrcfiles, char **srcfile, FSBANK_SAMPLE_DEFAULTS **defaults, const char *srcdir, int quality );
Bau es grad zusammen
EDIT BEISPIEL (C) (nicht von mir)
#include "fsbanklib.h" #include <stdio.h> #define NUMFILES 2 char *files[NUMFILES] = { "jbtennis.wav", "drumloop.wav" }; void __stdcall Update(int index, int memused, void *userdata) { printf("UPDATE : File %s, memory used %d kb\n", files[index], memused / 1024); } void __stdcall Debug(const char *debugstring, void *userdata) { printf("DEBUG : %s\n", debugstring); } void main() { FSBANK_RESULT result; result = FSBank_Init(); if (result != FSBANK_OK) { printf("ERROR\n"); return; } result = FSBank_SetUpdateCallback(Update, 0); if (result != FSBANK_OK) { printf("ERROR\n"); return; } result = FSBank_SetDebugCallback(Debug, 0); if (result != FSBANK_OK) { printf("ERROR\n"); return; } #if 1 /* This version compiles the wavs into 1 fsb. */ result = FSBank_Build(FSBANK_BUILDMODE_SINGLE, FSBANK_FORMAT_PCM, FSBANK_PLATFORM_PC, FSBANK_BUILD_DEFAULT, 0, "test.fsb", NUMFILES, &files[0], 0, 0, 0); #else /* This version compiles the wavs into their own fsb. 1 each. */ result = FSBank_Build(FSBANK_BUILDMODE_MULTI, FSBANK_FORMAT_PCM, FSBANK_PLATFORM_PC, FSBANK_BUILD_DEFAULT, 0, ".", NUMFILES, &files[0], 0, 0, 0); #endif if (result != FSBANK_OK) { printf("ERROR\n"); return; } result = FSBank_Close(); if (result != FSBANK_OK) { printf("ERROR\n"); return; } }