Вожусь с плеером.Ктонибудь не подскажет одну вещь: допустим я использую свой плеер по умолчанию (
if not ('' = System.ParamStr(1)) then with MediaPlayer1 do begin try Filename := System.ParamStr(1); {Ну и так далее...}
) Так вот когда я не закрывая первого экземпляра плеера открываю другой муз. файл, то открывается второй экземпляр плеера и там играет вторая мелодия. А я хочу чтобы 2-я мелодия играла в первом экземпляре.
Алгоритм такой: 1) Проверяешь при старте программы (onCreateForm) не запущен ли еще один экземпляр твоего плеера. Как сделать смотри Получение списка запущенных приложений 2) Если экземпляр есть, то шли сообщение ему (PostMessage), в котором указано имя нового файла для воспроизведения и завершай работу программы (только не первого экземпляра ;) ). 3) Организуй обработку своего события (т.н. сообщения - например const WM_ADD_IN_PLAYLIST = WM_USER + 1010; ) как это сделать - пример из стандартного хелпа:
//The following code handles a custom message that the application sends to itself when a file is ready for reading.
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean); begin if Msg.message = WM_FILEREADY then begin Memo1.Lines.LoadFromFile(StrPas(PChar(Msg.lParam))); Handled := True;
end;
{ for all other messages, Handled remains False } { so that other message handlers can respond } end;
Удачи
Сообщение отредактировано: hiv -
--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!