-
Sergey (13.04.08 15:16) [0]Не подскажите, как сделать ползунок, при перемещении которого изменялась бы скорость воспроизведения видео-файла?
-
AbrosimovA (14.04.08 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 (14.04.08 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х)
-
Для изменения скорости воспроизведения 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х)