Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.003 c
15-1283183477
puding
2010-08-30 19:51
2010.12.05
диалоговое окно.


6-1230204686
Calligraff
2008-12-25 14:31
2010.12.05
Организация события OndblClick для TPageControl


4-1242124565
Zalum
2009-05-12 14:36
2010.12.05
передать и принять несколько параметров


2-1284382713
Eh
2010-09-13 16:58
2010.12.05
Параметры в TfrxFIBQuery


15-1282854584
Юрий
2010-08-27 00:29
2010.12.05
С днем рождения ! 27 августа 2010 пятница




   Наверх