wavein und konsorten



  • ja ansich moechte ich das fuer die VCL, aber nachdem mein problem ansich die multimedia-api ist, dachte ich mir das ich in dem forum besser aufgehoben bin. schließlich kann man das ja auch mit callbacks realisieren, da brauch ich dann die windows-messageverarbeitung nicht.

    aber wenn ihr meint, das ich ins VCL forum sollte, dann verschiebt mich halt bitte dowthin.

    Meep Meep



  • Im Prinzip weren doch dann die Messages (WIM_CLOSE, WIM_DATA und WIM_OPEN) einfach in waveInProc verarbeitet und nicht mehr in der WndProc - an der Vorgehensweise ändert sich doch nichts, oder 🙄



  • hallo flenders

    also, ich weiß eben nicht wie die vorgehensweise geht.
    ich kenn zwar ie funktionen, aber ich weiß nicht in welcher reihenfolge usw. habs grad soweit geschafft, das ich per callback die message WIM_OPEN bekomme. nun is aber sense. ich hab auch keinen plan wann man wo den buffer uebergeben soll, wann den naechsten, wann ich dann einen auslesen kann usw.

    Meep Meep



  • Ich hab' gedacht du hast den Petzold - da hast du doch das Beispiel und kannst dir die Vorgehensweise anschauen.
    Direkt damit gemacht hab ich auch noch nichts - deswegen kann ich dir nicht mehr sagen, als im Petzold bzw. der MSDN-Library steht 😞



  • Im Petzold ist die Reihenfolge der Funktion und die Vorgehensweise ausführlich beschrieben. Mit dem Buch solltest Du wirklich keine Probleme haben. Außerdem ist der komplette Sourcecode auf CD dabei.

    Wo ist Dein Problem?

    Blackbird



  • nochmal:

    ich kann mit der win-api programmierung nix anfangen. ich hab auch ueberhaupt keine lust das zu lernen, nur damit ich die audio-api ansteuern kann.

    der source-code im petzold ist mit reiner win-api durchzogen, das ich den source nicht lesen kann.
    deshalb hab ich auch geschrieben , das ich nen source brauche, der fuer den
    " TERMINAL MODUS !! " geschrieben ist. wenn mir keiner helfen kann, und niemand nen source hat, dann hab ich halt pech gehabt.

    der source auf der CD nutzt mir da auch nix.
    waere das gleiche ,als wenn ich ihn vom buch abtippen wuerde. <- wuerd ich eher machen, weil das abtippe noch eher nen lerneffekt hat, als reines kopieren.

    dazu kommt noch, das ich "NUR" den BCB, also VCL, benutze.
    also hab ich sogesehen nix ahnung von WM_xxxxx usw.

    ich hoffe das ich mich diesmal verstaendlich genug ausgedrueckt habe, damit es auch jeder verstehen kann.

    Meep Meep



  • Meep Meep schrieb:

    also hab ich sogesehen nix ahnung von WM_xxxxx usw.

    Dann solltest du dir vielleich mal ein büschen Ahnung raufschaffen. 😉
    Z.B. mit dem FAQ-Betrag "Windows-Messages abfangen im BCB".



  • hallo jansen

    ich habe ueberhaupt keine lust die windows messages zu lernen, nur damit ich die multimedia api verwenden kann, speziell den audiobereich.

    ich wuerd auch nicht die interne aufbauweise der stereoanlage studieren, nur weil ich ne CD anhoeren will.

    der rest ist ja schon gesagt.

    Meep Meep



  • Meep Meep schrieb:

    ich wuerd auch nicht die interne aufbauweise der stereoanlage studieren, nur weil ich ne CD anhoeren will.

    Deine ursprüngliche Fragestellung deutet darauf hin, dass du eher einen eigenen CD-Player bauen willst (um beim Vergleich zu bleiben) anstatt nur eine CD abzuspielen. Und da dürften sich Kenntnisse über den internen Aufbau einer Stereoanlage durchaus als nützlich erweisen. 😉



  • *grins noe, nix eigenen CD-player bauen.

    ich will nur ne aufnahme machen.
    das ich mehrere buffer dazu brauche weiß ich.
    ich weiß halt nicht wie das ganze gemacht wird, und aus der msn werd ich ueberhaupt nicht schlau.
    die sourcecode die ich gefunden habe, kann ich nicht verwenden, weil die alle fuer VC geschrieben sind. da weiß ich nicht was wohin gehoert.
    die reine winapi mit dem message zeugs brauch ich auch nicht, weil ich das mittels callbacks realisieren kann. alsu brauch ich das messagedings nicht.

    es soll im grunde nur eine art diktiergeraet werden.
    also brauch ich nur nen source oder ne page wo ich das lernen kann wie ich das als terminal (also ohne win-api) realisieren kann.

    nix mehr bitte von win-api und dem kuddel-muddel schreiben.

    Meep Meep



  • Naja, immerhin hast du mit den API-Funktionen angefangen. 😉

    Was verstehst du eigentlich unter "terminal", und was hat das mit WinAPI zu tun (bzw. schliesst diese aus)?

    Und was den CD-Player betrifft: dir ist klar, dass es da nur um die Analogie zur Stereoanlage ging, also ein CD-Player-Gerät, nicht um ein CD-Player-Programm?



  • *ggg das mit dem cd player is mir schon klar

    ok vergiss mal die win-api geschichte.

    ich formulier meine frage nochmal anders:

    kann mir jemand einen sourcecode oder eine adresse im internet geben, wo ich infos zu wavein, waveout usw. finde ?
    es muss aber fuer eine terminal anwendung sein. also in dem fenster wo man nur buchstaben zahlen und zeichen hat, ohne grafik. sieht glaich aus wie frueher MD-DOS.

    das proggie soll eine art diktiergeraet werden. also das aufgenommene auf die frstplatte speichern. das speichern ist kein problem. hab inzwischen erfahren, das ich mindestens 2 aufnahme buffer dafuer verwenden muß. hab aber keinen plan wie das funktioniert.

    kann mir jemand dabei helfen ?

    Meep Meep



  • Meep Meep schrieb:

    fenster wo man nur buchstaben zahlen und zeichen hat, ohne grafik. sieht glaich aus wie frueher MD-DOS.

    Das nennt man Konsole, und wie kommst du darauf, dass man bei einer Konsolenanwendung keine WinAPI-Funktionen verwenden könnte?



  • was haben wir heute fuer nen tag ? haben wir den "aergern wir n bisschen den Meep Meep Tag?"

    fuer mich ist ein terminal proggie das gleiche wie ein konsolen proggie.
    falls ich mich falsch ausgedrueckt habe, sorry.

    ich will die audio-api in einem konsolen-proggie verwenden.

    kann mir da jemand helfen ?

    @ jansen: wenn ich gesagt haette das man in einem konsolen-proggie keine win-api verwenden koennte, wuerd ich mich nicht fuer infos ueber die verwendung der multimedia-api in einem KONSOLEN proggie interessieren.

    also lass mal die scherze. langsam find ich das nicht mehr lustig

    Meep MEep



  • Meep Meep schrieb:

    fuer mich ist ein terminal proggie das gleiche wie ein konsolen proggie.

    Wenn du von jemandem Hilfe erhoffst dann solltest du versuchen, dich so auszudrücken, dass nicht nur du weisst, was gemeint ist sondern auch der potentielle Helfer. 😉

    Ansonsten kann ich dir nicht folgen. Du lehnst es strikt ab, dich mit der WinAPI zu befassen, willst aber Funktionen daraus verwenden (ja, die Multimedia API ist Teil der WinAPI).



  • bitte schliesst den thread, damit ich morgen meine frage mal in "DOS und Win32-Konsole " stellen kann. ansonsten krieg ich ein auf den deckel wegen doppelposting.

    Meep Meep



  • nicht notwendig. ich schieb diesen dort hin 🙂



  • waveInOpen, waveOutOpen, usw. SIND API-Funktionen!

    err = waveInOpen (&hWaveIn, DeviceID, &waveform, (DWORD) hwnd, 0, CALLBACK_WINDOW);
    

    definiert hier die Callback-Funktion des Windows-Main-Fensters als Empfänger aller Nachrichten die das geöffnete Device sendet (u.a. z.B. MM_WIM_OPEN, wie Du schon richtig rausgefunden hast). Definierst Du eine andere Callback-Funktion als Empfänger, so ist das von der Windows-GUI "entkoppelt" - funktioniert also auch im DOS32-Fenster mit einer normalen main-Funktion.

    Wenn Dich DIESE API-Funktionen stören, so verwende doch die MCI-Funktionen. Sind zwar auch Win-API, aber eine Ebene höher.

    Auf einem Windows-PC die Soundkarte als Recorder im eigenen Programm im DOS32-Fenster verwenden - nach meiner Kenntnis geht das nicht ohne Windows-spezifische Funktionen. Und die sind alle im API. MFC verwendet auch nur das API und alle anderen Compiler anderer Hersteller (BCB, lcc, usw.) verwenden auch nur die API. Der ausführbare Code dieser waveIn.... -Funktionen und andere liegt nämlich in den DLLs wie kernel32.dll, user32.dll usw. Mir ist nicht bekannt, dass Compiler andere Hersteller diese DLLs durch eigene ersetzen.

    Also lies Dir die Erklärungen zu waveInOpen durch. Dort steht auch, wie es weitergeht.

    Wenn Du immer noch keine Ahnung hast, wie Du es anfangen sollst - auf der CD zum Petzold sind fix-und-fertige Programme namens Record1 ... Record3 (Chap22) vorhanden. Genau das was Du brauchst. Nur noch compilieren und linken: fertig!

    Hast Du Fragen im Detail zu den wave...-Funktionen - stelle sie, Dir wird geholfen.

    Blackbird



  • also langsam zweifel ich an meinem verstand.

    das waveinxxx waveoutxxx funktionen auf win-api´s sind das wei´ß ich auch.

    ich will doch nur ein beispiel haben, das erstens auf callbacks basieren, ohne jeglicher anderen win-api (ausser waveinxxx waveoutxxx funktionen).
    das moechte ich deshlab so haben, damit ich untferscheiden kann, was nun zur audio api gehoert und was nicht. ich verwende ansich sonst auch viele sachen der win-api, aber halt nicht das windows message system. und das bringt mich einfach zuviel durcheinander.

    also einfach nur z.b. den source eines konsolen-proggies, das mittels waveinxxx funktionen und eines mehrfachbuffers einen recorder darstellt. die erklaerung in der MSN ist fuer mich nicht durchschaubar, deshalb dieser besondere und scheinbar fuer einige nichtverstaendliche wunsch. ich brauch nur die erklaerung dafuer, wann und wie ich die funktionen benutzen muß.

    Meep Meep


Anmelden zum Antworten