Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как вставить звуковой файл в тело программы? [D6]


Ego ©   (2005-09-11 14:22:00) 

Ситуация такая: мне нужна программа, которая во время выполнения будет проигрывать звук, находящийся в звуковом файле.Приходиться таскать этот файл за программой, что не есть хорошо.У меня появилась такая мысль: на стадии разработки создать об`ект или присвоить значение переменной, в которой сохранить, например в текстовом виде( хотя, совсем не обязательно ), код звукового файла.При компиляции этот код окажется внутри программы, а потом, в процессе работы программы, создать временный файл, который и проигрывать компонентом-проигрывателем...Это, правда, всё-равно, громоздко, но, хотя бы программа будет независима.
Может быть есть другие способы( лучше всего, средствами самой Delphi )?Или, может быть, этот вопрос уже задавался, или кто-то знает где найти материалы на эту тему, тогда, пожалуйста, дайте ссылку.


Ego   (2005-09-11 19:10:00) [1]

Здорово.Спасибо за ссылку - нашёл всё, что нужно...


Antonn   (2005-09-11 18:58:00) [2]

Ego ©   (11.09.05 18:51) [2]
можно звуковой файл поместить как ресурс в программу, а звук можно проиграть с помошью playsound. Сходи на http://www.delphiworld.narod.ru/, и в поиске задай "Ресурс". Вот от туда:

Сначала делаешь файл SOUND.RC, в нем строка вида: MY_WAV RCDATA TEST.WAV Компилишь чем-нибyдь в *.RES

Далее в тексте:

{$R полное_имя_файла_с_ресурсом}

var
 WaveHandle: THandle;
 WavePointer: pointer;
...
 WaveHandle := FindResource(hInstance, 'MY_WAV', RT_RCDATA);
 if WaveHandle <> 0 then
 begin
   WaveHandle := LoadResource(hInstance, WaveHandle);
   if WaveHandle <> 0 then
   begin
     ;
     WavePointer := LockResource(WaveHandle);
     PlayResourceWave := sndPlaySound(WavePointer, snd_Memory or

       SND_ASYNC);
     UnlockResource(WaveHandle);
     FreeResource(WaveHandle);
   end;
 end;
(С) Serg Vostrikov


Ego   (2005-09-11 18:51:00) [3]


> [1] Anton_K ©   (11.09.05 14:49)

Что ресурсы?


Anton_K   (2005-09-11 14:49:00) [4]

Ресурсы.


Наверх

Титульная страница Поиск, карта сайта Написать письмо