Seite 1 von 1

Hilfe zu FMOD Befehlen

Verfasst: 07.01.2007 11:51
von a14xerus
Hey Leute, in anlehnung an diesen Thread wollte ich einmal fragen, was die einzelnen FMOD Befehle überhaupt bewirken (ich habe die chm gelesen, werd aber nicht schlau raus)
Wofür gibt es zum Beispiel die FMOD_System_... , die FMOD_Sound_.. oder die FMOD_Channel_... Befehle
Was ist ein Channel,
in welcher Reihenfolge sollten die Befehle um ein Lied zu starten, zu pausieren, fortzufahren und zu stoppen?

Es wäre nett wenn mir irgendjemand nru die "grundzüge" verdeutlchen könnte, oder ein Tutorial o.ä. gibt
TIA
A14Xerus

Verfasst: 07.01.2007 13:16
von DarkSoul
Bei fmod ist doch ne anleitung bei, da steht das alles drin :? . zuerst musst du fmod initialisieren.

channel: das sind audiokanäle. die kannst du etwa mit topedoröhren bei u-booten vergleichen.

streams: das sind die audiofiles, also die torpedos!

Verfasst: 07.01.2007 13:18
von a14xerus

Code: Alles auswählen

FMOD_System_Create(@fmodsystem) 
FMOD_System_Init(fmodsystem, 32, 0, 0) 
FMOD_System_CreateStream(fmodsystem, @Path, #FMOD_SOFTWARE, 0, @sound) 
FMOD_System_PlaySound(fmodsystem, 0, sound, 0, @channel) 
also zuerst wird hier das System "erstellt", dann initialisiert, dan nein Stream erstellt mit einem pointer zur datei, und dann der soudn gestartet, aber wie stoppt man ihn jetz zum beispiel?
weil diese befhele haben ja jetzt alle ein FMOD_System am anfang, und der einzigste stop befehl den ich gefunden habe hatte so weit ich weiß ein channel am anfang

Verfasst: 07.01.2007 13:57
von Froggerprogger
In der fmod-Hilfe befindet sich in der Kapitelübersicht das Kapitel 'Tutorials'. In 12 Kapiteln wird dort alles erklärt, angefangen bei grundlegendsten Konzepten, wie Channels, Sounds, etc. bis hin zu 3D-Sound, Threadsicherheit und dem DSP-Network.

Allerdings: Alles auf Englisch. Daran sollte man sich aber eh gewöhnen. Bei Übersetzungsproblemen http://dict.leo.org

Ansonsten, hier ein Kurzüberblick:
Das ganze ist ähnlich einem Mischpult: Ein Sound wird nicht direkt an die Soundkarte geschickt, sondern stattdessen einem Kanal zugewiesen. Dabei gibt es beim Laden die Unterscheidung zwischen Stream und Sound. Streams werden wie gesagt gestreamt, sollten daher für große Dateien und Internetstreams genutzt werden. Bei der Wiedergabe finden also häufig Festplatten/Netzwerk-Zugriffe statt. Sounds werden beim Laden in den Speicher entpackt und sollten daher nur für kurze Samples, die nach dem Laden sofort zur Verfügung stehen sollen verwendet werden. Sounds können dann ohne Zeitverzögerung gestartet werden.

Die Kanäle selbst können dann in der Lautstärke verändert werden, etc. Außerdem lassen sich mehrere Kanäle zusammenmischen auf Subkanäle, um deren Mischung dann wiederum gemeinsam zu bearbeiten (Routing).

Abschließend geht in der Signalkette dann die Gesamtmischung zur Soundkarte. Überall im Signalfluss (also auch nur in einem Channel, oder auf der Summe) lassen sich DSPs einsetzen. Dies können vorgefertigte Effekte/PlugIns sein, oder aber eine eigene Callback-Prozedur, die den gegenwärtigen Buffer verändern und weiterreichen kann. Das sind so grob die Grundlagen bei Soundwiedergabe.

Da mittlerweile vor irgendwelchen Soundbefehlen ein System-Objekt initalisiert werden muss, lassen sich insbesondere mehrere Soundkarten gleichzeitig ansprechen, was früher nicht möglich war.
Also etwa so:

System = neue fmod-Instanz (legt Soundkarte, etc. fest)
Stream/Sound = Sounddaten (aus Datei, Netzwerk, Speicher)
Channel = Kanal, auf dem Sounds abgespielt werden. Kann in vielerlei Arten modifiziert werden (Effekte, Routing)

Verfasst: 07.01.2007 14:13
von a14xerus
danke für diese erklärung, ich werde mcih da mal weiter mit beschäftigen