2016-06-26 3 views
0

Первый вопрос, извините, если я ничего не делаю правильно: S. Я пытаюсь зациклировать фоновый звуковой дорожку, пока играется игра, созданная в окне консоли. Это часть группового проекта. Игра работает нормально, но я просто не могу воспроизвести звуковую дорожку с помощью функции PlaySound(). Это тестовая программа, которую я попытался выяснить.Функция PlaySound() не воспроизводит звук

#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; 
} 

Мой тест возвращает истину (или «Это работает.»), И когда я попробовал его в школьном компьютерном классе, он будет петля окна по умолчанию ошибки тон на, который играет, когда функция не может найти указанный вами файл, хотя я дал ему весь путь к файлу. Я не могу понять, почему он не может найти файл, я проверил четыре раза, что он фактически находится там, где я написал путь к файлу, и он все еще кажется неспособным его найти. Я пробовал использовать оба формата .mp3 и .wav для аудиофайла. Кто-нибудь знает, что происходит? (примечание: Компоновщик должно быть дана библиотека WinMM для этого)

+2

Нельзя поместить двоеточия после каждой папки, i , e, 'D: \\ CodeBlocks \\ Работа по программированию \\ SoundTest \\ castor.wav' – Rakete1111

ответ

-1

Попробуйте использовать стиль этого пути:

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

использование, как это все для ваших путей, и это должно работать.

+0

Вы вводите новую проблему (или, по крайней мере, неидиоматическую) синтаксическую систему, изменяя ее на косые черты без причины, в то время как не решая _actual_ проблемы, которая является все лишними двоеточиями. –

0

Спасибо, ребята, я нашел актуальную проблему, это был даже не код. Оказывается, мой аудиофайл (castor.wav) на самом деле не был в формате wav, который требуется функцией PlaySound(), хотя компьютер говорил мне, что это был .wav (Даже когда я показывал свойства файла, это сказал, что он был в формате wav).

Это потому, что я попытался преобразовать его из .mp3, просто изменив .mp3 на .wav, должен был знать лучше. После использования фактической программы конверсии (и удаления точного пути к файлу и просто предоставления его TEXT («castor.wav») он работает как шарм. Спасибо за помощь!

Смежные вопросы