Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Jul 03, 2025 06:28

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: DirectX / DirectShow Audio Playback
BeitragVerfasst: Di Mai 31, 2011 17:42 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

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?

Aya~


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Di Mai 31, 2011 20:12 
Offline
DGL Member

Registriert: Mi Sep 15, 2010 18:22
Beiträge: 59
Wohnort: Sachsen Meißen
Programmiersprache: Pascal, C(++), Java
Alles was du suchst, findest du in der DirectSound.

Ich denke das könnte dir vielleicht helfen.

PS: Vielleicht sollte man den Thread nach Allgemein verschieben.
PPS: Danke.

_________________
bluesky


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Jun 08, 2011 12:13 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

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?

Aya~


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Jun 08, 2011 15:23 
Offline
DGL Member

Registriert: Mi Sep 15, 2010 18:22
Beiträge: 59
Wohnort: Sachsen Meißen
Programmiersprache: Pascal, C(++), Java
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.

Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Jun 08, 2011 15:33 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Also kann ich nicht den selben SoundBuffer für 2 verschiedene sound formate hernehmen, ja?


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi Jun 08, 2011 15:42 
Offline
DGL Member

Registriert: Mi Sep 15, 2010 18:22
Beiträge: 59
Wohnort: Sachsen Meißen
Programmiersprache: Pascal, C(++), Java
Ja.

_________________
bluesky


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do Jun 09, 2011 17:41 
Offline
DGL Member

Registriert: Do Jun 28, 2007 17:58
Beiträge: 193
Programmiersprache: Pascal, C
Wenn du funktionierenden Code für DirectSound suchst, kannst du auch hier schauen:

http://audorra.svn.sourceforge.net/view ... iew=markup

_________________
http://audorra.sourceforge.net//http://andorra.sourceforge.net


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]