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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dxwaveedit.pas

?? 雙人對戰 俄羅斯訪快
?? PAS
字號:
unit DXWaveEdit;

interface

uses
  Windows, SysUtils, Classes, Forms, Dialogs, Controls, StdCtrls, ExtCtrls,
  Buttons, ComCtrls, DXSounds, Wave, Graphics;

type

  {  TDelphiXWaveEditForm  }

  TDelphiXWaveEditForm = class(TForm)
    Bevel2: TBevel;
    OKButton: TButton;
    CancelButton: TButton;
    SaveDialog: TSaveDialog;
    OpenDialog: TOpenDialog;
    PlayImage: TImage;
    StopImage: TImage;
    Timer: TTimer;
    DXSound: TDXSound;
    ClearButton: TButton;
    SaveButton: TButton;
    LoadButton: TButton;
    Panel1: TPanel;
    TrackBar: TTrackBar;
    TestButton: TSpeedButton;
    LengthLabel: TLabel;
    FrequencyLabel: TLabel;
    TypeLabel: TLabel;
    SizeLabel: TLabel;
    LengthValueLabel: TLabel;
    FrequencyValueLabel: TLabel;
    TypeValueLabel: TLabel;
    SizeValueLabel: TLabel;
    procedure OKButtonClick(Sender: TObject);
    procedure CancelButtonClick(Sender: TObject);
    procedure LoadButtonClick(Sender: TObject);
    procedure SaveButtonClick(Sender: TObject);
    procedure ClearButtonClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DXSoundInitialize(Sender: TObject);
    procedure DXSoundFinalize(Sender: TObject);
    procedure TestButtonClick(Sender: TObject);
    procedure TimerTimer(Sender: TObject);
    procedure TrackBarChange(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    FChanged: Boolean;
    FAudio: TAudioStream;
    FPlaying: Boolean;
    FWaveStream: TCustomWaveStream;
    FWaveFileName: string;
    FUpdating: Boolean;
    procedure UpDateData;
    procedure SetPlaying(Value: Boolean);
    property Playing: Boolean read FPlaying write SetPlaying;
  public
    Wave: TWave;
  end;

var
  DelphiXWaveEditForm: TDelphiXWaveEditForm;

implementation

uses DXConsts;

{$R *.DFM}

procedure TDelphiXWaveEditForm.FormDestroy(Sender: TObject);
begin
  FWaveStream.Free;
end;

procedure TDelphiXWaveEditForm.FormShow(Sender: TObject);
begin
  if Wave.Size>0 then
    FWaveStream := TWaveObjectStream.Create(Wave);

  TestButton.Glyph := PlayImage.Picture.Bitmap;
  UpDateData;
end;

procedure TDelphiXWaveEditForm.OKButtonClick(Sender: TObject);
begin
  Playing := False;

  if FChanged then
  begin
    if FWaveStream=nil then
      Wave.Clear
    else
      Wave.LoadFromFile(FWaveFileName);

    Tag := 1;
  end;

  Close;
end;

procedure TDelphiXWaveEditForm.CancelButtonClick(Sender: TObject);
begin
  Close;
end;

procedure TDelphiXWaveEditForm.ClearButtonClick(Sender: TObject);
begin
  Playing := False;

  FChanged := True;
  FWaveStream.Free; FWaveStream := nil;
  UpdateData;
end;

procedure TDelphiXWaveEditForm.LoadButtonClick(Sender: TObject);
var
  Stream: TWaveFileStream;
begin
  if OpenDialog.Execute then
  begin
    Playing := False;

    Stream := TWaveFileStream.Create(OpenDialog.FileName, fmOpenRead or fmShareDenyWrite);
    Stream.Open(False);

    FWaveStream.Free; FWaveStream := Stream;
    FWaveFileName := OpenDialog.FileName;
    FChanged := True;
    UpdateData;
  end;
end;

procedure TDelphiXWaveEditForm.SaveButtonClick(Sender: TObject);
var
  Dest, Source: TStream;
begin
  if SaveDialog.Execute then
  begin
    Playing := False;

    if FChanged then
    begin
      if AnsiCompareFileName(FWaveFileName, SaveDialog.FileName)=0 then Exit;

      Source := TFileStream.Create(FWaveFileName, fmOpenRead or fmShareDenyWrite);
      try
        Dest := TFileStream.Create(SaveDialog.FileName, fmCreate);
        try
          Dest.CopyFrom(Source, Source.Size);
        finally
          Dest.Free;
        end;
      finally
        Source.Free;
      end;
    end else
    begin
      Wave.SaveToFile(SaveDialog.FileName);
    end;
  end;
end;

procedure TDelphiXWaveEditForm.SetPlaying(Value: Boolean);
begin
  if FPlaying<>Value then
  begin
    if FPlaying then
    begin
      Timer.Enabled := False;
      FAudio.Stop;
      TrackBar.Position := FAudio.Position;
      DXSound.Finalize;
    end;

    if Value then
    begin
      DXSound.Initialize;
      DXSound.Primary.SetFormat(FAudio.Format^);

      FAudio.Position := TrackBar.Position;
      FAudio.Play;

      Timer.Enabled := True;

      TestButton.Glyph := StopImage.Picture.Bitmap
    end else
      TestButton.Glyph := PlayImage.Picture.Bitmap;

    FPlaying := Value;
  end;
end;

procedure TDelphiXWaveEditForm.UpDateData;
begin
  TestButton.Enabled := False;
  TrackBar.Enabled := False;
  Timer.Enabled := False;

  if FWaveStream<>nil then
  begin
    ClearButton.Enabled := True;
    SaveButton.Enabled := True;

    TrackBar.Position := 0;
    TrackBar.Max := FWaveStream.Size;
    TestButton.Enabled := True;
    TrackBar.Enabled := True;

    LengthValueLabel.Caption := Format(SWaveLength, [FWaveStream.Size/FWaveStream.Format^.nAvgBytesPerSec]);

    FrequencyValueLabel.Caption := Format(SWaveFrequency, [FWaveStream.Format^.nSamplesPerSec]);

    TypeValueLabel.Caption := Format(SWaveBitCount, [FWaveStream.Format^.wBitsPerSample]) + ' ';

    case FWaveStream.Format^.nChannels of
      1: TypeValueLabel.Caption := TypeValueLabel.Caption + SWaveMono;
      2: TypeValueLabel.Caption := TypeValueLabel.Caption + SWaveStereo;
    end;

    SizeValueLabel.Caption := Format(SWaveSize, [FWaveStream.Size]);
  end else
  begin
    LengthValueLabel.Caption := Format(SWaveLength, [0.0]);
    FrequencyValueLabel.Caption := Format(SWaveFrequency, [0]);
    TypeValueLabel.Caption := Format(SWaveBitCount, [0]) + ' ' + SWaveMono;
    SizeValueLabel.Caption := Format(SWaveSize, [0]);

    ClearButton.Enabled := False;
    SaveButton.Enabled := False;
    TrackBar.Position := 0;
  end;
end;

procedure TDelphiXWaveEditForm.DXSoundInitialize(Sender: TObject);
begin
  FAudio := TAudioStream.Create(DXSound.DSound);
  FAudio.WaveStream := FWaveStream;
  FAudio.BufferLength := 200;
end;

procedure TDelphiXWaveEditForm.DXSoundFinalize(Sender: TObject);
begin
  FAudio.Free; FAudio := nil;
end;

procedure TDelphiXWaveEditForm.TestButtonClick(Sender: TObject);
begin
  Playing := not Playing;
end;

procedure TDelphiXWaveEditForm.TimerTimer(Sender: TObject);
begin
  FAudio.Update;
  if FAudio.Playing then
  begin
    FUpdating := True;
    try
      TrackBar.Position := FAudio.Position;
    finally
      FUpdating := False;
    end;
  end else
  begin
    Playing := False;
    TrackBar.Position := 0;
  end;
end;

procedure TDelphiXWaveEditForm.TrackBarChange(Sender: TObject);
begin                       
  if (FAudio<>nil) and (not FUpdating) then
    FAudio.Position := TrackBar.Position;
end;


end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99re视频精品| 中文字幕一区二区三区四区| 婷婷夜色潮精品综合在线| 欧美中文字幕一区二区三区 | 欧美在线不卡视频| 亚洲线精品一区二区三区 | 97久久精品人人爽人人爽蜜臀| 中文字幕制服丝袜一区二区三区| thepron国产精品| 亚洲视频免费在线观看| 欧美性大战久久久久久久蜜臀| 无码av免费一区二区三区试看| 6080yy午夜一二三区久久| 韩日欧美一区二区三区| 国产精品久久久久久久午夜片| 色婷婷久久久综合中文字幕| 午夜亚洲国产au精品一区二区| 精品奇米国产一区二区三区| 成人av小说网| 午夜精品一区二区三区电影天堂 | 国产精品网站在线播放| 欧美中文字幕不卡| 精品一区二区免费| 亚洲日韩欧美一区二区在线| 91精品国产综合久久久久久| 国产激情视频一区二区三区欧美| 亚洲欧洲中文日韩久久av乱码| 69p69国产精品| av影院午夜一区| 日本欧美在线观看| 国产精品久久久久久久久免费樱桃| 在线国产亚洲欧美| 国模套图日韩精品一区二区 | 99国产欧美久久久精品| 日韩福利视频导航| 亚洲欧洲在线观看av| 宅男噜噜噜66一区二区66| 国产99久久久久久免费看农村| 性做久久久久久久久| 亚洲国产精品二十页| 欧美另类变人与禽xxxxx| 成人国产精品免费观看视频| 美腿丝袜亚洲综合| 一区二区久久久久久| 久久久久久99精品| 在线电影国产精品| 97aⅴ精品视频一二三区| 久久99热99| 亚洲成人动漫av| 国产精品久久久久久妇女6080| 日韩欧美国产一区二区在线播放| 在线看日本不卡| av一区二区不卡| 国产.欧美.日韩| 国产真实乱偷精品视频免| 国产精品自拍一区| 日韩成人免费看| 香蕉加勒比综合久久| 一区二区三区免费网站| 国产精品免费观看视频| 久久精品一区八戒影视| 99精品视频在线免费观看| 久久99国产精品成人| 日韩国产高清影视| 午夜不卡av免费| 日韩美女视频一区二区在线观看| 欧美国产精品久久| 日韩欧美国产wwwww| 67194成人在线观看| 欧美日韩精品欧美日韩精品一综合| 99久久精品国产观看| www.亚洲色图.com| 99热在这里有精品免费| 99精品在线观看视频| 91欧美激情一区二区三区成人| 成人h动漫精品一区二| av福利精品导航| 波多野结衣亚洲一区| 99re这里只有精品首页| 色婷婷精品大在线视频 | 日本道色综合久久| av电影在线不卡| 99久久久久免费精品国产| 99精品黄色片免费大全| 在线观看日产精品| 欧美色成人综合| 4438x成人网最大色成网站| 日韩色视频在线观看| 久久综合国产精品| 国产女主播视频一区二区| 中文字幕在线免费不卡| 亚洲午夜三级在线| 日韩中文字幕不卡| 日本伊人精品一区二区三区观看方式| 另类专区欧美蜜桃臀第一页| 国产精品影视在线观看| zzijzzij亚洲日本少妇熟睡| 91久久精品一区二区二区| 欧美精品在线观看一区二区| 精品国精品自拍自在线| 国产欧美日韩视频一区二区| 国产精品国产自产拍在线| 亚洲伊人伊色伊影伊综合网| 免费观看30秒视频久久| 丁香婷婷综合色啪| 91视频www| 日韩一区二区三区电影| 欧美经典一区二区| 亚洲乱码精品一二三四区日韩在线| 午夜伊人狠狠久久| 久久精品国产亚洲5555| 91一区一区三区| 这里只有精品免费| 国产精品超碰97尤物18| 日本在线不卡视频一二三区| 丁香亚洲综合激情啪啪综合| 欧美亚洲日本国产| 久久精品亚洲精品国产欧美 | 亚洲一区精品在线| 激情综合色综合久久| 一本大道久久a久久综合| 精品国产自在久精品国产| 亚洲人xxxx| 韩国v欧美v日本v亚洲v| 欧美性猛交xxxxxxxx| 国产日韩欧美亚洲| 日韩国产欧美在线播放| 97久久精品人人澡人人爽| 精品国产一区久久| 亚洲在线一区二区三区| 粉嫩13p一区二区三区| 91精选在线观看| 中文字幕一区免费在线观看| 极品少妇一区二区三区精品视频| 精品视频在线看| 国产精品久久久久久久蜜臀| 精品一区二区在线免费观看| 日本道免费精品一区二区三区| 国产网站一区二区| 日韩1区2区3区| 欧美三级电影精品| 最好看的中文字幕久久| 高清视频一区二区| 欧美成人艳星乳罩| 日韩电影网1区2区| 欧洲国产伦久久久久久久| 国产精品美女久久久久aⅴ| 国产主播一区二区三区| 日韩欧美国产一二三区| 日韩av一区二区在线影视| 欧美日韩在线播放三区| 一区二区三区国产精品| 色狠狠色狠狠综合| 一色屋精品亚洲香蕉网站| 国产a级毛片一区| 久久九九99视频| 国产美女一区二区三区| 久久亚洲精精品中文字幕早川悠里| 日日噜噜夜夜狠狠视频欧美人| 在线观看一区不卡| 一区二区三区四区国产精品| 91色九色蝌蚪| 亚洲欧美日韩一区| 99国产精品久久久久久久久久久| 国产精品第五页| 91一区二区三区在线观看| 亚洲三级小视频| 色综合久久天天| 亚洲另类在线视频| 日本福利一区二区| 午夜伦理一区二区| 欧美一区二区啪啪| 另类人妖一区二区av| 久久一夜天堂av一区二区三区| 国产乱子伦视频一区二区三区| 久久久久久**毛片大全| 成人av资源网站| 亚洲激情在线激情| 欧美男女性生活在线直播观看| 日韩影视精彩在线| 欧美本精品男人aⅴ天堂| 国产精品一线二线三线| 国产精品久久久一本精品| 91网站最新网址| 丝袜亚洲另类欧美| 久久色在线观看| 91蜜桃婷婷狠狠久久综合9色| 亚洲妇女屁股眼交7| 日韩精品一区二区三区swag| 国产激情一区二区三区| 亚洲欧美日韩在线| 7777精品伊人久久久大香线蕉完整版| 久久精品噜噜噜成人av农村| 久久精品视频一区二区| 91性感美女视频| 日本伊人色综合网| 国产精品无人区| 91麻豆精品国产自产在线观看一区 | 在线播放一区二区三区| 韩日欧美一区二区三区|