Главная страница
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.007 c
2-1284703280
Abcdef123
2010-09-17 10:01
2010.12.05
Как временно заморозить отрисовку формы?


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


15-1283183477
puding
2010-08-30 19:51
2010.12.05
диалоговое окно.


15-1282732731
Kerk
2010-08-25 14:38
2010.12.05
Макрос, Excel и интернет


15-1283074778
Кто б сомневался
2010-08-29 13:39
2010.12.05
Bad кластера