C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[41996] 사운드 출력때문에 질문 드립니다.
이윤성 [grin79] 1298 읽음    2005-09-23 09:59
지금 다이얼 보드로 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 라서 질문 적을만한곳이 없어서 이곳에 적게 되어서 죄송합니다 ^^;

+ -

관련 글 리스트
41996 사운드 출력때문에 질문 드립니다. 이윤성 1298 2005/09/23
42003     Re:사운드 출력때문에 질문 드립니다. 아제나 1393 2005/09/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.