Hi, I have an issue when playing a wav file for the first time in a game loop.
When I do this for the first time, the screen freezes for a second. The freezing does not repeat when the sound is subsequently played.
I can work around this easily enough by playng the wav file once at zero volume before the game loop starts (uncommenting line 8 in the attached file), but I'm curious to know what, if anything, I am doing wrong?
I have tried it using a wav file from farmer_man, but get the same result, so no issue with the wav file.
Thanks
Edit - I have just looked at Farmer_man again, and it looks to me as though the same issue shows up there when the first wav file is played in the game?
audio test.zip (Size: 346.82 KB / Downloads: 3)
When I do this for the first time, the screen freezes for a second. The freezing does not repeat when the sound is subsequently played.
I can work around this easily enough by playng the wav file once at zero volume before the game loop starts (uncommenting line 8 in the attached file), but I'm curious to know what, if anything, I am doing wrong?
I have tried it using a wav file from farmer_man, but get the same result, so no issue with the wav file.
Thanks
Edit - I have just looked at Farmer_man again, and it looks to me as though the same issue shows up there when the first wav file is played in the game?

Code:
'Open a window
set window "Audio_test",640,480
'enable double buffering
set redraw off
t = clock()
test_sound = loadsound("10point.wav")
player = [x:50,y:200,x_inc:2]
'play sound test_sound,0.0
do
'clear the screen
set color 255,255,255
cls
set color 0,0,0
'draw a rect
set color 255,0,0
draw rect player.x,player.y,32,32,1
player.x = player.x + player.x_inc
if player.x < 0 or player.x > 608 then player.x_inc = - player.x_inc
text_here(250,150,"PRESS SPACE BAR TO PLAY SOUND")
if keydown(KEY_SPACE) then play sound test_sound,0.9
'copy back buffer to the screen
redraw
'cap FPS to 60
fwait 60
until mousebutton(0)
###############
function text_here(x,y,text)
set color 0,0,0
set caret x,y
center text
endfunc