Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

проигрывать звуковой файл при старте   Найти похожие ветки 

 
Alexis ©   (2003-12-24 19:39) [0]

Видел недавно одну прогу (только из одного exe-файла), при старте которой проигрывается музыка.Так вот вопрос-можно ли используя компонент Media Player каким-либо образом прикрепить mp3 файл к проге, чтобы потом mp3 с прогой не таскать, но mp3 проигрывался бы при старте.
Благодарю.


 
Stexen ©   (2003-12-26 23:46) [1]

Вообще-то можно записать в ресурсы проги по теории при запуске затем их считать и все...Ну можно способо для наркоманов еще: пишешь еще одно программу которая будет дописывать в конец твоего екзешника тот самый мп3 который тебе надо воспроизводить, потом в программе дописываешь процедуру которая будет считывать с опр точки X (=концу екзешника без мптрихи) мп3иху...затем все компилишь причем задай значение X допустим 0<N<|приблизительный размер|, затем компилишь смотришь размер екзешника, меняешь значение X на значение=размеру екзешника, затем опять все компилишь дописываешь другой прогой на конец екзешника мптриху и все работает...Работает потому что PE формат не проверяет целостность файла... всмысле размер... плюс есть тот что трудно будет найти ту самую мптриху плюс если все закодируешь и упакуешь то вообще ненайдут... вот ну это так извращенство...лучше используй первый способ


 
Intell ©   (2003-12-27 14:19) [2]

чтобы прокрутить звук без плеера
нужно использовать ф-цию api
в USES добавляете MMSYSTEM

PlaySound("c:\....\*.wav",0,SND_FILENAME)

------------------------------------------------------------------------------

sndPlaySound("c:\....\*.wav", SND_FILENAME or SND_SYNC)

------------------------------------------------------------------------------

implementation
{$R *.DFM}
{$R snddata.res}

PlaySound("c:\....\*", hInstance, SND_RESOURCE or SND_SYNC)

Желательно не использовать эти коды в FormShow, т.к пока не проиграет музыка, ваше
приложение не запустится. В случае если у вас длинный музыкальный файл, то пока он не
закончится прога не запустится, и вам прийдётся долго ждать.
Под Win9x не рекомендую решать эту проблему Ctrl-Alt-Del, комп виснет моментально!

Лучший пример:

 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

 const
 Flags = SND_RESOURCE or SND_ASYNC;

implementation

procedure TForm1.Button1Click(Sender: TObject);
begin
PlaySound("Click",0,flags);
end;

//Причём файл вшит в ресурс

Я думаю как вшить файл в ресурс вы знаете?


 
Alexis ©   (2003-12-27 14:27) [3]

При реализации предложенной Intell"ом исполняемый файл, как я понимаю будет весить больше ровно на размер mp3"шки ?


 
Intell ©   (2003-12-27 23:18) [4]

Вообще в моём примере можно только вшивать в ресурс WAV. С примером Stexen я не разбирался. Для меня это ново - вшивать MP3 в exe.


 
ZDima ©   (2003-12-29 10:24) [5]

Ясно, что пр3-ху нужно запихивать в ресурсы - это легко(brcc32.exe...)
Но вот как её играть из ресурсов, я не знаю (знаю как wav, а mp3 не знаю). В этом и есть главный вопрос, на который, я был бы рад получить ответ.


 
<Falcon>   (2004-02-02 17:02) [6]

На этом сайте есть статья, называется о хранении различной информации в ресурсах (помоему в разделе об играх), там есть непосредственно раздел о МР3 из ресурса.

>Желательно не использовать эти коды в FormShow, т.к пока не >проиграет музыка, ваше
>приложение не запустится. В случае если у вас длинный >музыкальный файл, то пока он не
>закончится прога не запустится, и вам прийдётся долго ждать.

 Глупости, используйте SND_RESOURCE or SND_АSYNC и все. Просто если использовать SND_SYNC, то значение функции PlaySound возвращается только после завершения воспроизведения.

>Под Win9x не рекомендую решать эту проблему Ctrl-Alt-Del, комп >виснет моментально!
 Тоже сильно сомневаюсь, у меня например все работает и без проблем на любой платформе.

Теперь, при использовании sndPlaySound Вам необходимо самому следить за освобождением и загрузкой ресурсов, иначе чревато утечками памяти.



Страницы: 1 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.03 c
3-1080867791
kay
2004-04-02 05:03
2004.05.02
Table1, DBGrid1, значения в верхнем и нижнем регистрах.


7-1078049289
Lexer
2004-02-29 13:08
2004.05.02
Кто и сколко печатает на принтере?


14-1081150358
Странник
2004-04-05 11:32
2004.05.02
Билл Гейтс лишился титула главного богача планеты


3-1081265323
Соловьев
2004-04-06 19:28
2004.05.02
Не могу восстановить БД


3-1081345040
Graver
2004-04-07 17:37
2004.05.02
BDE: Lock file has grown too large