sound abspielen



  • aqua5748 schrieb:

    Hallo,

    ich habe da ein Problem, ich würde gern eine wave-Datei über C-Code abspielen, nur leider bekomme ich es überhaupt nicht hin. Ich habe schon sehr viel gelesen ...

    Petzold zum Nachschlagen besorgen. Winapidoku zum Nachschlagen besorgen. SDK und WDK nach Infos durchforsten, Directx und MPI Api nach Hinweisen abklappern, Google nach Audioprogrammierung mit C absuchen, auf Seiten wie Amazon Gameprogramming und Co - Bücher nach Audioprogrammierung im Inhaltsverzeichnis überprüfen, eventuell besorgen.

    Ein Überblick über die Audioprogrammierung und erbrobte Herangehensweisen wäre natürlich ein guter Forumsmagazinartikel gewesen, wenn es den gegeben hätte, aber wieso über interessante Anwendungsfelder schreiben, wenn das Werkzeug doch an sich so wunderschön ist. 😉



  • Ok, dass mit Playsound ist gut! aber ich bekomme es einfach nicht hin!

    nehme ich das hier:
    PlaySound(TEXT("tetris_melodie.wav"), NULL,SND_SYNC);
    bleibt das Programm solange stehen bis das Lied fertig ist!

    ich will aber das das normale Programm weiterläuft während die Melodie abgespielt wird.

    dann hab ich gedacht das geht so:
    PlaySound(TEXT("tetris_melodie.wav"), NULL, SND_ASYNC);

    jetzt kommt aber keine Melodie mehr!

    was mach ich falsch?

    ich würde die Melodie auch gerne später wieder unterbrechen!
    Danke

    mfg aqua5748



  • Hmm, pack mal noch SND_FILENAME dazu.
    Ich würde auch relative Pfade vermeiden (bzw. zur Laufzeit den absoluten Pfad zusammenbauen)



  • ok danke, meinst du dann so ? :

    PlaySound(TEXT("D:\6. Semester\Projekt\Mein Projekt\Programmierung\TEST\TEST\tetris_melodie.wav"), NULL, SND_FILENAME && SND_ASYNC);

    mfg aqua5748



  • aqua5748 schrieb:

    "D:\6. Semester\Projekt\Mein Projekt\Programmierung\TEST\TEST\tetris_melodie.wav"

    geht gar nicht!

    "D:\\6. Semester\\Projekt\\Mein Projekt\\Programmierung\\TEST\\TEST\\tetris_melodie.wav"

    aqua5748 schrieb:

    SND_FILENAME && SND_ASYNC

    ebenfalls nicht richtig, sollte so aussehen (SND_FILENAME | SND_ASYNC)

    Ob der Funktionsaufruf richtig ist, kann ich dir nicht sagen, das andere ist mir beim überfliegen so aufgefallen.



  • PlaySound(filename, NULL, SND_ASYNC | SND_FILENAME | SND_NODEFAULT);
    


  • des funktioniert so leider nicht!!!

    PlaySound(TEXT("D:\\6. Semester\\Projekt\\Mein Projekt\\Programmierung\\TEST\\TEST\\tetris_melodie.wav"), NULL, SND_ASYNC | SND_FILENAME | SND_NODEFAULT);

    also so hab ichs probiert, so geht es nicht!!!

    habt ihr sonst noch eine idee?

    Danke
    mfg aqua5748



  • Was sagt denn der Rückgabewert?



  • also die funktion gibt eine 1 zurück !!!



  • kann das sein dass man diese Töne nur an bestimmten Ausgängen des PC's hört? den ich habe im Moment nur einen Kopfhörer über USB angeschlossen!


  • Mod

    PlaySound gibt nur auf dem Standardwiedergabe Gerät aus.
    Klick auf das Lautstäke Symbol in der Befehlsleiste mit der rechten Maus.
    Gehe auf Wiedergabegeräte und schau was als Standard definiert ist.



  • ok also das ist es auch nicht, die kopfhörer sind standart!!!



  • Versuch mal bei Projekt -> Eigenschaften -> Linker -> Befehlszeile
    die Winmm.lib bei weiteren Optionen hinzuzufügen....

    Und dann

    PlaySoundA("D:\\...",NULL,SND_ASYNC | SND_FILENAME);
    

    Ich hatte auch den Fehler aber dann hats geklappt^^



  • ja und wie kann ich die winmm.lib da einfügen ? habe dass doch schon mit der Befehlszeile:

    #pragma comment(lib,"winmm.lib")

    gemacht!



  • einfach winmm.lib reinschreiben ^^
    #pragma comment(lib, "winmm.lib") kommt nur an den Anfang deiner .cpp datei



  • oke, das hab ich auch probiert, ich habe das winmm.lib reingeschrieben und mein code lautet:

    #include <windows.h>
    #include <stdio.h>
    #include <stdlib.h>

    #include <mmsystem.h>
    #pragma comment(lib,"winmm.lib")

    int main()
    {
    int i;
    i=0;
    i= PlaySoundA("D:\\6. Semester\\Projekt\\Mein Projekt\\Programmierung\\TEST\\TEST\\tetris_melodie.wav", NULL, SND_ASYNC | SND_FILENAME | SND_NODEFAULT);
    i=5+1;

    }

    aber es geht trotzdem nicht !!!



  • Ich hab ne winapi geschrieben mit grundgerüst und Hinterher bei der Callback Funktion PlaySoundA abspielen lassen

    Als ich dein Codeblock ausgeführt habe waren nur fehler da ...
    Versuch erstmal ein Normales WinApi Grundgerüst zu bauen und dann PlaySound einzubauen..

    Was willst du denn mit deinem Programm bezwecken?



  • oke, also ich habe ein Programm dass durchläuft und an einer bestimmten Stelle soll ein wave-sound abgespielt werden, aber das Programm soll dann während dem spiel weiterlaufen, und sobald man an einer bestimmten stelle im Programm ist, soll die wave-datei stoppen!



  • Da past am besten ne Library, z.B eine die Extra Audio Funktionen besitzt
    [url] http://www.fmod.org/index.php/download[/url]

    Die Anleitung zum Installieren und den Funktionen gibt es hier:
    http://www.gamedev.net/page/resources/_/reference/programming/sweet-snippets/a-quick-guide-to-fmod-r2098

    🤡



  • oke aber was soll ich den da runterladen, da gibt es so viele verschiedene fmod sachen, ich brauch ja eigentlich nur die header-datei und die lib oder ?

    Danke
    mfg aqua5748


Anmelden zum Antworten