ich nutze derzeit OpenAL zum Audioplayback, funktioniert einwandfrei und läuft bestens. Jetzt möchte ich gern aus Interesse, Wissensdurst und sonstigem quatsch Audioplayback via DirectX realisieren.
Soweit ich weiß macht man das via DirectShow, aber das gibt es glaube ich ja schon seit einiger Zeit nichtmehr.. Ich hab schon gegooglet und gesucht, aber irgendwie nichts brauchbares an Infos gefunden wie man via DirectX ganz simpel einen RawPCM Daten Stream abspielt...
Mir geht es dabei auch garnicht um das Dekodieren der Audiodaten, das mache ich auf meine eigene Art und weise.. ich will einfach nur meine Raw PCM Daten via DirectX abspielen.
Hat da jemand zufällig ein paar Links zu Tutorials, Dokumentationen oder ähnlichem für mich? Oder kann mir zumindest jemand sagen welcher Teil von DirectX dafür zuständig ist?
ich hab mich jetzt gestern mal damit ausseinander gesetzt und 2 kleine probleme, bzw. unklarheiten.
Das läuft bei DirectSound scheinbar so das man einen PrimarySoundBuffer erstellt. Bei diesem kann man angeben ob er alle anderen Sounds anderer Programme muten soll oder nicht.
Wenn man die anderen Programme muten lässt, kann man selber das Format des PrimarySoundBuffers bestimmen, wenn nicht eben nicht. Was ich nicht ganz verstanden habe.. wozu ist das Format des PrimarySoundBuffers wichtig?
Dannach erstellt man einen weiteren SoundBuffer in den man seine Audiodaten packt, auch hier muß man das Format angeben. Allerdings muß man dies tun BEVOR man ihn erstellt.. wenn ich jetzt z.B. einmal ein 44100 Khz Lied abspielen möchte und dannach ein 22050 Khz Lied müßte ich dafür einen neuen Buffer erstellen, sehe ich das richtig?!
Alternative wäre natürlich die 22050 auf 44100 hochzurechnen.. das wäre vermutlich auch mein aktueller Plan.
Bei OpenAL füttert man den Buffer einfach immer mit neuen Daten und sagt dabei auch welches Format diese neuen Daten haben.. das scheint mir bei DirectSound sehr viel umständlicher zu sein. Gibt es da irgendeinen idealen weg wie man sowas löst?
DirectSound hat einen primären Soundpuffer. Das ist der einzige Soundpuffer, der wirklich abgespielt werden kann. Für jeden anderen Sound erstellst du einen sekundären Soundpuffer mit dem entsprechenden Format. Wenn dieser dann abgespielt wird, werden seine Daten zum Mixer geschickt. Dieser mischt alle Soundpuffer und schreibt sie in den primären Soundpuffer. Die eventuelle Anpassung des Formats nimmt der Mixer vor.
_________________ bluesky
Zuletzt geändert von bluesky am Mi Jun 08, 2011 15:35, insgesamt 1-mal geändert.
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.