Helau und Alaaf edel !
edel über Alles...

Deine Anpassung ist schon ganz gut, aber es funktioniert bei mir trotzdem nicht.
SDL_GetError() liefert bei mir: Entweder einen Speicherfehler oder die Nachricht "Ein Fehler: Couldn't open (×_"
Wobei die kryptischen Zeichen am Ende auch anders aussehen können.
Die selbe getesteten Wav-Dateien können aber problemlos mit dem "gleichen" Programm unter C abgespielt werden.
Das mit dem @ bei "sdl.pbi" verstehe ich nicht.
Die Deklaration sieht so aus:
Code:
; SDL_LoadWAV_RW
Procedure SDL_LoadWAV_RW_( src, freesrc, spec, audio_buf, audio_len)
ProcedureReturn CallCFunctionFast(GetFunction(0, "SDL_LoadWAV_RW"), src, freesrc, spec, audio_buf, audio_len)
EndProcedure
; SDL_LoadWAV
; Load a WAVE file
Procedure SDL_LoadWAV_( fname, spec, audio_buf, audio_len )
;Debug PeekS(fname,-1,#PB_Ascii)
ProcedureReturn SDL_LoadWAV_RW_(SDL_RWFromFile_(fname,"rb"), 1, spec, audio_buf, audio_len)
;ProcedureReturn CallCFunctionFast(GetFunction(0, "SDL_LoadWAV"), SDL_RWFromFile_(fname,"rb"), spec, audio_buf, audio_len)
EndProcedure
-> Dies liefert einen Error.
-> Wenn ich bei SDL_LoadWav_ umkommentiere kommt ein Speicherzugrifffehler.
(Es ist genau dein gelieferter Quelltext, welcher getestet wird/wurde.)