В файл .rc ничего запихивать не надо, кроме строки текста (или строк, если звуковых файлов больше одного: один файл - одна строка).
Создаешь текстовый файл (пустой), пишешь туда строку, для примера,
SOUNDA RCDATA LOADONCALL shum.mp3
здесь:
SOUNDA - твое, какое хочешь, наименование ресурса (заглавные латинские буквы - в дальнейшем не будет проблем);
RCDATA и LOADONCALL - служебные слова для компилятора (RCDATA - тип сохраняемого ресурса: "определяемый пользователем");
shum.mp3 - имя файла, который необходимо подцепить и, который компилятор должен, естественно, найти, т.е. он должен находится там же где и файл .rc.
Сохраняешь этот текстовый файл с расширением .rc (имя файла по своему усмотрению, например, snd.rc).
Дальше компилируешь этот файл с помощью компилятора ресурсов через командную строку:
brcc32.exe snd.rc
Компилятор консольный, поэтому никаких окон не появиться. Если нужен отчет о его работе (ошибки, допустим, посмотреть), то надо в командной строке добавить создание файла отчета:
brcc32.exe snd.rc > log.txt
Компилятор создаст файл log.txt, в котором и можно будет посмотреть что там при трансляции приключилось.
Если будет все в порядке, то сформируется файл ресурса с тем же именем, что и rc, но с расширением .res (в этом примере snd.res), куда компилятором и будет "запихнут" звуковой (видео) файл, вернее, его содержимое.
Как с этим ресурсом работать - это уже другая песня. А слова у песни такие.
В коде главной формы дописываешь строку:
Код:
{$R *.dfm}
{$R snd.res} //добавленная строка
На форму кидаешь TMediaPlayer. Если пользователю не надо видеть этот компонент, то устанавливаешь его свойство Visible в False.
Так как этот проигрыватель умеет работать только с файлами (для mp3), то следующая задача вытащить содержимое ресурса в файл (временный, который потом можно будет удалить). Сохранить ресурс в файл можно так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
ResS : TResourceStream;
begin
ResS := TResourceStream.Create(hInstance, 'SOUNDA', RT_RCDATA);
try
ResS.SaveToFile('000000.mp3');
//имя файла как пример, а расширение как у оригинального файла
finally
ResS.Free;
end;
end;
"SOUNDA" в параметрах - это то самое имя ресурса, которое ты определил в файле .rc. Другие параметры при создании ресурного потока оставляешь как они показаны в примере.
Дальше, чтобы проиграть файл нужно подцепить его к проигрывателю, открыть его и дать команду на воспроизведение.
Код:
MediaPlayer1.FileName := '000000.mp3';
MediaPlayer1.Open;
MediaPlayer1.Play;
Для видео файлов все делается так же, за исключением того, что в проигрывателе надо будет указать DeviceType для AVI и окно (свойство Display), как правило, какая-нибудь TPanel на форме, в котором видео будет проигрываться.