2016-12-28 5 views
0

Как определить, что функция обратного вызова медиального воспроизведения перезапускает воспроизведение видео?Inno Setup - Как воспроизвести воспроизведение видео в библиотеке Inno Media

Я использую код от этого вопроса:
Inno Setup - video file with relative path as splash screen

procedure OnMediaPlayerEvent(EventCode, Param1, Param2: Integer); 
begin 
    if EventCode = EC_COMPLETE then 
    VideoForm.Close; { not close, start again, and again.... } 
end; 

PD: Извините за мой плохой английский.

+0

Вы пытаетесь вызвать 'DSPlayMediaFile'? –

ответ

1

Может быть, есть более элегантное решение, но тривиальное это просто переинициализировать воспроизведение видео:

procedure OnMediaPlayerEvent(EventCode, Param1, Param2: Integer); 
var 
    Width: Integer; 
    Height: Integer; 
begin 
    if EventCode = EC_COMPLETE then 
    begin 
    DSInitializeVideoFile(
     'd:\Video.avi', VideoForm.Handle, Width, Height, @OnMediaPlayerEvent); 
    DSPlayMediaFile; 
    end; 
end;