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
[17559] Re:[질문]음성을 소켓으로 보내기
이경문 [gilgil] 1707 읽음    2002-04-15 03:22
일단 wave.h, wave.cpp 를 검토한 결과
WAVEFORMATEX을 수정해도 무리없이 들릴 수 있는 소스입니다.
nChannels,nBlockAlign,wBitsPerSample,nSamplesPerSec,nAvgBytesPerSec의 관계가
제대로 setting되는 지 확인해 보도록 하십시오.
그리고 현재 소스에 약간의 문제가 있을 수 있습니다.

RecordCallbackProc function안에서 waveInAddBuffer를 호출하고 있는 데
이는 sound device resource를 close할 때 dead lock이 걸릴 수 있습니다(MSDN참조).

Remarks
Applications should not call any system-defined functions from inside a callback function, except for EnterCriticalSection, LeaveCriticalSection, midiOutLongMsg, midiOutShortMsg, OutputDebugString, PostMessage, PostThreadMessage, SetEvent, timeGetSystemTime, timeGetTime, timeKillEvent, and timeSetEvent. Calling other wave functions will cause deadlock.
(MSDN waveInProc 설명중 일부)


그리고 Record부분은 waveAPI를 사용했고 Play부분은 DirectSound를 이용하셨군요.
이는 오래된 sound card(SB 16bit같은 것)에서는 작동하지 않을 수 있습니다.

참고로, 다음 사이트에 들어 오시면 음성채팅 관련 라이브러리를 보실 수 있습니다.
http://www.vdream.co.kr


김유미 님이 쓰신 글 :
: 윈도에서 마이크로 이야기 하는 소리를 소켓을 써서
: 다른 컴으로 보내려고 하는데요
: 8bit 8k로 하면 들리는데 16bit 16k로 하면 지직거리는 소리만
: 나거든요
: 어떻게 하면 되는지 좀 알려주세요
: 소스도 올릴께요
: 참 CB5로 만들어졌어요
: 호스트는 Unix이구요

+ -

관련 글 리스트
17457 [질문]음성을 소켓으로 보내기 김유미 1045 2002/04/12
17559     Re:[질문]음성을 소켓으로 보내기 이경문 1707 2002/04/15
17653         Re:너무 너무 고마워요 김유미 943 2002/04/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.