Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

02.02.2010, 21:35

7.1 Sound - Jeden Kanal seperat (isoliert) abspielen

Hallo liebe Spieleprogrammierer,

wie Ihr gleich merken werdet gehöre ich nicht zu diesem Entwicklerkreis,
hoffe aber, dass ihr mir trotzdem weiterhelfen könnt.
Leider konnte ich auf meiner Suche nichts geeignetes finden um
das vor mir liegende Problem zu lösen. Alles was ich bisher gefunden habe
hört an der Stelle auf an der es für mich interessant wird, vielleicht geht
es da auch einfach wirklich nicht weiter und ich merk es nicht ;-)

Problem:
Für ein Projekt muss ich an einer 7.1 Soundkarte (Creative X-Fi) gleichzeitig
an jedem Kanal (insgesamt 8, also auch jeweils links und rechts getrennt)
eine Sinusschwingung ausgeben. Die Sinusschwingungen unterscheiden sich
dabei in Amplitude, Frequenz und Phasenwinkel, wie die zu generieren sind
weiß ich. Komme auch mit dem Aufbau von PCM klar. Was ich allerdings
bisher nicht lösen konnte ist das getrennte ansprechen der Kanäle.
Wollte das über DirectSound machen, allerdings scheint die Schnittstelle
nicht dafür gemacht zu sein die Signale (Puffer) vollkommen voneinander
zu trennen.
WaveFormat.nChannels = 2 (Stereo)
Reicht für meine Zwecke leider nicht. Geht da mehr und wenn ja, wie?

Gibt es falls das mit DirectSound nicht geht eine einfache Lösung das
umzusetzen?

Falls dieses Thema bereit existieren sollte, bitte ich um Entschuldigung,
aber meiner Suche und in der FAQ habe ich es nicht gesehen.

Vielen Dank schon mal an jeden der sich ein paar Gedanken dazu macht.

Gruss
Sven

Alyx

Treue Seele

Beiträge: 236

Wohnort: Hannover

Beruf: Head Of Software Development

  • Private Nachricht senden

2

02.02.2010, 22:05

Uff.... also bei mir ist's eine Weile her, seit ich DirectSound genutzt habe, aber wir haben damals einen 3D-Sound-"Engine" für DirectSound und Miles entwickelt und da war es defintiv nicht möglich bei der 3D-Ausgabe gezielt einen Kanal anzusprechen.

Prinzipiell muss es aber möglich sein, da bei DVDs/Blurays ja auch gezielt die einzelnen Kanäle abgespielt werden. Falls ich was finde, sag ich bescheid :-).

LG
Alyx

3

03.02.2010, 08:23

Arbeite dich mal in den Source folgender Lib. ein:
http://liba52.sourceforge.net/

Das ist ein open source AC-3 decoder und sollte daher können, was du suchst. Solltest du das auch ein paar wenige Zeilen kürzen können, wäre es nett, wenn du sie hier postest. Ist bestimmt auch für andere interessant.

Tobiking

1x Rätselkönig

  • Private Nachricht senden

4

03.02.2010, 11:44

Zitat von »"chriss"«

Arbeite dich mal in den Source folgender Lib. ein:
http://liba52.sourceforge.net/

Das ist ein open source AC-3 decoder und sollte daher können, was du suchst. Solltest du das auch ein paar wenige Zeilen kürzen können, wäre es nett, wenn du sie hier postest. Ist bestimmt auch für andere interessant.

Muss er dann nicht erst seine Audio Signale in ac3 encodieren damit er diese darüber abspielen kann?


Mir würde auf Anhieb sowas wie ASIO einfallen. Wird zwar glaube ich nicht von allen Soundkarten unterstützt, aber die ganzen Creative Karten sollten das können.

Alyx

Treue Seele

Beiträge: 236

Wohnort: Hannover

Beruf: Head Of Software Development

  • Private Nachricht senden

5

03.02.2010, 11:50

Ich denke mal Chris meinte, dass der AC3-Decoder logischerweise den Quelltext dafür enthalten muss, wie man die einzelnen Boxen anspricht und dass man eben diese Stelle dort aus dem Quelltext extrahieren könnte.

LG
Alyx

6

03.02.2010, 12:44

Vielleicht ist FMod das Richtige für dich.

7

03.02.2010, 13:01

Hey,

Danke für die Tips. Werde mir das mal genauer anschauen.
Hab aber noch was bei Microsoft gefunden.
http://www.microsoft.com/whdc/device/aud…ichaud.mspx#E4C
Ist zwar kein Standard, aber so wie das da beschrieben ist geht
anscheinend genau das was ich will.

Werde mich nochmal hier melden wenn ich es hin bekommen
habe und es Euch wissen lassen.

Gruß Sven

8

03.02.2010, 20:14

Hier ein erstes kleine Update.
Die ganze Geschichte funktioniert ohne DirectSound und macht genau
das was ich wollte *grins* Muss mich zum Glück nicht mit irgendwelchen
komplexen Schnittstellen rumplagen *ganzdickesgrinsen*

Danke Euch allen trotzdem fürs Gehirnzellen in Bewegung bringen. ;-)

Falls jemand damit mal Schwierigkeiten haben sollte kann er/sie sich
gerne an mich wenden, werde gerne weiterhelfen.

Gruß Sven

9

04.02.2010, 08:26

Kannst du vieleicht deine Lösung hier posten? Wäre bestimmt für mehrere interessant.

Alyx

Treue Seele

Beiträge: 236

Wohnort: Hannover

Beruf: Head Of Software Development

  • Private Nachricht senden

10

04.02.2010, 10:00

Hat er doch, der Link sagte zumindest mir dann eigentlich alles :-).

Man bilde eine Multichannel-Wave-File nach Anleitung der Seite und spiele das mit DirectSound.

Zitat

WAVEFORMATEXTENSIBLE audio formats are fully supported throughout DirectSound. However, they cannot be used in conjunction with DMO effects.."


LG
Alyx

Werbeanzeige