eXma » Diskutieren » Computer und Technik
Startseite - Veranstaltungen - Mitglieder - Suche
Vollständige Version anzeigen: [erledigt] DirectSound - FullDuplex
sn3ek
Heho,

ich muss mich auf arbeit seit Juli mit DirectSound herumschlagen und wollte mal fragen, ob es hier jemanden gibt, der erfahrungen im bereich DirectSound und FullDuplex hat?
Also ich habe derzeit einen DirectSound CaptureBuffer und Soundbuffer soweit implementiert, dass ich Sound aufnehmen kann in eine WAV und von dieser Abspielen kann. Das ist aber nicht das was ich brauche - der Schritt in eine WAV speichern soll durch die FULLDUPLEX ersetzt werden bzw. einem Linker. Ich habe mich zwar schon schlau gemacht, aber die MSDN bietet da nicht gerade die Hilfe mit ihren 2-3 Seiten lückenhafter FDuplex Doku...

Ich wäre richtig dankbar, wenn sich jmd als DX-User outet =)
sn3ek
*push*
Zappelfry
Ich kapiere nicht, was genau mit Fullduplex in diesem Fall gemeint ist. Aufnehmen und gleichzeitig ausgeben?
sn3ek
Zitat(Zappelfry @ 29 Oct 2008, 11:46)
Ich kapiere nicht, was genau mit Fullduplex in diesem Fall gemeint ist. Aufnehmen und gleichzeitig ausgeben?
*

genau! smile.gif

Ich versuchs mal zu konkretisieren - ich arbeite mit DirectSound API von M$ und soll damit ein Programm erstellen, was es ermöglicht, den Sound aufzunehmen und gleichzeitig wieder abzuspielen, was eben der besagte FullDuplex ist. Dieses Programm habe ich auch soweit hinbekommen, jedoch spielt er mir den aufgenommenen Sound 2x ab, sodass der Ton unhörbar ist.

Vielleicht hat jemand Ahnung - ich kann demjenigen auch den Code schicken, vllt übersehe ich irgendwas!?
Zappelfry
Wie hast du das gelöst, über einen alternierenden Ringpuffer?
happy?
Zitat(SN3EK @ 29 Oct 2008, 13:27)
...jedoch spielt er mir den aufgenommenen Sound 2x ab, sodass der Ton unhörbar ist...
*


dann müsste er das signal ja einmal richtig und einmal invertiert (phasengedreht) abspielen damit sich beides auslöscht. spielt dir evtl. die soundkarte / der soundtreiber einen streich das der windowsmixer das aufgenommene signal sowieso direkt zum ausgang der soundkarte routet? trifft natürlich nur zu wenn der aufgenommene ton vom line-ion der soundkarte kommt (geh ich jetzt mal einfach von aus).

dadurch hab ich mir zumindest wenn ich die soundkarte zum lautsprecher/verstärker messen (miss)gebraucht habe öfter mal probleme eingefangen. also evtl kein codefehler sondern ne einstellungssache am windows-mixer. scahlt dort mal alle kanäle bis auf wave auf "mute" und wechsel dann über "optionen -> eigenschaften" auf aufnahme und wähl hier den passenden eingang.
sn3ek
Zitat(happy? @ 29 Oct 2008, 16:05)
dann müsste er das signal ja einmal richtig und einmal invertiert (phasengedreht) abspielen damit sich beides auslöscht. spielt dir evtl. die soundkarte / der soundtreiber einen streich das der windowsmixer das aufgenommene signal sowieso direkt zum ausgang der soundkarte routet? trifft natürlich nur zu wenn der aufgenommene ton vom line-ion der soundkarte kommt (geh ich jetzt mal einfach von aus).

dadurch hab ich mir zumindest wenn ich die soundkarte zum lautsprecher/verstärker messen (miss)gebraucht habe öfter mal probleme eingefangen. also evtl kein codefehler sondern ne einstellungssache am windows-mixer. scahlt dort mal alle kanäle bis auf wave auf "mute" und wechsel dann über "optionen -> eigenschaften" auf aufnahme und wähl hier den passenden eingang.
*


Ja das wurde mir auch schon vorgeschlagen gerade eben, aber derzeit bin ich unter Windows Vista und da ist das mit den Kanälen so eine Sache wink.gif Line-In ist deaktiviert - der Sound wird per Micro-Eingang aufgenommen - die direkte ausgabe über die Lautsprecher /vom Micro aus wurde auch Betriebssystemseitig von mir deaktiviert. Ich werd wohl erstmal meine Device-Enumeration einbinden damit ich das besser steuern kann - liegt bestimmt am Microfon...

//Edit - wenn ich den an den Line-In hänge anstatt an Micro - kommt das gleiche Interferenz-Phänomen zu tragen ... naja ich programmier mal die enumaration rein ...
Zappelfry
download link funzt nicht
sn3ek
Zitat(Zappelfry @ 29 Oct 2008, 16:59)
download link funzt nicht
*


Da musste ne v2 anstatt v3 stehen - pardon^^

sn3ek
Sorry für Dopplepost -> habe nun die Enumeration mit hinzugefügt und mein ehemal. Mitarbeiter an dem Projekt sagt, dass es daran liegt, dass meine Soundkarte zu große Latenzen aufweißen könnte und es deshalb zu der Interferenz führen kann - ich werde also das Programm mal auf arbeit im STudio testen! smile.gif

Aber habs hinbekommen dass es so läuft wie es soll *Freu* smile.gif jetzt nur noch die implementation, was der nächste schritt wäre, der frust hervorrufen kann - aber das Programm wurde ja nicht von mir gecodet, sodass ich das auf ihn schieben kann biggrin.gif