Вопрос Дайте пример скрипт на создания инталятора с видео

Mekan

Мимокрокодил
Чтоб автоматичекси воспроизводилось на всех окнах инсталлера
 

Yaroslav950

Участник
@Mekan, https://krinkels.org/threads/faq-po-inno-setup.7/page-5 - так я же скинул(в самом внизу листай и увидешь). Там видео на примере botva,но если у вас просто не растянута картинка в установщике,то вы можете просто очистить - эту процедуру.
Код:
procedure CurPageChanged(CurPageID: Integer);
begin
DXvideoSetVisible(Video,False);
case CurPageID of
  wpWelcome:
    begin
    DXvideoSetVisible(Video,True);
    end;
end;
end;
 
Последнее редактирование:

Mekan

Мимокрокодил
@Yaroslav950, как его поставить на все диалоги теперь? Вообщем, кратко объясни, у меня тут Inno Setup Ultra 5.5.1 за двух дней ничего не вышло, только ошибки выдает
 

Yaroslav950

Участник
@Mekan,ну ошибки какие-то вы собираетесь хоть что-то скидывать,чтобы понять,что за ошибки у вас.
 

Mekan

Мимокрокодил
Тут каких значений вставить чтоб оно растянулось на вес окно, (ну хотяб почти вес окно)
Код:
function DXvideoAdd(aHwnd:HWND;FileName:PAnsiChar;volume,aLeft,aTop,aWidth,aHeight:Integer;Time:Double):Integer;external 'DXvideoAdd@files:IsDXvideo.dll stdcall';
// aHwnd - Хендл окна, на котором воспроизводится видео
// aFile - Видеофайл
// aLeft,aTop,aWidth,aHeight - Координаты, ширина и высота
// volume - начальная громкость
// Time - время от начала ролика, в секундах, на котором он встанет на паузу, при инициализации
procedure DXvideoSetPosition(DXV,aLeft,aTop,aWidth,aHeight:Integer);external 'DXvideoSetPosition@files:IsDXvideo.dll stdcall';
// aLeft,aTop,aWidth,aHeight - Новые координаты, ширина и высота
procedure DXvideoFullScreen(DXV:Integer);external 'DXvideoFullScreen@files:IsDXvideo.dll stdcall';
// воспроизведение во весь экран хз, нужно-ли
procedure DXvideoSetVisible(DXV:Integer;Show:Boolean);external 'DXvideoSetVisible@files:IsDXvideo.dll stdcall';
// показ-скрытие видео-окна в зависимости от значения Show: True -показать, False - скрыть
procedure DXvideoRun(DXV:Integer);external 'DXvideoRun@files:IsDXvideo.dll stdcall';
// Пуск воспроизведения
procedure DXvideoPause(DXV:Integer);external 'DXvideoPause@files:IsDXvideo.dll stdcall';
// Пауза воспроизведения
procedure DXvideoFree;external 'DXvideoFree@files:IsDXvideo.dll stdcall';
// освобождение видео. После этого управление невозможно, необходима инициализация заново.ъ

function  DXvideoGetVisible(DXV:Integer):Boolean;external 'DXvideoGetVisible@files:IsDXvideo.dll stdcall';
// Получение востояния видимости видео
function  DXvideoGetFinishedTime(DXV:Integer):Double;external 'DXvideoGetFinishedTime@files:IsDXvideo.dll stdcall';
// Получение длииы видеопотока в секундах
function  DXvideoGetCurrentTime(DXV:Integer):Double;external 'DXvideoGetCurrentTime@files:IsDXvideo.dll stdcall';
// Получение текущей позиции видеопотока в секундах
function  DXvideoSetTime(DXV:Integer;time:Double):Double;external 'DXvideoSetTime@files:IsDXvideo.dll stdcall';
// позволяет перейти на нужную точку видеопотока в секундах

//-------- Управление громкостью - только видеопоток, громкость системы не трогается-------
procedure DXvideoVolumeUp(DXV:Integer);external 'DXvideoVolumeUp@files:IsDXvideo.dll stdcall';
// Увеличение громкости воспроизведение
procedure DXvideoVolumeDown(DXV:Integer);external 'DXvideoVolumeDown@files:IsDXvideo.dll stdcall';
// Уменьшение громкости воспроизведения
//---------------------------------------------------
procedure DXvideoInit;external 'DXvideoInit@files:IsDXvideo.dll stdcall';
// Инициализируем обслуживание видеороликов. без этой команды работать будет.но скорей всего криво
//---------------------------------------------------
procedure DXvideoSynch(DXV1,DXV2:Integer);external 'DXvideoSynch@files:IsDXvideo.dll stdcall';
// синхронизация двух роликов по времени
// DXV1 - эталон, с которого берется мерка времени
// DXV2 - видео, которое нужно подогнать под эталон
//---------------------------------------------------

var
  Video: Integer;


procedure InitializeWizard;
begin
  ExtractTemporaryFile('{#Video}');
  Video:=DXvideoAdd(WizardForm.Handle, ExpandConstant('{tmp}\{#Video}'), 0, 0, 0, WizardForm.Width, 164, 0);  // Размеры самого видео и расположение его на форме(слева,сверху,снизу итд)
end;

procedure CurPageChanged(CurPageID: Integer);
begin
DXvideoSetVisible(Video,False);
case CurPageID of
  wpWelcome:
    begin
    DXvideoSetVisible(Video,True);
    end;
end;
end;

procedure DeinitializeSetup();
begin
  DXvideoFree;
end;
[/QUOTE]
[ATTACH type="full"]6669[/ATTACH]
 

Вложения

Mekan

Мимокрокодил
Стоп, я понял это надо было менять
Но теперь надписи не видны нельзя ли перенести видео на задний план, и желательно чтоб оно сыграла всех диалогах
 

Yaroslav950

Участник
@Mekan, ну вы можете уменьшать видео и вставлять в сам установщик. Размеры пишите те которые в самом видео(может можно воспроизводить видео Replay c повтором,надо поспрашивать у людей,такой функции я не увидел).Видео производится 1 раз.Ну если вы не подабвляли кнопки паузы старта и тд.

Video:=DXvideoAdd(WizardForm.Handle, ExpandConstant('{tmp}\{#Video}'), 0, 20, 50, WizardForm.Width, 164, 0);
0 - начальная громкость.(задается от 0 )
20 - отступ слева.
50 - отступ сверху.
0 - Time (время от начала ролика, в секундах, на котором он встанет на паузу, при инициализации).
 
Последнее редактирование:
Сверху