Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SoundBuffer cannot be made [Delphi, Windows]


Riko ©   (2003-09-01 15:31:00) 

Пожалуйста, подскажите что неправильно?
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, DXClass, DXSprite, DXInput, DXSounds, DXDraws, uMap, Wave, MMSystem;

type
 TFMap = class(TForm)
   DXDraw1: TDXDraw;
   DXImageList1: TDXImageList;
   DXSound1: TDXSound;
   DXWaveList1: TDXWaveList;
   DXInput1: TDXInput;
   DXSpriteEngine1: TDXSpriteEngine;
   DXTimer1: TDXTimer;
   procedure DXTimer1Timer(Sender: TObject; LagCount: Integer);
   procedure FormCreate(Sender: TObject);
   procedure LoadSound;
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 FMap      : TFMap;
 Karta      : TMap;

implementation

{$R *.dfm}
procedure TFMap.LoadSound;
begin
dxwavelist1.Items.Add;
   with dxwavelist1.Items[dxwavelist1.Items.Count-1] do
   begin
    Wave.LoadFromFile('menu.wav');
    Name := 'soundmenu';
    restore;
   end;
end;

procedure TFMap.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
 if not DXDraw1.CanDraw then exit;
 DXInput1.Update;
 DXSpriteEngine1.Dead;
 DXDraw1.Surface.Fill(0);
 DXSpriteEngine1.Draw;
 With DXDraw1.Surface.Canvas do
 begin
   Brush.Style := bsClear;
   Font.Color := clBlue;
   Font.Size := 14;
TextOut(10,10,'FPS = '+inttostr(dxtimer1.framerate));
 Release;
 end;
 DXDraw1.Flip;

end;

procedure TFMap.FormCreate(Sender: TObject);
begin
with FMap do LoadSound;
DXImageList1.Items[4].Picture.LoadFromFile('map.bmp');
 DXDraw1.ColorTable := DXImageList1.Items.ColorTable;
 DXDraw1.DefColorTable := DXImageList1.Items.ColorTable;
 Randomize;
Karta:=TMap.Create(DXSpriteEngine1.Engine,1,1);
DXWaveList1.Items.Find('corr').Play(false);//[0].Wave.LoadFromFile('me nu.wav');
DXWaveList1.Items.Find('soundmenu').Volume:=10000;
DXWaveList1.Items.Find('soundmenu').Play(false);
end;
end.

Спасибо.


Riko   (2003-09-01 16:10:00) [1]

Все уже разобрался, приношу извинения за торопливость...
Причина - необходимо было конвертировать файл wav из 4-бит в 16-бит.


Наверх

Титульная страница Поиск, карта сайта Написать письмо