다음 작품 (델파이 7) 작동하지 않습니다 : "동기화"모드 (SVSFDefault 플래그)에서SAPI : 비동기 연설 완벽하게
procedure TMainForm.SayIt(s:string); // s is the string to be spoken
var
voice: OLEVariant;
begin
memo1.setfocus;
voice := CreateOLEObject ('SAPI.SpVoice');
voice.Voice := voice.GetVoices.Item(combobox1.ItemIndex); // current voice selected
voice.volume := tbVolume.position;
voice.rate := tbRate.position;
voice.Speak (s, SVSFDefault);
end;
위의 작품,하지만 난 깃발을 변경하는 경우 ~ SVSFlagsAsync 비동기 모드에서 사운드를 재생하려고 시도하면 소리가 나지 않습니다. 오류 메시지는 표시되지 않지만 스피커에서는 아무 것도 재생되지 않습니다.
무엇이 문제일까요? Delphi의 Imports 폴더에 SpeechLib_TLB 단위가 있습니다.
편집 :이
감사합니다, 브루노는 윈도우 XP입니다.
오래 전 SAPI로 게임을했습니다. 비동기로 만들기 위해 대기열이있는 스레드를 만들었습니다.이 스레드는 꽤 잘 작동하는 것으로 나타났습니다. – ComputerSaysNo