Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 11:16

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Probleme mit OpenAL
BeitragVerfasst: Mo Mai 31, 2004 15:28 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 31, 2004 15:22
Beiträge: 15
Hi,

Ich hab mir das 1. Tutorial von Noeska angeguck und immer wenn ich das Programm starte (auch beim Beispielprogramm) , stürzt er mit einem Fehler ab:

Project Sound.exe raised exception class ERangeError with message 'Range check error'. Process stopped. Use Step or Run to continue.

Der Fehler ensteht in der Alut unit in der AlutloadWaveFile procedure in der Zeile:

FillChar(PByteArray(data)[ChunkHdr.Size], 31, 0);


Ich hab auch noch ne Frage, kann man mit OpenAL midis abspielen?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jun 01, 2004 18:02 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 31, 2004 15:22
Beiträge: 15
Ich habs jetzt gelöst, hab die Zeile einfach auskommentiert. :D
Frag mich nur ob die wichtig war (FillChar --> Speicher mit Werten überschreiben)?

Kennt sich da einer besser mit aus?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jun 01, 2004 18:37 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
You cannot play midi with openal. There is an mod player available though. Also if you know how midi work you can write your own midi player for it.

The problem with the fillchar can be solved like this:

Replace:
Code:
  1.  
  2. if (data <> nil) then
  3.   Stream.Read(data^, Round(ChunkHdr.Size {/ FmtHdr.BlockAlign}));
  4. FillChar(PByteArray(data)[ChunkHdr.Size], 31, 0);
  5.  


With:

Code:
  1.  
  2. if (data <> nil) then
  3.   begin
  4.     Stream.Read(data^, Round(ChunkHdr.Size {/ FmtHdr.BlockAlign}));
  5.     FillChar(PByteArray(data)[ChunkHdr.Size], 31, 0);
  6.   end;
  7.  


You see the problem is that 'data' does not always exist. What type of wav file are you using?

PS: i do not recommend the use of alut anymore (license issues). Like textures it is best to use your own wav loading routines.

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jun 01, 2004 18:57 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Mai 31, 2004 15:22
Beiträge: 15
I tried your code, but there was the same error. Without the FillChar it is funtion. Then I'll try to make my own LoadWave procedure.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]