c언어에서 음악함수 sndPlaySound() 중복으로 사용할수 없나요?

hodoing의 이미지

안녕하세요 한참 프로젝트로 고민중인 학생입니다 ㅠ

제가 게임을 만들고 있는데요...
배경음을 깔고있는 중에 효과음을 뿅뿅 넣으려고 합니다..
근데 배경음을
sndPlaySound("C:\\data\\01 MUSIC BOX DANCER.wav",SND_ASYNC|SND_NODEFAULT|SND_LOOP);
이렇게 사용하고 있는데요.. 잘 돌아가다가 효과음 코드에 진입하면 꺼져버립니다...
sndPlaySound()를 중복으로 사용할수 ㅇ없을까요?ㅠ

아니면 다른 방법이라도 알려주신다면..ㅠ

mirheekl의 이미지

(데스크탑 윈도 API에 대한 질문으로 간주하고 답변합니다. 플랫폼을 정확히 알려주시면 좋을것 같네요)

해당 함수는 채널을 한개만 가지고 쓰는 듯 합니다.

sndPlaySound는 PlaySound의 래퍼 펑션으로 보이는데요, PlaySound 함수 자체가 해당 특성을 가지고 있습니다.

http://social.msdn.microsoft.com/Forums/vstudio/en-US/de87d08e-dab6-4b4e-948a-3ef4142b7e04/how-could-i-mutiple-sounds-with-playsound

waveOutXXXX 등의 멀티미디어 계열 함수를 쓰시면 해결될 걸로 보입니다.

--