![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение скорости воспроизведения видео [D7, WinXP]
Sergey © (2008-04-13 15:16:00)Не подскажите, как сделать ползунок, при перемещении которого изменялась бы скорость воспроизведения видео-файла?
GladiatorX (2008-04-14 16:12:00) [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:00) [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х)
AbrosimovA (2008-04-14 16:07:00) [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х)