Ignore:
Timestamp:
Oct 5, 2011, 12:40:56 PM (13 years ago)
Author:
george
Message:
  • Added: Support for play, stop, pause, seek of Windows mmsystem backend.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • CoolAudio/Systems/UAudioSystem.pas

    r278 r280  
    3131  TPlayer = class(TComponent)
    3232  private
    33     procedure SetPlaying(AValue: Boolean);
    3433  protected
     34    FActive: Boolean;
    3535    FFileName: string;
    3636    FAudioSystem: TAudioSystem;
    3737    FPlaying: Boolean;
    38     function GetMuted: Boolean; virtual; abstract;
    39     procedure SetMuted(AValue: Boolean); virtual; abstract;
    40     function GetLength: TDateTime; virtual; abstract;
    41     function GetPosition: TDateTime; virtual; abstract;
    42     function GetVolume: Real; virtual; abstract;
    43     procedure SetPosition(AValue: TDateTime); virtual; abstract;
    44     procedure SetVolume(AValue: Real); virtual; abstract;
     38    procedure SetActive(AValue: Boolean); virtual;
     39    procedure SetPlaying(AValue: Boolean); virtual;
     40    function GetMuted: Boolean; virtual;
     41    procedure SetMuted(AValue: Boolean); virtual;
     42    function GetLength: TDateTime; virtual;
     43    function GetPosition: TDateTime; virtual;
     44    function GetVolume: Real; virtual;
     45    procedure SetPosition(AValue: TDateTime); virtual;
     46    procedure SetVolume(AValue: Real); virtual;
    4547    procedure SetFileName(AValue: string); virtual;
    4648  public
    47     procedure Play; virtual; abstract;
    48     procedure Pause; virtual; abstract;
    49     procedure Stop; virtual; abstract;
     49    procedure Play; virtual;
     50    procedure Pause; virtual;
     51    procedure Stop; virtual;
     52    procedure Open; virtual;
     53    procedure Close; virtual;
    5054    property Position: TDateTime read GetPosition write SetPosition;
    5155    property Length: TDateTime read GetLength;
     
    5559    property FileName: string read FFileName write SetFileName;
    5660    property Playing: Boolean read FPlaying write SetPlaying;
     61    property Active: Boolean read FActive write SetActive;
    5762    constructor Create; virtual;
     63    destructor Destroy; override;
    5864  end;
    5965
     
    125131{ TPlayer }
    126132
     133procedure TPlayer.SetActive(AValue: Boolean);
     134begin
     135  if FActive = AValue then Exit;
     136  FActive := AValue;
     137end;
     138
    127139procedure TPlayer.SetPlaying(AValue: Boolean);
    128140begin
     
    131143end;
    132144
     145function TPlayer.GetMuted: Boolean;
     146begin
     147  Result := False;
     148end;
     149
     150procedure TPlayer.SetMuted(AValue: Boolean);
     151begin
     152end;
     153
     154function TPlayer.GetLength: TDateTime;
     155begin
     156  Result := 0;
     157end;
     158
     159function TPlayer.GetPosition: TDateTime;
     160begin
     161  Result := 0;
     162end;
     163
     164function TPlayer.GetVolume: Real;
     165begin
     166  Result := 0;
     167end;
     168
     169procedure TPlayer.SetPosition(AValue: TDateTime);
     170begin
     171end;
     172
     173procedure TPlayer.SetVolume(AValue: Real);
     174begin
     175end;
     176
    133177procedure TPlayer.SetFileName(AValue: string);
    134178begin
     
    137181end;
    138182
     183procedure TPlayer.Play;
     184begin
     185end;
     186
     187procedure TPlayer.Pause;
     188begin
     189end;
     190
     191procedure TPlayer.Stop;
     192begin
     193end;
     194
     195procedure TPlayer.Open;
     196begin
     197  Active := True;
     198end;
     199
     200procedure TPlayer.Close;
     201begin
     202  Active := False;
     203end;
     204
    139205constructor TPlayer.Create;
    140206begin
    141 
     207end;
     208
     209destructor TPlayer.Destroy;
     210begin
     211  Active := False;
     212  inherited Destroy;
    142213end;
    143214
Note: See TracChangeset for help on using the changeset viewer.