죄송합니다만 파일스트림으로할 때 SND_MEMORY만 실행되고 SND_NODEFAULT,SND_ASYNC는 소리가 나지 않네요.
문제는 첨부파일을 실행하면 무한반복재생이 안되고 1회만 실행되고 stop되기 때문에 while을 사용하게 된 것이지요.
혹시 wave파일이 문제가 있는 건가요?
그리고 파일스트림을 읽어 SND_MEMORY 사용하여 재생 중에는 sndPlaySound(nil, 0)을 실행하기 위한 버튼클릭이 안되요.
(파일을 읽어 SND_ASYNC 사용시는 재생 중 버튼클릭이 됨)
조금만 더 도와주세요. 초보라서......
안해보셨나 보네요..
다시 올려드립니다.
아래 예문 처럼 하시면
sndPlaySound(Pointer(FData), SND_MEMORY
Or SND_NODEFAULT Or SND_ASYNC or SND_LOOP); <- 무한 반복 재생
while 문을 사용하지 않아도 반복재생이 될거구요..
특정 시간이 흐르는 것을 체크해서
멈춰야 할땐 단순히,
sndPlaySound(nil, 0); <- 멈춤
이렇게만 해주시면 될거 같네요..
즐거운 프로그래밍 하세요~
p.s : sndPlaySound 의 인자들은 MMSystem.pas 에 자세히 있습니다.