Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.12.05;
Скачать: CL | DM;

Вниз

Изменение скорости воспроизведения видео   Найти похожие ветки 

 
Sergey   (2008-04-13 15:16) [0]

Не подскажите, как сделать ползунок, при перемещении которого изменялась бы скорость воспроизведения видео-файла?


 
AbrosimovA   (2008-04-14 16:07) [1]

Для изменения скорости воспроизведения DVD используется IDVDControl2:



procedure PlaySpeedDVD(Speed: double; Direction: integer);
var
 DvdControl2: IDVDControl2;
 DvdCmd: IDVDCmd;
begin
if Succeeded(FilterGraph.QueryInterface(IDVDControl2, DVDControl2)) then
 begin
   case Direction of
     0: DvdControl2.PlayForwards(Speed, DVD_CMD_FLAG_Flush, DvdCmd);
     1: DvdControl2PlayBackwards(Speed, DVD_CMD_FLAG_Flush, DvdCmd);
   end;
   DvdControl2 := nil;
   DvdCmd := nil;
 end;
end;

PlaySpeedDVD(3.0, 0); // Перемотка вперёд (скорость 3х)
PlaySpeedDVD(2.0, 1); // Перемотка назад (скорость 2х)


Для изменения скорости воспроизведения файла используется IMediaSeeking:



procedure PlaySpeedFile(Speed: double);
var MediaSeeking: IMediaSeeking;
begin
 if Succeeded(FilterGraph.QueryInterface(IMediaSeeking, MediaSeeking)) then
 begin
   MediaSeeking.SetRate(Speed);
   MediaSeeking := nil;
 end;
end;

procedure PlaySpeedDVD(Speed: double; Direction: integer);
var
 DvdControl2: IDVDControl2;
 DvdCmd: IDVDCmd;
begin
if Succeeded(FilterGraph.QueryInterface(IDVDControl2, DVDControl2)) then
 begin
   case Direction of
     0: DvdControl2.PlayForwards(Speed, DVD_CMD_FLAG_Flush, DvdCmd);
     1: DvdControl2PlayBackwards(Speed, DVD_CMD_FLAG_Flush, DvdCmd);
   end;
   DvdControl2 := nil;
   DvdCmd := nil;
 end;
end;

PlaySpeedFile(3.0); // Перемотка вперёд (скорость 3х)



 
AbrosimovA   (2008-04-14 16:09) [2]

Для изменения скорости воспроизведения DVD используется IDVDControl2:



procedure PlaySpeedDVD(Speed: double; Direction: integer);
var
 DvdControl2: IDVDControl2;
 DvdCmd: IDVDCmd;
begin
if Succeeded(FilterGraph.QueryInterface(IDVDControl2, DVDControl2)) then
 begin
   case Direction of
     0: DvdControl2.PlayForwards(Speed, DVD_CMD_FLAG_Flush, DvdCmd);
     1: DvdControl2PlayBackwards(Speed, DVD_CMD_FLAG_Flush, DvdCmd);
   end;
   DvdControl2 := nil;
   DvdCmd := nil;
 end;
end;

PlaySpeedDVD(3.0, 0); // Перемотка вперёд (скорость 3х)
PlaySpeedDVD(2.0, 1); // Перемотка назад (скорость 2х)


Для изменения скорости воспроизведения файла используется IMediaSeeking:



procedure PlaySpeedFile(Speed: double);
var MediaSeeking: IMediaSeeking;
begin
 if Succeeded(FilterGraph.QueryInterface(IMediaSeeking, MediaSeeking)) then
 begin
   MediaSeeking.SetRate(Speed);
   MediaSeeking := nil;
 end;
end;

procedure PlaySpeedDVD(Speed: double; Direction: integer);
var
 DvdControl2: IDVDControl2;
 DvdCmd: IDVDCmd;
begin
if Succeeded(FilterGraph.QueryInterface(IDVDControl2, DVDControl2)) then
 begin
   case Direction of
     0: DvdControl2.PlayForwards(Speed, DVD_CMD_FLAG_Flush, DvdCmd);
     1: DvdControl2PlayBackwards(Speed, DVD_CMD_FLAG_Flush, DvdCmd);
   end;
   DvdControl2 := nil;
   DvdCmd := nil;
 end;
end;

PlaySpeedFile(3.0); // Перемотка вперёд (скорость 3х)



 
GladiatorX ©   (2008-04-14 16:12) [3]

Для изменения скорости воспроизведения DVD используется IDVDControl2:



procedure PlaySpeedDVD(Speed: double; Direction: integer);
var
 DvdControl2: IDVDControl2;
 DvdCmd: IDVDCmd;
begin
if Succeeded(FilterGraph.QueryInterface(IDVDControl2, DVDControl2)) then
 begin
   case Direction of
     0: DvdControl2.PlayForwards(Speed, DVD_CMD_FLAG_Flush, DvdCmd);
     1: DvdControl2PlayBackwards(Speed, DVD_CMD_FLAG_Flush, DvdCmd);
   end;
   DvdControl2 := nil;
   DvdCmd := nil;
 end;
end;

PlaySpeedDVD(3.0, 0); // Перемотка вперёд (скорость 3х)
PlaySpeedDVD(2.0, 1); // Перемотка назад (скорость 2х)


Для изменения скорости воспроизведения файла используется IMediaSeeking:



procedure PlaySpeedFile(Speed: double);
var MediaSeeking: IMediaSeeking;
begin
 if Succeeded(FilterGraph.QueryInterface(IMediaSeeking, MediaSeeking)) then
 begin
   MediaSeeking.SetRate(Speed);
   MediaSeeking := nil;
 end;
end;

procedure PlaySpeedDVD(Speed: double; Direction: integer);
var
 DvdControl2: IDVDControl2;
 DvdCmd: IDVDCmd;
begin
if Succeeded(FilterGraph.QueryInterface(IDVDControl2, DVDControl2)) then
 begin
   case Direction of
     0: DvdControl2.PlayForwards(Speed, DVD_CMD_FLAG_Flush, DvdCmd);
     1: DvdControl2PlayBackwards(Speed, DVD_CMD_FLAG_Flush, DvdCmd);
   end;
   DvdControl2 := nil;
   DvdCmd := nil;
 end;
end;

PlaySpeedFile(3.0); // Перемотка вперёд (скорость 3х)




Страницы: 1 вся ветка

Текущий архив: 2010.12.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.005 c
2-1284440308
Hadroran
2010-09-14 08:58
2010.12.05
Показ записей по необходимости


15-1282879219
Дмитрий С
2010-08-27 07:20
2010.12.05
Оплата через assist или подобное.


2-1284550240
dimak
2010-09-15 15:30
2010.12.05
Поиск и переход в StringGrid`e


2-1284615492
b86
2010-09-16 09:38
2010.12.05
перетаскивание имаджев соединёных линией


6-1210699123
San1712
2008-05-13 21:18
2010.12.05
Какие есть функции в Windows Xp для управления раб столом ?