Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.022 c
3-1081416502
wild_arg
2004-04-08 13:28
2004.05.02
Выбор максимума внутри групп


14-1081846814
human
2004-04-13 13:00
2004.05.02
Где можно найти на этом сайте


1-1082099234
Russko
2004-04-16 11:07
2004.05.02
Вопрос по построению графиков в Chart


3-1081346919
Koba
2004-04-07 18:08
2004.05.02
Базы данных


1-1081838469
Tornado
2004-04-13 10:41
2004.05.02
Работа со строками




   Наверх