Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-11990
Stas
2003-12-19 09:13
2004.01.05
Сохранение параметров формы


1-11970
Rradion
2003-12-19 13:45
2004.01.05
Хлопцы, а чо это у меня Ceil не работает? :)


1-11959
aser
2003-12-19 16:28
2004.01.05
Пустая форма в 368128 bytes ?


14-12053
E1
2003-12-09 17:18
2004.01.05
Вот друзья, зацените что фотошоп с людями делает =))


6-12014
Elisa
2003-10-31 12:13
2004.01.05
отправка сообщения с почтового ящика





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский