Ignore:
Timestamp:
Oct 4, 2011, 1:52:48 PM (13 years ago)
Author:
george
Message:
  • Fixed: Start/stop playback control.
  • Added: Track position and Length handling.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • CoolAudio/Demo/UMainForm.pas

    r276 r277  
    11unit UMainForm;
    22
    3 {$mode objfpc}{$H+}
     3{$mode Delphi}{$H+}
    44
    55interface
     
    77uses
    88  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
    9   ComCtrls, UAudioSystem, UAudioSystemFMOD, UAudioSystemMPlayer;
     9  ComCtrls, ExtCtrls, UAudioSystem, UAudioSystemFMOD, UAudioSystemMPlayer;
    1010
    1111type
     
    2020    Edit1: TEdit;
    2121    OpenDialog1: TOpenDialog;
     22    TimerPlayback: TTimer;
    2223    TrackBar1: TTrackBar;
    2324    procedure Button1Click(Sender: TObject);
     
    2728    procedure FormCreate(Sender: TObject);
    2829    procedure FormDestroy(Sender: TObject);
     30    procedure TimerPlaybackTimer(Sender: TObject);
     31    procedure TrackBar1Change(Sender: TObject);
    2932  private
    3033    { private declarations }
     
    5760end;
    5861
     62procedure TMainForm.TimerPlaybackTimer(Sender: TObject);
     63begin
     64  if Player.Playing then begin
     65    TrackBar1.OnChange := nil;
     66    TrackBar1.Position := Trunc(Player.Position / Player.Length * TrackBar1.Max);
     67    TrackBar1.OnChange := TrackBar1Change;
     68  end;
     69end;
     70
     71procedure TMainForm.TrackBar1Change(Sender: TObject);
     72begin
     73  Player.Position := TrackBar1.Position / TrackBar1.Max * Player.Length;
     74end;
     75
    5976procedure TMainForm.ButtonPlayClick(Sender: TObject);
    6077begin
Note: See TracChangeset for help on using the changeset viewer.