TWindowsMediaPlayer проигрывание списка

Бектуров Роман
Дата: 29.11.2007 12:22:38
День добрый !

Возникла задача из списка проиграть файлы, использую TWindowsMediaPlayer, если я правильно понял документацию то окончание проигрования файла ловиться через событие

procedure TPlayer.PlayerPlayStateChange(ASender: TObject; NewState: Integer);
begin
if NewState = wmppsMediaEnded then
begin
FPlayer.URL := '...';
FPlayer.Controls.Play;
end
end;

так вот, такой способ не работает, т.е. после окончания проигрования первого файла второй не проигрывается, судя по всему плеер после события ещё что-то делает, если кто сталкивался, подскажите как правильно после окончания проигрования одного файла запустить проигрование следующего ?
Бектуров Роман
Дата: 29.11.2007 12:23:18
procedure TPlayer.PlayerPlayStateChange(ASender: TObject; NewState: Integer);
begin
  if NewState = wmppsMediaEnded then
  begin
    FPlayer.URL := '...';
    FPlayer.Controls.Play;
  end
end;
Бектуров Роман
Дата: 29.11.2007 12:27:02
сделал так:

procedure TPlayer.PlayerPlayStateChange(ASender: TObject; NewState: Integer);
begin
  if NewState = wmppsMediaEnded then
    PostMessage(handle, wm_user, 0, 0)
end;

потом обрабатываю сообщение, вроди работает но не уверен правильно ли это :-)
Бектуров Роман
Дата: 30.11.2007 10:08:58
up
alexprogr
Дата: 03.02.2008 07:04:29
Плиз расскажи поподробнее как сделал, ато у меня такаяже трабла

мое мыло alexprogr@mail.ru
Бектуров Роман
Дата: 04.02.2008 06:33:20
procedure TPlayer.PlayerPlayStateChange(ASender: TObject; NewState: Integer);
begin
  if NewState = wmppsMediaEnded then
    PostMessage(handle, wm_user, 0, 0)
end;

затем через TApplicationEvents ловим wm_user, в URL пишем следующий файл и говорим Play
Гаджимурадов Рустам
Дата: 04.02.2008 06:44:16

Бектуров Роман> затем через TApplicationEvents ловим wm_user

Через таймер не пробовал? :)


Posted via ActualForum NNTP Server 1.4

Бектуров Роман
Дата: 04.02.2008 08:08:54
Гаджимурадов Рустам

Бектуров Роман> затем через TApplicationEvents ловим wm_user

Через таймер не пробовал? :)


Posted via ActualForum NNTP Server 1.4


пробовал, но как оказалось состояние wmppsMediaEnded не является последним, сразу за ним следует состояние wmppsStopped, потому wmppsMediaEnded через таймер поймать невсегда получается :-)