Как вшить звук в exe c++

Написал прогу которая воспроизводит звуки при нажатии клавиши, но что бы она работала нужно таскать музыкальные файлы вместе с ней. Как добавить звук непосредственно в exe?


Ответы (1 шт):

Автор решения: Dafter

Создай файл ресурсов (.rc) и внутри определи все звуки, которые ты используешь.

Пример: я хочу воспроизвести звук из файла back.wav для этого я в проекте добавил файл sound.rc (название произвольное) и отредактировал его в текстовом редакторе, написав backsound WAVE back.wav (справа текущее название файла со звуком, слева то, как ты будешь указывать его в проекте)

В итоге проект у меня выглядит так:

введите сюда описание изображения

Где back.wav - мелодия
asd.rc - файл, содержащий строку backsound WAVE back.wav
Source.cpp - сам исполняемый код:

#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <mmsystem.h>

#pragma comment (lib , "winmm.lib")

int main(void)
{
    printf("Playback in progress.\nPress any key to exit...");
    PlaySoundA((LPCSTR)"backsound", NULL, SND_RESOURCE | SND_ASYNC);
    getchar();
    return 0;
}

По итогу, при сборке и запуске исполняемого файла звук спокойно воспроизводится.

Я не отрицаю, что вероятно мой метод - костыль т.к. я занимался этим первый раз и изучил все, что нашел в кратчайшие сроки, однако он функционирует и надеюсь поможет.
Сайты, которые я использовал для изучения: 1, 2, 3, 4, 5

→ Ссылка