Warum, warum nur funktioniert der Sound nicht im CBuilder(6)...



  • Elfe schrieb:

    Ich weiß nicht, warum Ihr euch so aufregt ?

    Angesichts der Dauer der Diskussion (seit dem 17.11.) verlieren wir halt die Lust dir zu helfen.

    Elfe schrieb:

    Mit D3D habe ich keine Probleme. Und mit DMusic
    auch nicht.

    Daran habe ich nach kurzem überfliegen deines Quelltextes Zweifel.

    Elfe schrieb:

    Der Link funktioniert bei mir nicht. Ich weiß nicht, warum ?

    Das gehört auch zu den Dingen, die ich nicht nachvollziehen kann.

    So, nun zu deinem Program

    // Gekürzter Auszug
    HRESULT Info;
    
    MEd->Text = Info;
    

    Du legst da eine nicht initialisierte Variable an, sprich mit zufälligem Inhalt. Was bringt dich dazu zu glauben, der Inhalt hätte irgendwas mit dem Rückgabewert einer Funktion zu tun ?

    Man ruft das so auf

    HRESULT Info = Irgendeine_COM_Funktion();
    

    dann kannst du damit trotzdem noch z.B.

    if ( FAILED(Info) )
    

    verwenden, aber auch z.B. mit dem Debugger nachsehen, was da zurück gekommen ist.

    Tut mir leid, ich verliere wirklich die Lust zu antworten.



  • .

    Muss man hier eigentlich

    Informatik studiert haben

    um hier eine Frage zu stellen ??? 🙄

    .



  • .

    DirectSoundCreate____________S_OK

    - CreateSoundBuffer__________-2147024____E_INVALIDARG

    DirectSoundCaptureCreate_____S_OK

    - CreateCaptureBuffer________-2147024____E_INVALIDARG

    .



  • Der erste Parameter von IDirectSound8::CreateSoundBuffer muss die Adresse einer DSBUFFERDESC-Struktur sein, in der der zu erstellende Soundbuffer beschrieben wird. Du übergibst einen uninitialisierten Zeiger.



  • Elfe schrieb:

    .
    Muss man hier eigentlich
    Informatik studiert haben
    um hier eine Frage zu stellen ??? 🙄
    .

    Nein sicher nicht. Aber man sieht an deinem Code und deiner Fragestellung, dass noch erheblicher Nachholbedarf an Basiswissen besteht (nicht böse gemeint). Und es ist halt einfach etwas anstrengend, jemandem ohne diesem Basiswissen zu helfen.

    Aber mit dem Returnvalue E_INVALIDARG und der Antwort von MFK, sollte die Problemlösung einfach sein.
    Deshalb bat ich auch um deinen Code...woher hätte man sonst sehen sollen, was du da an was übergibst.

    mfg



  • Sound schrieb :

    ...Nachholbedarf an Basiswissen besteht...

    ...Woher soll man (ich) es denn haben, wenn es keine Bücher dazu gibt, auch im Internet nichts zu finden ist. Erklären tut es einem ja keiner. Nur beschweren tun sich alle, wenn man etwas nicht weiß. Also versucht man, aus dem was man finden kann, aus tausend Quellen, etwas zusammen zu basteln. Und wer nicht mag, braucht ja nicht zu antworten. Ich zwinge Niemanden.

    Danke MfK. ( ...auch für die konkrete Antwort )Sieh mal das Ergebnis :

    DS-Create________________0___S_OK
    CreateSoundBuffer_________0___S_OK
    DS-CaptureCreate__________0___S_OK
    CreateCaptureBuffer________0___S_OK

    Wenn das kein Erfolg ist ?!?!

    Nur

    if ( Buffer ) Buffer->Release;
    

    erzeugt Zugriffsverletzungen. Warum das ?
    Es soll doch nur dann ein Release geben, wenn es einen Buffer gibt, ...sonst nicht. 🙄

    Bei if ( SndSchnittSt ) SndSchnittSt->Release funktioniert das doch auch.
    Warum beim Buffer nicht ?

    Gruß



  • Elfe schrieb:

    Sound schrieb :

    ...Nachholbedarf an Basiswissen besteht...

    ...Woher soll man (ich) es denn haben, wenn es keine Bücher dazu gibt, auch im Internet nichts zu finden ist. Erklären tut es einem ja keiner.

    In Sachen Informatik/Programmierung wird dir selten jemand den Arsch nachtragen. Einen Großteil der Fehler/Fortschritte meistert man durch Eigenrecherche im Internet.

    Da gepostete Link bei dir nicht funktioniert, aber bei jedem anderen, scheinst du nicht nur ein Problem mit deiner Soundausgabe, sondern auch mit deinem Browser zu haben. Ich würde erstmal das zweite Problem angehen.



  • Elfe schrieb:

    ...Woher soll man (ich) es denn haben, wenn es keine Bücher dazu gibt, auch im Internet nichts zu finden ist.

    Natürlich gibt es Bücher dazu, und was ich in meinem letzten Beitrag geschrieben habe, stammt von hier. Habe ich mit Google gefunden. Aber dein selektiv kaputtes Internet lässt dich wahrscheinlich nicht darauf zugreifen.

    Elfe schrieb:

    nur beschweren tun sich alle, wenn man etwas nicht weiß.

    Der Unmut hier rührt daher, dass du dich hier sehr beratungsresistent gezeigt hast. Du schreibst, dass du mit D3D und DMusic keine Probleme hast, aber dein Code zeigt deutlich, dass das nicht sein kann. Dein Internet funktioniert seltsamerweise genau dann nicht, wenn es um den Zugriff auf die Dokumentation genau der von dir verwendeten Funktionen geht. Du zeigst trotz mehrfacher Aufforderung den Code nicht, mit wirren Begründungen.

    Dein seltsames Verhalten verhindert schnelle und effektive Hilfe. Daher vergeht den Helfern allmählich die Lust. Dass du darauf nicht mit einem Fünkchen Einsicht, sondern nur mit selbsgerechter Empörung reagierst, setzt noch eins oben drauf.

    Elfe schrieb:

    Wenn das kein Erfolg ist ?!?!

    Keine Ahnung, ob das ein Erfolg ist. Wenn alle Aufrufe mit S_OK zurückkommen und dein Programm trotzdem nicht tut, was es soll, ist es kein Erfolg.

    Miss die Qualität deines Programms nicht daran, ob der Compiler 0 Fehler meldet, und auch nicht daran, ob keine Laufzeitfehler auftreten, sondern daran, ob es funktioniert.

    Elfe schrieb:

    Nur

    if ( Buffer ) Buffer->Release;
    

    erzeugt Zugriffsverletzungen. Warum das ?

    Auch das kann man zweifelsfrei nur beantworten, wenn man den Code sieht. Vermutlich ist Buffer an dieser Stelle uninitialisiert.



  • Mein FireFox Browser zeigt :

    Die Seite msdn.microsoft.com wurde nicht gefunden.
    Möglicherweise ist die Internet-Adresse (URL) nicht korrekt.

    Tipp
    Verwenden Sie die WEB.DE Suche - und probieren Sie es erneut!

    msdn microsoft com en-us library windows desktop microsoft directx_sdk idirectsound8 idirectsound8 createsoundbuffer(v=vs 85) aspx

    Letzte Suchanfragen

    Es wurden keine Anfragen gespeichert.

    und warum werft Ihr mir ein "Kaputtes Internet" vor ????????

    > mit D3D und DMusic keine Probleme hast

    Na ja, die Programme, die ich damit geschrieben habe funktionieren jedenfalls gut und fehlerfrei.

    > selbsgerechter Empörung...

    seht euch mal Eure Antworten an ............

    > Dein seltsames Verhalten...

    Ich wollte lediglich freundlich sein und möglichst in kein Fettnäpfchen treten.

    Aber hier scheint es ja wohl wirklich nur Missverständnisse zu geben.

    ..........................................
    ..........................................
    ..........................................



  • Elfe schrieb:

    und warum werft Ihr mir ein "Kaputtes Internet" vor ????????

    Niemand wirft es dir vor. Es ist eine sachliche Feststellung. Dein Internet ist kaputt, weil es die MSDN Library nicht erreichen kann. Das ist ziemlich merkwürdig, allerdings bist du anscheinend nicht gewillt, diesem Problem nachzugehen, sondern nimmst es hin. Gut, damit verbaust du dir die Möglichkeit, dir selbst Informationen zu beschaffen.

    Elfe schrieb:

    Na ja, die Programme, die ich damit geschrieben habe funktionieren jedenfalls gut und fehlerfrei.

    Ganz offen gesagt: Das glaube ich dir nicht. Dein Code zeigt, dass dein Ansatz, unbekannte API-Funktionen aufzurufen, darin besteht, für jeden Parameter eine unitialisierte globale Variable des gewünschten Typs zu erstellen. Diese Vorgehensweise kann nicht funktionieren. Wenn deine anderen Programme funktionieren, dann bist du dort entweder anders vorgegangen, oder hast sie nicht selbst geschrieben.

    Elfe schrieb:

    Aber hier scheint es ja wohl wirklich nur Missverständnisse zu geben.

    Mir scheint, dir ist die Diskussion über das Verhalten der Threadteilnehmer hier wichtiger als die Lösung deines Problems.

    Den Code hast du trotz Aufforderung mal wieder nicht gezeigt. Dafür drei Reihen mit Punkten. Was soll das? Das ist nicht freundlich. Das ist seltsam.


Anmelden zum Antworten