Vista의 연설에 대한 텍스트
-
03-07-2019 - |
문제
2000/nt/xp에 다음과 같이 델파이로 Ole Object를 만들어 다음과 같이했습니다.
Voice := CreateOLEObject('SAPI.SpVoice');
Voice.speak(...)
그러나 이것은 Vista에서는 작동하지 않습니다. 어떻게 내 프로그램이 Vista에서 텍스트를 단순히 말할 수 있습니까?
해결책
방금 다음 코드로 (Vista Home Premium에서 D2009) 시도해 보았습니다.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComObj;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Voice: Variant;
begin
Voice := CreateOLEObject('SAPI.SpVoice');
Voice.speak('Hello World');
end;
end.
참고로, a 델파이 프로그래밍에서 연설을 사용하는 것에 대한 멋진 논문 Brian Long ...
(매우) 늦은 업데이트 :
그것이 Vista에서 작동하지 않는 이유에 대해 IDE 외부에서 Ezerodivide 예외를 제공하는 이유는 다음과 같은 질문을 참조하십시오. 델파이 사피 텍스트-음성
제휴하지 않습니다 StackOverflow