Autor Beitrag
Schugge
Hält's aus hier
Beiträge: 13

Win XP
D5E
BeitragVerfasst: Fr 14.10.05 08:53 
Hallo Leute,

ich nutze IDirectSoundBuffer8-Variablen (DirectSound-Paket), um Wave-Dateien aus dem Speicher abzuspielen. Das eignet sich wunderbar für Soundeffekte, da diese nicht allzu viel Speicherplatz bedürfen. Bei der Hintergrundmusik sieht das leider etwas anders aus. Sie sollte komprimiert vorliegen.
Hierfür will ich das Ogg/Vorbis-Format benutzen. Um meinen bisherigen Code nicht verwerfen zu müssen, will ich das Vorbisfile dekodieren und einer meiner IDirectSoundBuffer8-Variable zuweisen.
Mit Hilfe der libvorbis.dll habe ich leider keinen vernüftigen Ansatz finden können. Und Lösungen wie fmod o.ä. will ich wegen o.g. Gründen umgehen.

Hat hiermit schon jemand Erfahrungen sammeln können?

Schönen Gruß,
Schugge
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Fr 14.10.05 09:18 
Hab nicht so viel Erfahrung damit aber ich schätze die Suche in: Delphi-Forum, Delphi-Library BASS DLL ermöglicht das relativ einfach.
Schugge Threadstarter
Hält's aus hier
Beiträge: 13

Win XP
D5E
BeitragVerfasst: Fr 14.10.05 10:31 
Hallo digi_c,

danke für die Antwort. 'fmod' und 'bass' sind Pakete, die ich nicht nutzen wollte. Die bieten komplett-Lösungen an. Ich hätte gerne weitestgehend Eingriff in den Code.
Ist es denn sehr umständlich Vorbisfiles zu dekodieren, bzw ins Wave-Format zu konvertieren, und mittels mmsystem einzubinden?
Ich habe Code gefunden, welche Vorbis zu RAW konvertiert, was mir allerdings nicht wirklich weiterhalf. Oder ist das schon "der" Ansatz?
Ich steh da leider etwas im Wald..
digi_c
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1905

W98, XP
D7 PE, Lazarus, WinAVR
BeitragVerfasst: Fr 14.10.05 11:39 
Hmm also die Seite für OOG ist xiph.org/
Ich denke es gibt eine Möglichkeit mit hilfe dieser/einer DLL einen WaveAutioStream zu erzeugen und den dann auszugeben(ich glaube DirectX ist dafür geeignet). Da habe ich aber keine Details zu wie man das genau macht.
Schugge Threadstarter
Hält's aus hier
Beiträge: 13

Win XP
D5E
BeitragVerfasst: Mo 17.10.05 08:45 
Schade, genau so eine DLL bzw Funktion suche ich, kann sie aber nicht finden.
Schugge Threadstarter
Hält's aus hier
Beiträge: 13

Win XP
D5E
BeitragVerfasst: Di 18.10.05 13:51 
gefunden: www.jadds.de/directx...irectory=directsound

Hier findet man den "Ogg Vorbis File Streamer". Nur noch die richtige vorbisFile.dll korrekt einbinden und loslegen. Eine falsche Version der DLL gab bei mir Programmabstürze.


Und vielen Dank für die Mühe nochmal an digi_c!