Вниз
Скачать: CL | DM;

Добавить ресурс   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.015 c
14-12110
Undert
2003-12-14 18:13
2004.01.05
Арестовали Хусейна...


1-11963
AndrewK
2003-12-19 12:46
2004.01.05
Вопрос по TVirtualStringTree.


1-11846
Alex-11111
2003-12-20 03:36
2004.01.05
Как в Richedit вывести список


6-12027
TUser
2003-11-05 15:03
2004.01.05
IEGrabber


1-11854
aser
2003-12-18 18:03
2004.01.05
TForm -close




   Наверх