Registriert seit: 13. Jun 2009
Ort: Radebeul
241 Beiträge
Turbo Delphi für Win32
|
OpenAL: Ich höre nix :-D
28. Jan 2010, 20:25
Hey DPs,
ihr werdet denken ich hab nicht mehr alle Tassen im schrank .
Ich hab angefangen mit OpenAL zu programmieren (tut: http://www.noeska.com/doal/) aber wenn ich das Programm dann fertig hab kommt kein ton(voll aufgedreht).
Ich hab schon die Zeile:
AlSourcef ( source, AL_GAIN, 1.0 ); // mit 0.5 und 10 probiert
verändert aber es kommt nix raus
Dann dachte ich ich hab die Lautsprecher lautlos. War auch nicht das Problem.
Da kann es ja nur noch am Code liegen.
Delphi-Quellcode:
uses ... , openal;
...
var
Form1: TForm1;
buffer: TALuint;
source : TALuint; Quelle: TALuint;
sourcepos: array [0..2] of TALfloat= ( 0.0, 0.0, 0.0 );
sourcevel: array [0..2] of TALfloat= ( 0.0, 0.0, 0.0 );
listenerpos: array [0..2] of TALfloat= ( 0.0, 0.0, 0.0);
listenervel: array [0..2] of TALfloat= ( 0.0, 0.0, 0.0);
listenerori: array [0..5] of TALfloat= ( 0.0, 0.0, -1.0, 0.0, 1.0, 0.0);
...
procedure TForm1.Button1Click(Sender: TObject);
begin
AlSourcePlay (source);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
argv: array of PalByte;
Format: TALEnum;
Größe: TALSizei;
Frequenz: TALSizei;
loop: TALInt;
Daten: TALVoid;
begin
InitOpenAL;
AlutInit (nil, argv);
AlGenBuffers (1, @ buffer);
AlutLoadWavFile ( 'ding.wav', Format, Daten, Größe, Frequenz, loop);
AlBufferData (buffer, Format, Daten, Größe, Frequenz);
AlutUnloadWav (Format, Daten, Größe, Frequenz);
AlGenSources (1, @ source);
AlSourcei ( source, AL_BUFFER, buffer);
AlSourcef ( source, AL_PITCH, 1.0 );
AlSourcef ( source, AL_GAIN, 1.0 );
AlSourcefv ( source, AL_POSITION, @sourcepos);
AlSourcefv ( source, AL_VELOCITY, @sourcevel);
AlSourcei ( source, AL_LOOPING, loop);
AlListenerfv (AL_POSITION, @listenerpos);
AlListenerfv ( AL_VELOCITY, @listenervel);
AlListenerfv ( AL_ORIENTATION, @listenerori);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
AlDeleteBuffers (1, @ buffer);
AlDeleteSources(1, @source);
AlutExit();
end;
Ich hab kein Plan woran es liegt.
Ich danke für alle antworten die ich bekomme
MfG
Chefx
ein Sprichwort für Programmierer:
"Viele wege fürn zur EXE, aber ob sie funktioniert ist die andere Frage."
|