Функция PlaySound() не воспроизводит звук

Первый вопрос, извините, если я что-то не так делаю:S. Я пытаюсь зациклить фоновую звуковую дорожку во время игры, созданной в окне консоли. Это часть группового проекта. Игра работает нормально, но я просто не могу воспроизвести звуковую дорожку с помощью функции 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;
}

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

1 ответ

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

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

Другие вопросы по тегам