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

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

присоединение файла [D6, XP]


Страницы:   1 2

Andrey235 ©   (2005-09-28 09:28:00) 

как присоединить файл *.waw или *.mp3 к моему exe_шнику?


Starcom   (2005-10-01 17:00:00) [1]

Gydvin ©   (01.10.05 16:15) [21]

Бай! ;{


Gydvin   (2005-10-01 16:15:00) [2]

Starcom ©   (01.10.05 15:33) [20]

Несмотрел, некогда


Starcom   (2005-10-01 15:33:00) [3]

Gydvin ©   (01.10.05 14:53) [19]

Всё О'Кей! Так в чём же баг!


Gydvin   (2005-10-01 14:53:00) [4]

Не знаю что у вас попробуйте так:

в Mywave.rc написать
MyWave Wave MyWave.wav

а в буттоне
PlaySound('mywave', hInstance, SND_RESOURCE or SND_SYNC);

только опробывал все ровно.


Starcom   (2005-10-01 14:28:00) [5]

Ну и Шо! Или семечки полузгаем! :)


Starcom   (2005-10-01 11:51:00) [6]

Andrey235   (30.09.05 13:37) [11]

У меня тоже самое!

Мастера что за неточность в источниках!


Starcom   (2005-10-01 11:32:00) [7]

Джо ©   (01.10.05 02:30) [15]

Мастера в примерах всегда про это забывают! Пасибо!

С Уважением Starcom! :)


Джо   (2005-10-01 02:30:00) [8]


>  [14] Starcom ©   (01.10.05 01:23)

uses MMSystem;


Starcom   (2005-10-01 01:23:00) [9]

Gydvin ©   (29.09.05 15:39) [9]

Сделал как вы и написали и вот что пишет компилятор
может чтото надо в юзес написать или нет...

Build
 [Error] MyRegistry.pas(67): Undeclared identifier: 'PlaySound'
 [Error] MyRegistry.pas(67): Undeclared identifier: 'SND_MEMORY'


z007   (2005-09-30 21:23:00) [10]

2Fay

>> Другой вариант - дописывать файл в конец exe,
>>Извращение. Ахтунг!

вполне распространенная практика в установщиках, некоторых презениациях , в проекторе Flash.


Gydvin   (2005-09-30 14:59:00) [11]

Только проигрывается она из WAV а не из res

Быть токого немогет


Andrey235   (2005-09-30 13:37:00) [12]

Только проигрывается она из WAV а не из res При удалении wav и rc прога выдаёт звук ошибки
функция  PlaySound('MyWave', 0, SND_MEMORY);
с последним параметром SND_MEMORYне работает ставишь SND_SYNC и всё нормально...
а можно ли проигрывать res не через WIN32


Andrey235   (2005-09-30 09:18:00) [13]

компилишь нажимаешь буттон  зазвучит музыка, овации!


Gydvin   (2005-09-29 15:39:00) [14]

Andrey235   (28.09.05 16:10) [2]
ни чё не понял


Чего ж тут непонятного, я сам учился по этому примеру и все вышло с первой попытки.

Кидаешь свой wav  в папку пректа назови его MyWave.wav
создай новый текстовый файл напиши там

MyWave RCDATA LOADONCALL MyWave.wav
сохрани закрой, переменуй его в MyWave.rc
далее у тя в меню пуск/ выполнить там пишешь

brcc32.exe полный путь /MyWave.rc, ///полный путь в смысле полный путь до твоего MyWave.rc
жмешь ок в твоей папке проекта должен появится MyWave.res
в своей юните где {$R *.dfm}
пишешь
{$R MyWave.res}  

кидаешь button1  в обработчик которого добавляешь

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;


компилишь нажимаешь буттон должна зазвучать музыка, овации!


Gydvin   (2005-09-29 15:12:00) [15]

Потом из ресурса загружаем и проигрываем. Правда, mp3 вряд ли удастся прочитать как рассказал Gydvin:(

А это и так для wav, для mp3 действительно (наско-ко я знаю) надо извлекать на хард и потом проигрывать, хотя может я и ошибаюсь (как-то незадавался этой проблемой)


Fay   (2005-09-29 14:09:00) [16]

2 z007 (29.09.05 1:40) [6]
>> Другой вариант - дописывать файл в конец exe,
Извращение. Ахтунг!


z007   (2005-09-29 01:40:00) [17]

Мастера мимо этого раздела без шуток не ходят...
Gydvin дал старый, но, действительно, не сразу понятный ответ.
"Где скачать файл MyWave.wav?" :)
Без него ничего не получается...
На самом деле есть 2 способа:
1. Действительно, использовать ресурсы. Но на сегодня уже давно гораздо удобнее использовать встраиваемые в IDE редакторы ресурсов проекта (такой был, кажется в rxlib).
Потом из ресурса загружаем и проигрываем. Правда, mp3 вряд ли удастся прочитать как рассказал Gydvin:(
Боюсь, что ресурс придется извлекать во временный файл - ч/з ResourceStream(?).
2. Другой вариант - дописывать файл в конец exe, потом его оттуда читать (тоже, боюсь, во временный файл) и делать с ним что заблагорассудится.
Второй вариант хорош тем, что на стадии компиляции файл не присоединяется, можно дописать его к уже готовой программе (или dll) в т.ч. чужой. Этим же и плох.


Profi   (2005-09-28 20:55:00) [18]

Andrey235   (28.09.05 16:10) [2]
Попарся и все получится.


Кефир87   (2005-09-28 16:40:00) [19]


> Andrey235   (28.09.05 16:10) [2]
>
> ни чё не понял


Так может и не стоит тебе этого делать, раз таких простых весчей не понимаешь. Я имею в виду "всему свое время"...


Джо   (2005-09-28 16:31:00) [20]


>  [2] Andrey235   (28.09.05 16:10)
> ни чё не понял

Это плохо.


Страницы:   1 2

Наверх

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