PlaySound работает в Visual Studio, но не в автономном

Я пытаюсь воспроизвести файл WAV в C ++ с помощью Visual Studio.
Я помещаю файл «my.wav» в каталог моего проекта и использую код

PlaySound(TEXT("my.wav"), NULL, SND_FILENAME | SND_SYNC);

Я нажимаю кнопку воспроизведения (или F5 или даже Ctrl-F5), и он воспроизводит звук отлично.

Я открываю командную строку и захожу в Debug / и запускаю MyApp.exe, и при запуске проигрывает сообщение об ошибке.

Примечание: в идеале звук должен быть включен в исполняемый файл, поэтому я могу просто распространять исполняемый файл, и он будет работать. Я пытался поместить его в Resource.rc, но код, который я вижу во всех примерах

PlaySound( (char*)IDR_WAVE1, NULL, SND_RESOURCE | SND_SYNC );

даже не компилируется для меня. Жалуется на IDR_WAVE1, хотя это имя моего ресурса.

-1

Решение

Я немного заржавел на старой школе win32, но это было примерно так:

включите resource.h в ваш файл и используйте MAKEINTRESOURCE

PlaySound(MAKEINTRESOURCE(IDR_WAVE1), NULL, SND_RESOURCE | SND_SYNC );
0

Другие решения

Насколько я помню, вам нужно «связать» файл ресурсов с файлом сценария ресурса «.rc file» в Visual Studio, чтобы встроить его в файл .exe. В противном случае вам нужно загрузить его, как указывает @wilx.

0

По вопросам рекламы [email protected]