Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2010.12.05;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Media";
Текущий архив: 2010.12.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
15-1282887776
менеджер какого-то звена
2010-08-27 09:42
2010.12.05
Ёксель


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


4-1242206475
Head
2009-05-13 13:21
2010.12.05
Захват видео потока с устройств


2-1284409732
Zenith
2010-09-14 00:28
2010.12.05
Рисование на канве TImage


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский