![]() |
|
#1
|
|||
|
|||
![]() Как можно файлы (mp3, avi и т.д.) запихать в экзэшник?
чтоб не тоскать с ним файлы, а чтоб всё было внутри.. а также как их проигрывать... |
#2
|
|||
|
|||
![]() По поводу екзешника незнаю, а вот в файл ресурсов помоему все это запихнуть вполне реально. После загружать по надобности.
Вот тут есть кое что http://www.delphisources.ru/pages/faq/file_system.html |
#3
|
|||
|
|||
![]() Блин йа слишком тупой чтоб понять ат туда чёнить))
Там по ВаВ описано, я с мп3 несмагу организовать... В акзэшник роде пихается но по примеру оч трудно понять как... У кого мегамозг? ![]() ![]() |
#4
|
|||
|
|||
![]() http://www.delphisources.ru/pages/fa...av_in_exe.html
Здесь сказано как привязать файл к exe'шнику (пример там про WAV-файл, но, по большому счету, это не важно). А засада то не в этом, а в том, что в Delphi файлы mp3 может проигрывать компонент MediaPlayer только в том случае, если в системе установлен декодер. Если есть 100% уверенность, что на том компе, куда потащишь свою прогу, этот декодер установлен, то будет тебя ляпота, иначе конфуз. Без какого-либо напряга привязываются к exe'шнику и проигрываются файлы WAV, но, видно, это не твой случай. Вообще то, не шибко хорошая идея засовывать звуковые файлы в exe'шник. Нормальные пацаны этого не делают. Слишком много хлопот при необходимости что-либо изменить. Последний раз редактировалось san-46, 25.04.2008 в 12:33. |
#5
|
|||
|
|||
![]() b32rcc.exe запускаеца чёта в окошке командной строки милькает и закрываеца...
Как запихнуть файл в *.rc а затем в рес... у меня есть прога Ресурс хакер с помощью неё можносделать ресурс? |
#6
|
|||
|
|||
![]() В файл .rc ничего запихивать не надо, кроме строки текста (или строк, если звуковых файлов больше одного: один файл - одна строка).
Создаешь текстовый файл (пустой), пишешь туда строку, для примера, SOUNDA RCDATA LOADONCALL shum.mp3 здесь: SOUNDA - твое, какое хочешь, наименование ресурса (заглавные латинские буквы - в дальнейшем не будет проблем); RCDATA и LOADONCALL - служебные слова для компилятора (RCDATA - тип сохраняемого ресурса: "определяемый пользователем"); shum.mp3 - имя файла, который необходимо подцепить и, который компилятор должен, естественно, найти, т.е. он должен находится там же где и файл .rc. Сохраняешь этот текстовый файл с расширением .rc (имя файла по своему усмотрению, например, snd.rc). Дальше компилируешь этот файл с помощью компилятора ресурсов через командную строку: brcc32.exe snd.rc Компилятор консольный, поэтому никаких окон не появиться. Если нужен отчет о его работе (ошибки, допустим, посмотреть), то надо в командной строке добавить создание файла отчета: brcc32.exe snd.rc > log.txt Компилятор создаст файл log.txt, в котором и можно будет посмотреть что там при трансляции приключилось. Если будет все в порядке, то сформируется файл ресурса с тем же именем, что и rc, но с расширением .res (в этом примере snd.res), куда компилятором и будет "запихнут" звуковой (видео) файл, вернее, его содержимое. Как с этим ресурсом работать - это уже другая песня. А слова у песни такие. В коде главной формы дописываешь строку: Код:
{$R *.dfm} {$R snd.res} //добавленная строка Так как этот проигрыватель умеет работать только с файлами (для mp3), то следующая задача вытащить содержимое ресурса в файл (временный, который потом можно будет удалить). Сохранить ресурс в файл можно так: Код:
procedure TForm1.Button1Click(Sender: TObject); var ResS : TResourceStream; begin ResS := TResourceStream.Create(hInstance, 'SOUNDA', RT_RCDATA); try ResS.SaveToFile('000000.mp3'); //имя файла как пример, а расширение как у оригинального файла finally ResS.Free; end; end; Дальше, чтобы проиграть файл нужно подцепить его к проигрывателю, открыть его и дать команду на воспроизведение. Код:
MediaPlayer1.FileName := '000000.mp3'; MediaPlayer1.Open; MediaPlayer1.Play; Последний раз редактировалось san-46, 26.04.2008 в 10:02. |
#7
|
|||
|
|||
![]() Спасибо огромное!!!!!
![]() |