성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] VT sequences to "CONOUT$" vs. STD_O...
[정성태] NetCoreDbg is a managed code debugg...
[정성태] Evaluating tail call elimination in...
[정성태] What’s new in System.Text.Json in ....
[정성태] What's new in .NET 9: Cryptography ...
[정성태] 아... 제시해 주신 "https://akrzemi1.wordp...
[정성태] 다시 질문을 정리할 필요가 있을 것 같습니다. 제가 본문에...
[이승준] 완전히 잘못 짚었습니다. 댓글 지우고 싶네요. 검색을 해보...
[정성태] 우선 답글 감사합니다. ^^ 그런데, 사실 저 예제는 (g...
[이승준] 수정이 안되어서... byteArray는 BYTE* 타입입니다...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <h1 style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>SpeechRecognitionEngine.SetInputToDefaultAudioDevice 호출 시 System.InvalidOperationException 예외 발생 </h1> <p> (업데이트: 2023-03-30) 이 글에 대한 질문은 더 이상 받지 않습니다. (하시다 보면, 제가 왜 이 기술에 대해 흥미를 못 느끼는 지 아시게 될 것입니다. ^^ SpeechRecognitionEngine에 특별한 업데이트가 없는 한 다루지 않을 것입니다.)<br /> <br /> <hr style='width: 50%' /><br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > C#으로 만드는 음성인식/TTS 프로그램 ; <a target='tab' href='http://www.sysnet.pe.kr/2/0/1228'>http://www.sysnet.pe.kr/2/0/1228</a> </pre> <br /> 위의 예제 코드에서, SetInputToDefaultAudioDevice 메서드 호출 시 예외가 발생할 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > using (SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine("SR_MS_ko-KR_TELE_11.0")) { Grammar grammar = new Grammar("computer.xml"); recognizer.LoadGrammar(grammar); <span style='color: blue; font-weight: bold'>recognizer.SetInputToDefaultAudioDevice(); <== System.InvalidOperationException 예외 발생</span> recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized); recognizer.RecognizeAsync(RecognizeMode.Multiple); while (true) { Console.ReadLine(); } } </pre> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > System.InvalidOperationException was unhandled Message=<span style='color: blue; font-weight: bold'>Cannot find the requested data item, such as a data key or value.</span> Source=System.Speech StackTrace: at System.Speech.Recognition.RecognizerBase.SetInputToDefaultAudioDevice() at ConsoleApplication1.Program.Main(String[] args) in D:\...\ConsoleApplication1\Program.cs:line 37 at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart() InnerException: </pre> <br /> 원인은, 가용한 Audio Recording Device가 없어서 그럴 수 있습니다. 예를 들어, 위의 예외가 발생했을 때 제 컴퓨터의 제어판에는 아래와 같이 모든 Recording Device가 비활성 상태였습니다.<br /> <br /> <img alt='speech_audio_error_1.png' src='/SysWebRes/bbs/speech_audio_error_1.png' /><br /> <br /> 이 중에서 하나라도 선택해서 다음과 같이 "Enable" 시켜주면,<br /> <br /> <img alt='speech_audio_error_2.png' src='/SysWebRes/bbs/speech_audio_error_2.png' /><br /> <br /> 이제부터는 SetInputToDefaultAudioDevice 메서드 호출 시에 예외가 발생하지 않습니다.<br /> </p><br /> <br /><hr /><span style='color: Maroon'>[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
1342
(왼쪽의 숫자를 입력해야 합니다.)