亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.pas

?? DSPack is a set of Components and class to write Multimedia Applications using MS Direct Show and Di
?? PAS
字號:
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, DSPack, StdCtrls, ComCtrls, dsutil, Buttons, ToolWin,
  ImgList, SelectURL, ExtCtrls, DirectShow9;

  
type
  TFormPlayWin = class(TForm)
    FilterGraph: TFilterGraph;
    VideoWindow: TVideoWindow;
    MainMenu: TMainMenu;
    OpenDialog: TOpenDialog;
    FileMenu: TMenuItem;
    OpenMenu: TMenuItem;
    OpenURLMenu: TMenuItem;
    ExitMenu: TMenuItem;
    TrackBar: TDSTrackBar;
    ImageList: TImageList;
    StatusBar: TStatusBar;
    ToolBar: TToolBar;
    btPlay: TToolButton;
    btPause: TToolButton;
    btStop: TToolButton;
    ToolButton1: TToolButton;
    SoundLevel: TTrackBar;
    btFullScreen: TToolButton;
    PopupMenu: TPopupMenu;
    Play1: TMenuItem;
    Pause1: TMenuItem;
    Stop1: TMenuItem;
    FullScreen1: TMenuItem;
    log: TMemo;
    ToolButton2: TToolButton;
    VideoControl: TPanel;
    Brightness: TTrackBar;
    Contrast: TTrackBar;
    Hue: TTrackBar;
    Saturation: TTrackBar;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    PositionX: TTrackBar;
    PositionY: TTrackBar;
    SizeX: TTrackBar;
    SizeY: TTrackBar;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    AspectRatio: TCheckBox;
    procedure OpenMenuClick(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure btPlayClick(Sender: TObject);
    procedure btPauseClick(Sender: TObject);
    procedure btStopClick(Sender: TObject);
    procedure TrackBarTimer(sender: TObject; CurrentPos,
      StopPos: Cardinal);
    procedure SoundLevelChange(Sender: TObject);
    procedure ExitMenuClick(Sender: TObject);
    procedure OpenURLMenuClick(Sender: TObject);
    procedure btFullScreenClick(Sender: TObject);
    procedure FilterGraphDSEvent(sender: TComponent; Event, Param1,
      Param2: Integer);
    procedure AspectRatioClick(Sender: TObject);
    procedure BrightnessChange(Sender: TObject);
    procedure ContrastChange(Sender: TObject);
    procedure HueChange(Sender: TObject);
    procedure SaturationChange(Sender: TObject);
    procedure PositionChange(Sender: TObject);
  private
    { D閏larations priv閑s }
  public
    { D閏larations publiques }
    procedure ReadStreamProperties;
  end;

var
  FormPlayWin: TFormPlayWin;
  ProcAmpControl: TVMR9ProcAmpControl;
  NormalizedRect: TVMR9NormalizedRect;
implementation

{$R *.dfm}

procedure TFormPlayWin.OpenMenuClick(Sender: TObject);
begin
  if OpenDialog.Execute then
  begin
    if not FilterGraph.Active then FilterGraph.Active := true;
    FilterGraph.ClearGraph;
    FilterGraph.RenderFile(OpenDialog.FileName);
    VideoWindow.PopupMenu := PopupMenu;
    SoundLevel.Position := FilterGraph.Volume;
    FilterGraph.Play;
    ReadStreamProperties;
  end;
end;

procedure TFormPlayWin.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  // Important
  FilterGraph.ClearGraph;
end;

procedure TFormPlayWin.btPlayClick(Sender: TObject);
begin
  if not FilterGraph.Active then OpenMenuClick(nil)
                            else FilterGraph.play;
end;

procedure TFormPlayWin.btPauseClick(Sender: TObject);
begin
  FilterGraph.Pause;
end;

procedure TFormPlayWin.btStopClick(Sender: TObject);
begin
  FilterGraph.Stop;
end;

procedure TFormPlayWin.TrackBarTimer(sender: TObject; CurrentPos,
  StopPos: Cardinal);
begin
  StatusBar.SimpleText := format('Position: %s Duration: %s',
    [TimeToStr(CurrentPos / MiliSecPerDay), TimeToStr(StopPos / MiliSecPerDay)])
end;

procedure TFormPlayWin.SoundLevelChange(Sender: TObject);
begin
  FilterGraph.Volume := SoundLevel.Position;
end;

procedure TFormPlayWin.ExitMenuClick(Sender: TObject);
begin
  FormPlayWin.Close;
end;

procedure TFormPlayWin.OpenURLMenuClick(Sender: TObject);
begin
  FormSelectURL:= TFormSelectURL.Create(nil);
  if FormSelectURL.ShowModal = mrOK then
  begin
    if not FilterGraph.Active then FilterGraph.Active := true;
    FilterGraph.ClearGraph;
    FilterGraph.RenderFile(FormSelectURL.URL.Text);
    VideoWindow.PopupMenu := PopupMenu;
    SoundLevel.Position := FilterGraph.Volume;
    FilterGraph.Play;
  end;
  FormSelectURL.Free;
end;

procedure TFormPlayWin.btFullScreenClick(Sender: TObject);
begin
  VideoWindow.FullScreen := not VideoWindow.FullScreen;
  btFullScreen.Down := VideoWindow.FullScreen;
end;

procedure TFormPlayWin.FilterGraphDSEvent(sender: TComponent; Event,
  Param1, Param2: Integer);
begin
  log.Lines.Add(GetEventCodeDef(event))
end;

procedure TFormPlayWin.AspectRatioClick(Sender: TObject);
begin
  VideoWindow.VMROptions.KeepAspectRatio := AspectRatio.Checked;
end;

procedure TFormPlayWin.ReadStreamProperties;
var ProcAmpControlRange: TVMR9ProcAmpControlRange;
begin
  with (VideoWindow as IVMRMixerControl9) do
  begin
    ZeroMemory(@ProcAmpControlRange, SizeOf(ProcAmpControlRange));
    ProcAmpControlRange.dwSize := SizeOf(ProcAmpControlRange);
    ProcAmpControlRange.dwProperty := ProcAmpControl9_Contrast;
    if Succeeded(GetProcAmpControlRange(0, @ProcAmpControlRange)) then
    begin
      Contrast.Min := Trunc(ProcAmpControlRange.MinValue);
      Contrast.Max := Trunc(ProcAmpControlRange.MaxValue);
      Contrast.Position := Trunc(ProcAmpControlRange.DefaultValue);
      Contrast.Frequency := Trunc(ProcAmpControlRange.StepSize);
      Contrast.Enabled := True;
    end else
    begin
      Contrast.Min := 0;
      Contrast.Max := 0;
      Contrast.Position := 0;
      Contrast.Frequency := 0;
      Contrast.Enabled := False;
    end;

    ZeroMemory(@ProcAmpControlRange, SizeOf(ProcAmpControlRange));
    ProcAmpControlRange.dwSize := SizeOf(ProcAmpControlRange);
    ProcAmpControlRange.dwProperty := ProcAmpControl9_Brightness;
    if Succeeded(GetProcAmpControlRange(0, @ProcAmpControlRange)) then
    begin
      Brightness.Min := Trunc(ProcAmpControlRange.MinValue);
      Brightness.Max := Trunc(ProcAmpControlRange.MaxValue);
      Brightness.Position := Trunc(ProcAmpControlRange.DefaultValue);
      Brightness.Frequency := Trunc(ProcAmpControlRange.StepSize);
      Brightness.Enabled := True;
    end else
    begin
      Brightness.Min := 0;
      Brightness.Max := 0;
      Brightness.Position := 0;
      Brightness.Frequency := 0;
      Brightness.Enabled := False;
    end;

    ZeroMemory(@ProcAmpControlRange, SizeOf(ProcAmpControlRange));
    ProcAmpControlRange.dwSize := SizeOf(ProcAmpControlRange);
    ProcAmpControlRange.dwProperty := ProcAmpControl9_Hue;
    if Succeeded(GetProcAmpControlRange(0, @ProcAmpControlRange))then
    begin
      Hue.Min := Trunc(ProcAmpControlRange.MinValue);
      Hue.Max := Trunc(ProcAmpControlRange.MaxValue);
      Hue.Position := Trunc(ProcAmpControlRange.DefaultValue);
      Hue.Frequency := Trunc(ProcAmpControlRange.StepSize);
      Hue.Enabled := True;
    end else
    begin
      Hue.Min := 0;
      Hue.Max := 0;
      Hue.Position := 0;
      Hue.Frequency := 0;
      Hue.Enabled := False;
    end;

    ZeroMemory(@ProcAmpControlRange, SizeOf(ProcAmpControlRange));
    ProcAmpControlRange.dwSize := SizeOf(ProcAmpControlRange);
    ProcAmpControlRange.dwProperty := ProcAmpControl9_Saturation;
    if Succeeded(GetProcAmpControlRange(0, @ProcAmpControlRange)) then
    begin
      Saturation.Min := Trunc(ProcAmpControlRange.MinValue);
      Saturation.Max := Trunc(ProcAmpControlRange.MaxValue);
      Saturation.Position := Trunc(ProcAmpControlRange.DefaultValue);
      Saturation.Frequency := Trunc(ProcAmpControlRange.StepSize);
      Saturation.Enabled := True;
    end else
    begin
      Saturation.Min := 0;
      Saturation.Max := 0;
      Saturation.Position := 0;
      Saturation.Frequency := 0;
      Saturation.Enabled := False;
    end;

    if succeeded(GetOutputRect(0, @NormalizedRect)) then
    begin
      PositionX.Enabled := True;
      PositionY.Enabled := True;
      SizeX.Enabled := True;
      SizeY.Enabled := True;
    end else
    begin
      PositionX.Enabled := False;
      PositionY.Enabled := False;
      SizeX.Enabled := False;
      SizeY.Enabled := False;
    end;
  end;
end;

procedure TFormPlayWin.BrightnessChange(Sender: TObject);
begin
  ProcAmpControl.dwSize := sizeof(ProcAmpControl);
  ProcAmpControl.Brightness := Brightness.Position;
  ProcAmpControl.dwFlags := ProcAmpControl9_Brightness;
  with (VideoWindow as IVMRMixerControl9) do
    SetProcAmpControl(0, @ProcAmpControl);
end;

procedure TFormPlayWin.ContrastChange(Sender: TObject);
begin
  ProcAmpControl.dwSize := sizeof(ProcAmpControl);
  ProcAmpControl.Contrast := Contrast.Position;
  ProcAmpControl.dwFlags := ProcAmpControl9_Contrast;
  with (VideoWindow as IVMRMixerControl9) do
    SetProcAmpControl(0, @ProcAmpControl);
end;

procedure TFormPlayWin.HueChange(Sender: TObject);
begin
  ProcAmpControl.dwSize := sizeof(ProcAmpControl);
  ProcAmpControl.Hue := Hue.Position;
  ProcAmpControl.dwFlags := ProcAmpControl9_Hue;
  with (VideoWindow as IVMRMixerControl9) do
    SetProcAmpControl(0, @ProcAmpControl);
end;

procedure TFormPlayWin.SaturationChange(Sender: TObject);
begin
  ProcAmpControl.dwSize := sizeof(ProcAmpControl);
  ProcAmpControl.Saturation := Saturation.Position;
  ProcAmpControl.dwFlags := ProcAmpControl9_Saturation;
  with (VideoWindow as IVMRMixerControl9) do
    SetProcAmpControl(0, @ProcAmpControl);
end;

procedure TFormPlayWin.PositionChange(Sender: TObject);
begin
  NormalizedRect.left   := PositionX.Position / 100;
  NormalizedRect.right  := (PositionX.Position + SizeX.Position) / 100;
  NormalizedRect.Top    := PositionY.Position / 100;
  NormalizedRect.Bottom := (PositionY.Position + SizeY.Position) / 100;
  with (VideoWindow as IVMRMixerControl9) do
    SetOutputRect(0, @NormalizedRect);
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合九色综合97婷婷| 国产亚洲综合在线| 国产一区啦啦啦在线观看| 亚洲色图丝袜美腿| xvideos.蜜桃一区二区| 欧美性xxxxxxxx| 成人av在线影院| 久久aⅴ国产欧美74aaa| 亚洲高清免费一级二级三级| 日本一区免费视频| 日韩精品一区二区三区视频在线观看 | 亚洲最大成人综合| 国产丝袜美腿一区二区三区| 91精品国产91热久久久做人人| 99热这里都是精品| 国产一区视频网站| 蜜臀va亚洲va欧美va天堂| 一二三区精品福利视频| 国产精品理论在线观看| 久久久久久久免费视频了| 日韩午夜激情视频| 在线成人av网站| 欧美日韩在线观看一区二区 | 91小宝寻花一区二区三区| 国产一区二区久久| 奇米影视一区二区三区| 婷婷丁香久久五月婷婷| 综合在线观看色| 日韩一区欧美一区| 中文字幕中文乱码欧美一区二区| 亚洲一区二区三区中文字幕| 中文字幕一区二区三区蜜月| 国产欧美一区二区精品仙草咪 | 欧美精品乱人伦久久久久久| 在线视频一区二区免费| 一本大道久久精品懂色aⅴ | 91精品国产综合久久福利软件 | 国产精品亚洲一区二区三区在线| 麻豆久久一区二区| 美女视频黄久久| 精品无人码麻豆乱码1区2区 | 亚洲激情图片qvod| 一区二区三区四区亚洲| 一区二区三区加勒比av| 亚洲精品水蜜桃| 亚洲一区视频在线观看视频| 一区二区久久久久| 视频在线观看一区| 日本v片在线高清不卡在线观看| 石原莉奈在线亚洲二区| 青青草精品视频| 国产综合久久久久久鬼色 | 欧美三级一区二区| 日韩一区二区免费视频| 精品久久久久香蕉网| 欧美精品一区二区三| 国产欧美1区2区3区| 国产精品成人在线观看| 一区二区在线观看av| 亚洲成人午夜影院| 韩国三级电影一区二区| 成人一区二区三区视频在线观看| 波多野结衣视频一区| 久久精品视频在线看| 亚洲欧美怡红院| 日欧美一区二区| 韩日欧美一区二区三区| 成人a区在线观看| 欧美午夜电影在线播放| 日韩免费性生活视频播放| 国产日韩三级在线| 一区二区三区影院| 蜜臀av一区二区三区| 成人福利电影精品一区二区在线观看| 99vv1com这只有精品| 宅男在线国产精品| 国产欧美精品一区二区三区四区 | 亚洲国产日韩精品| 国产一区欧美日韩| 一本到不卡精品视频在线观看| 欧美一区二区三区在线观看视频| 国产校园另类小说区| 亚洲在线观看免费视频| 极品少妇一区二区三区精品视频| 91亚洲精华国产精华精华液| 6080午夜不卡| 中文字幕一区二区三区不卡| 日韩av不卡一区二区| 粉嫩av一区二区三区在线播放| 欧美丝袜丝交足nylons| 欧美国产日韩a欧美在线观看| 亚洲国产成人av网| 国产91综合网| 日韩欧美精品在线| 一区二区成人在线视频| 国产高清在线精品| 在线不卡免费av| 国产精品乱码久久久久久| 91黄色小视频| 久久久久97国产精华液好用吗| 亚洲黄色免费电影| 国产99精品视频| 日韩欧美中文字幕精品| 亚洲精品伦理在线| 国产91富婆露脸刺激对白| 制服丝袜av成人在线看| 亚洲精品一二三区| 成人小视频免费在线观看| 日韩免费看的电影| 亚洲高清免费视频| 色网站国产精品| 国产精品国产三级国产a| 韩国成人福利片在线播放| 欧美日韩国产小视频在线观看| 中文字幕在线不卡国产视频| 国产一区二区久久| 欧美精品一区二区高清在线观看 | 一区二区三区精密机械公司| 成人黄色小视频在线观看| 久久久久亚洲蜜桃| 久久精品国产亚洲一区二区三区| 欧美日韩综合色| 一级中文字幕一区二区| 色天天综合久久久久综合片| 国产精品久久久久婷婷二区次| 国产美女视频91| 精品国产91亚洲一区二区三区婷婷| 日本中文在线一区| 4438成人网| 日本不卡的三区四区五区| 8x8x8国产精品| 视频一区二区三区在线| 欧美日本高清视频在线观看| 亚洲午夜在线视频| 欧美午夜片在线观看| 亚洲国产乱码最新视频| 欧美日韩在线三区| 午夜欧美电影在线观看| 91精品婷婷国产综合久久性色| 午夜精品国产更新| 91 com成人网| 久久国产精品99精品国产| 日韩欧美国产一区二区在线播放 | 日韩一区二区影院| 麻豆国产欧美一区二区三区| 精品国产污网站| 国产精品一区二区在线观看不卡 | 亚洲444eee在线观看| 欧美美女激情18p| 毛片基地黄久久久久久天堂| 精品国产一区二区亚洲人成毛片 | 久久精品国产亚洲高清剧情介绍| 日韩免费高清电影| 国产精品一区二区三区网站| 亚洲国产成人在线| 91福利在线播放| 日本欧美加勒比视频| 精品少妇一区二区三区日产乱码 | 成人免费高清在线| 亚洲人吸女人奶水| 欧美日韩国产综合一区二区三区| 日本麻豆一区二区三区视频| 2024国产精品视频| 91在线视频网址| 视频一区在线播放| 国产午夜精品久久久久久免费视| 成人免费看的视频| 亚洲一区二区精品久久av| 日韩精品一区二区三区四区 | 奇米精品一区二区三区在线观看 | 99亚偷拍自图区亚洲| 亚洲成a人v欧美综合天堂下载| 精品剧情在线观看| 97久久超碰精品国产| 天天综合天天综合色| 日本一区二区三区在线不卡| 欧美亚洲高清一区二区三区不卡| 捆绑调教美女网站视频一区| 国产精品国产精品国产专区不蜜 | 欧美日韩精品二区第二页| 国产一区二区在线看| 一区二区三区中文在线| 欧美成人a∨高清免费观看| 91亚洲午夜精品久久久久久| 蜜桃一区二区三区在线| 亚洲天堂精品在线观看| 欧美大尺度电影在线| 91久久国产最好的精华液| 国产在线精品一区二区夜色| 一区二区三区四区不卡在线 | 亚洲卡通动漫在线| 精品乱人伦小说| 欧美亚男人的天堂| 懂色av一区二区三区免费看| 天天av天天翘天天综合网| 国产精品久久久久影院老司| 日韩欧美黄色影院| 欧美性感一区二区三区| 成人免费视频caoporn| 免费成人av在线|