Win 7 und waveOutWrite
-
Hallo Leute,
habe eine Anwendung, die Telefongespräche über ISDN handelt und dazu MCI verwendet (waveOutOpen, waveOutClose, waveOutPrepareHeader, waveOutUnprepareHeader, waveOutWrite).
Unter Windows XP läuft es schon einige Zeit und funktioniert dort problemlos. Nur bei Windows 7 macht es Probleme. Es lässt sich ab und zu reproduzieren, dass kein Ton von der Gegenstelle zu hören ist und, nachdem man aufgelegt hat, plötzlich diese Töne "abgespielt" werden. Also nur verzögert, wenn man so will.
Bsp. Aufrufe:
MMRESULT mmReturn = ::waveOutOpen(&hPlay, nDevID, &m_WaveFormatEx, ::GetCurrentThreadId(), 0, CALLBACK_THREAD); ... LRESULT mmResult = ::waveOutPrepareHeader(hPlay, lpHdr, sizeof(WAVEHDR)); ... mmResult = ::waveOutWrite(hPlay, lpHdr, sizeof(WAVEHDR)); ...Gibt es irgendwelche bekannten Probleme mit diesen Funktionen auf Windows 7 ?

Weiß da jemand etwas dazu ?Thx für eure Antworten...
-
Was für ein Reiber steckt dahinter (TAPI?)
Ich hätte eher die Treiberimplentierung in Verdacht als die Funktion waveOutWrite.
-
Soweit ich weiß, hängt CAPI dahinter.
-
Und welcher CAPI Treiber? AVM? oder was anderes.
Wie gesagt ich halte den Treiber eher für schuldig...

-
Jo, AVM, Capi 2.0 (der neueste Treiber für die Fritz Card ist drauf).
Capi ist auch schon ziemlich alt, könnte durchaus sein. In die Richtung hab ich noch gar nicht gedacht.Die Frage ist nur, wie man das umgehen könnte. Mir fällt da nur ein, dass man das Sound abspielen/Schreiben der Datenblöcke auf Windows 7 anders angeht.
Die Core Audio APIs sind mir da ins Auge gefallen, aber muss mir das erstmal anschauen.
Oder DirectShow...Vielleicht hat jemand noch einen Vorschlag ??

Ich sag' hier jetzt schonmal danke an dich, Martin !