Первый вопрос, извините, если я что-то не так делаю: 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)
Спасибо, ребята, я нашел фактический проблема, это не было даже кода все время. Оказывается, мой аудиофайл (castor.wav) на самом деле не был в формате wav, который требуется функцией PlaySound (), хотя компьютер говорил мне, что это был .wav (даже когда я показывал свойства файла, он сказал, что это было в формате WAV).
Это потому, что я пытался преобразовать его из .mp3, просто изменив .mp3 на .wav, должен был знать лучше. После использования реальной программы конвертации (и удаления точного пути к файлу и простого указания ему TEXT («castor.wav») он работает как чудо. Спасибо за помощь!
Других решений пока нет …