|
지금 다이얼 보드로 4채널로 작동하는 프로그램 짜는 중입니다.
기존 샘플 코드가 winAPI 로 되어 있어서..
winAPi 로 프로그램 짜다가 사운드 출력 부분이 막혀서 질문 드립니다.
멀티 쓰레드로 4개의 쓰레드가 돌다가..사용자 입력이 들어오면..
어떤 함수를 호출합니다.
이 함수에는 데이터 저장하고 사운드 출력 이 있기에 크리티컬 세션으로 보호하고 사용 중인데요..
여기서 사운드 출력에 문제가 생깁니다.
사운드가 한개만 출력 되면 몰라도 사운드가 한번에 5개씩 출력 되게 세팅 해야 합니다.
근데..
5개를 동기로 해놓으면....이게 실행 되는 동안 다른 작업이 진행이 안되고 다른 쓰레드에서 사용자 입력은 받지 못하는 사태가 생기네요..
그래서 비동기로 세팅하면..제일 마지막 사운드만 출력이 됩니다.
만약 2개의 사운드만 출력하게 된다면.
PlaySound("1.wav",NULL,SND_SYNC|SND_NOSTOP);
PlaySound("2.wav",NULL,SND_SYNC|SND_NOSTOP);
처음 1번 쓰레드에서 사용자 입력으로 호출한 함수에서 저 두개의 사운드를 재생해야 하는데 재생이 끝나기전에 다른 작업으로 넘어 가야 합니다.
그리고 1번 쓰레드에서 호출한 함수에서 사운드 재생중에 다른 쓰레드에서 이 함수를 호출하면..
1,2 번 사운드를 재생해야 합니다.
즉
순차적으로 1,2,1,2 가 재생되어야 하는데...
이 4개의 사운드가 재생될동안 다른 작업은 계속 수행 하게 할려면 어떻게 해야 좋을지 조언 부탁 드리겠습니다.
설명중에 간단한..예제라도 보여주시면 감사하고요...
즐프하시고 주말 잘보네세요..
제가 적은 질문이지만 질문이 조금 어렵네요..
그리고 WinAPi 라서 질문 적을만한곳이 없어서 이곳에 적게 되어서 죄송합니다 ^^;
|