Форум: "Основная";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];
ВнизДобавить ресурс Найти похожие ветки
← →
AleKo (2003-12-19 07:24) [0]Добрый день господа!
Подскажите, как мне грамотно добавить ресурс в файл ресурсов (*.res) миди файл так чтобы я смог воспроизвести его при помощи процедуры PlaySound().
← →
AleKo (2003-12-19 08:50) [1]?
← →
Anatoly Podgoretsky (2003-12-19 08:57) [2]Добавлять надо в *.rc
Воспроизвести данной функцией все равно не получится.
← →
alex_*** (2003-12-19 09:03) [3]делаещшь .rc файл, прописываешь ресурс ID_RES RCDATA xxx.mid
и при нужде вытаскиваешь оттуда
← →
AleKo (2003-12-19 09:43) [4]Anatoly Podgoretsky у меня литература в которой сказано что это свмый лучший способ и пример
PlaySound("Имя Рес",0,SND_RESOURCE);
← →
Serge (2003-12-19 09:49) [5]
В файл MyWave.rc пишешь:
MyWave RCDATA LOADONCALL MyWave.wav
brcc32.exe MyWave.rc, получаешь MyWave.res.
В своей программе пишешь:
--------------------------------------------------------------------------------
{$R MyWave.res}
Все!
Предупреждая следующий твой вопрос "а как прочитать wave-файл из исполняемого файла?"
--------------------------------------------------------------------------------
procedure RetrieveMyWave;
var
hResource: THandle;
pData: Pointer;
begin
hResource:=LoadResource( hInstance, FindResource(hInstance, "MyWave", RT_RCDA
TA));
try
pData := LockResource(hResource);
if pData = nil then
raise Exception.Create("Cannot read MyWave");
// Здесь pData указывает на MyWave
// Теперь можно, например, проиграть его (Win32):
PlaySound("MyWave", 0, SND_MEMORY);
finally
FreeResource(hResource);
end;
end;
← →
alex_*** (2003-12-19 09:51) [6]ну раз написано, так и делай. Остается только поместить в ресурс нормально
← →
AleKo (2003-12-19 09:53) [7]Спасибо! Буду пробовать.
← →
Anatoly Podgoretsky (2003-12-19 09:53) [8]AleKo (19.12.03 09:43) [4]
Ссылочку на такую кривую литературу, но я думаю она не причем, проблема не в литературе.
← →
alex_*** (2003-12-19 10:02) [9]а почему кривая литература? В Win SDK тоже сказано что можно напрямую из ресурсов тащить при флаге SND_RESOURCE. Правда лично я не пробовал PlaySound midi проигрывать, но может оно и все равно. А отдельно ресурс можно не делать. ПРи добавлении в проект .rc файла ресурс компилится в res вместе с проектом и включается в итоговый бинарный файл.
← →
AleKo (2003-12-19 10:11) [10]Delphi Советы программистов под редакцией В.Озерова. стр 375
← →
AleKo (2003-12-19 10:40) [11]Ошибочка у Serge в примере
вместо
PlaySound("MyWave", 0, SND_MEMORY);
нужно указать
PlaySound(pData,0,SND_MEMORY);
← →
alex_*** (2003-12-19 10:55) [12]нет. по имени к ресурсу обращение идет. но это мелочи, главное направление определили.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c