Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.05;
Скачать: 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 вся ветка

Текущий архив: 2004.01.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.033 c
14-12083
Митяй
2003-11-26 18:49
2004.01.05
---|Ветка была без названия|---


4-12205
ZEE
2003-11-04 15:09
2004.01.05
TextHeight без TCanvas


1-11979
k_len
2003-12-19 11:04
2004.01.05
Округление


3-11795
Мыш
2003-12-09 12:38
2004.01.05
пропадают введенные данные


9-11761
smilik
2003-06-15 12:08
2004.01.05
Файлы *.b3d