2016-06-26 18 views
0

Erste Frage, tut mir leid, wenn ich etwas nicht richtig mache: S. Ich versuche, eine Hintergrundaudiospur zu loopen, während ein im Konsolenfenster erstelltes Spiel abgespielt wird. Dies ist Teil eines Gruppenprojekts. Das Spiel läuft gut, aber ich kann die Audiospur einfach nicht mit der PlaySound() Funktion wiedergeben. Dies ist ein Testprogramm, das ich gemacht habe, um das Problem herauszufinden.PlaySound() Funktion wird keinen Ton abspielen

#include <iostream> 
#include <windows.h> 
#include <mmsystem.h> 

using namespace std; 

int main() 
{ 

    PlaySound(TEXT("D:\\CodeBlocks:\\Programming Work:\\SoundTest:\\castor.wav"), NULL, SND_FILENAME|SND_ASYNC|SND_LOOP); 
    if(PlaySound(TEXT("D:\\CodeBlocks:\\Programming Work:\\SoundTest:\\castor.wav"), NULL, SND_FILENAME|SND_ASYNC|SND_LOOP)) 
    { 
     cout << "It's Working." << endl; 
    } 
    else 
    { 
     cout << "It's not working." << endl; 
    } 
    cout << "Hello world!" << endl; 

    return 0; 
} 

Mein Testfall liefert true (oder „Es funktioniert.“), Und als ich versuchte es in der Schule Computerlabor, es würde Schleife den Standard-Windows-Fehler Ton, der abgespielt wird, wenn die Funktion nicht finden kann die Datei, die Sie angegeben haben, obwohl ich den gesamten Dateipfad angegeben habe. Ich kann nicht herausfinden, warum es die Datei nicht finden kann, ich habe vierfach überprüft, dass es sich tatsächlich dort befindet, wo ich den Dateipfad geschrieben habe, und es scheint immer noch nicht in der Lage zu sein, es zu finden. Ich habe versucht, beide MP3 und WAV-Formate für die Audiodatei zu verwenden. Wer weiß was los ist? (Anmerkung: Der Linker muss die Winmm Bibliothek für diese gegeben werden)

+2

Sie sollten keine Doppelpunkte nach jedem Ordner, d , e, 'D: \\ CodeBlocks \\ Programmieren von Arbeit \\ SoundTest \\ castor.wav' – Rakete1111

Antwort

-1

Try Pfad Stil wie folgt zu verwenden:

"D:/CodeBlocks:/Programming Work:/SoundTest:/castor.wav"

Verwenden wie diese alle für Ihre Wege und dies sollte funktionieren.

+0

Sie haben eine neue (oder zumindest nicht idiomatische) Syntax eingeführt, indem Sie ohne Grund auf die Vorwärtsstriche umschalten nicht lösen das _actual_ Problem, das ist alles überflüssige Doppelpunkt. –

0

Danke Jungs, ich fand die tatsächlichen Problem, es war nicht einmal Code die ganze Zeit. Es stellte sich heraus, dass meine Audiodatei (castor.wav) nicht im wav-Format war, was von der PlaySound() - Funktion verlangt wird, obwohl der Computer mir gesagt hat, dass es .wav war (Auch wenn ich die Eigenschaften der Datei zeigte sagte, es war im wav-Format).

Das ist, weil ich versucht habe, es von einem .mp3 umzuwandeln, indem ich einfach .mp3 in .wav ändere, sollte es besser wissen. Nach der Verwendung eines tatsächlichen Konvertierungsprogramms (und dem Entfernen des genauen Dateipfades und einfach dem Geben von TEXT ("castor.wav") funktioniert es wie ein Zauber. Danke für die Hilfe!

Verwandte Themen