Форум: "Media";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Внизпроигрывать звуковой файл при старте Найти похожие ветки
← →
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 вся ветка
Форум: "Media";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.03 c