From 96d0c1deb91d95c4633a76d10b51780f8c5c9b74 Mon Sep 17 00:00:00 2001 From: yangjixian Date: Sat, 3 Mar 2012 09:28:11 +0000 Subject: [PATCH] Save small change git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2331 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/fpsound/OpenAL_NT.pas | 2 +- components/fpsound/fpsound.pas | 19 +++++-------------- components/fpsound/fpsound_openal.pas | 14 +++++++++----- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/components/fpsound/OpenAL_NT.pas b/components/fpsound/OpenAL_NT.pas index 164c985bd..aec7b8d9c 100644 --- a/components/fpsound/OpenAL_NT.pas +++ b/components/fpsound/OpenAL_NT.pas @@ -38,6 +38,7 @@ * the terms of any one of the MPL, the GPL or the LGPL. *) +//The original file name is openal.pas unit OpenAL_NT; {$IFDEF FPC} @@ -2341,7 +2342,6 @@ begin stream.Position := stream.Position + readint; end; until stream.Position >= stream.size; - end; procedure alutLoadWAVFile(fname: string; var format: TALenum; var data: TALvoid; diff --git a/components/fpsound/fpsound.pas b/components/fpsound/fpsound.pas index 85685e1b8..2c98c7f3a 100644 --- a/components/fpsound/fpsound.pas +++ b/components/fpsound/fpsound.pas @@ -79,12 +79,12 @@ type TSoundDocument = class private - AStream: TMemoryStream; FPlayer: TSoundPlayer; FPlayerKind: TSoundPlayerKind; FCurElementIndex: Integer; FSoundData: TFPList; // of TSoundElement public + SoundDocStream: TMemoryStream; constructor Create; virtual; destructor Destroy; override; // Document read/save methods @@ -104,7 +104,6 @@ type procedure Stop; procedure Seek(ANewPos: Double); procedure SetSoundPlayer(AKind: TSoundPlayerKind); - function GetSoundDocStream: TStream; end; var @@ -170,13 +169,13 @@ begin inherited Create; FSoundData := TFPList.Create; - aStream := TMemoryStream.Create; + SoundDocStream := TMemoryStream.Create; end; destructor TSoundDocument.Destroy; begin FSoundData.Free; - aStream.Free; + SoundDocStream.Free; if FPlayer <> nil then FPlayer.Finalize; inherited Destroy; end; @@ -200,8 +199,8 @@ begin Clear(); lReader.ReadFromStream(lStream, Self); lStream.Position := 0; - aStream.Clear; - aStream.LoadFromStream(lStream); + SoundDocStream.Clear; + SoundDocStream.LoadFromStream(lStream); finally lStream.Free; end; @@ -291,14 +290,6 @@ begin FPlayer := GSoundPlayers[AKind]; end; -function TSoundDocument.GetSoundDocStream: TStream; -begin - {aStream.Position := 0; - getmem(Result, aStream.Size); - aStream.Read(Result^, aStream.Size); } - Result := aStream; -end; - var lReaderIndex: TSoundFormat; lPlayerIndex: TSoundPlayerKind; diff --git a/components/fpsound/fpsound_openal.pas b/components/fpsound/fpsound_openal.pas index 9f4dac1d4..e615aba73 100644 --- a/components/fpsound/fpsound_openal.pas +++ b/components/fpsound/fpsound_openal.pas @@ -28,7 +28,7 @@ type codec_bs: longword; al_source: TALuint; al_format: integer; - al_buffers: array[0..0] of TALuint; + al_buffers: TALuint; al_bufsize: longword; al_readbuf: Pointer; al_rate: longword; @@ -99,7 +99,7 @@ var lReadCount: integer = 0; lBufferBytePtr: PByte; lBufferWordPtr: PWord; - loop: TALInt; + loop: TALInt; aaa: TStringList; begin GetMem(al_readbuf, al_bufsize); Result := 0; @@ -129,7 +129,11 @@ begin end; //AlutLoadWavFile('T:\fpsound\testsounds\test.wav', al_format, al_readbuf, al_bufsize, al_rate, loop); //alutLoadWAVMemory(ASound.GetSoundDocPtr, al_format, al_readbuf, al_bufsize, al_rate, loop); - LoadWavStream(ASound.GetSoundDocStream, al_format, al_readbuf, al_bufsize, al_rate, loop); + LoadWavStream(ASound.SoundDocStream, al_format, al_readbuf, al_bufsize, al_rate, loop); + +aaa := TStringList.Create; +aaa.Add(IntToStr(ASound.SoundDocStream.Size)); +aaa.SaveToFile(IntToStr(ASound.SoundDocStream.Size) + '.txt'); end; procedure TOpenALPlayer.Initialize; @@ -201,8 +205,8 @@ begin // Fill the buffer alFillBuffer(ASound, lKeyElement); - alBufferData(al_buffers[0], al_format, al_readbuf, al_bufsize, al_rate); - alSourceQueueBuffers(al_source, 1, @al_buffers[0]); + alBufferData(al_buffers, al_format, al_readbuf, al_bufsize, al_rate); + alSourceQueueBuffers(al_source, 1, @al_buffers); // Play the sound alSourcePlay(al_source);