تحويل النص إلى كلام في ويندوز فيستا
-
03-07-2019 - |
سؤال
لقد قمت بذلك عن طريق إنشاء كائن OLE باستخدام دلفي في 2000/NT/XP على النحو التالي:
Voice := CreateOLEObject('SAPI.SpVoice');
Voice.speak(...)
ولكن هذا لا يعمل في نظام التشغيل Vista، كيف يمكنني أن أجعل برنامجي ينطق بعض النص في نظام التشغيل Vista؟
المحلول
لقد حاولت للتو (D2009 على Vista Home Premium) باستخدام الكود التالي وهو يعمل!
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.
لمعلوماتك، هناك ورقة لطيفة حول استخدام الكلام في برمجة دلفي بواسطة بريان لونج...
(جدا) تحديث متأخر:
لمعرفة سبب عدم نجاحه في نظام التشغيل Vista وإعطاء استثناء EZeroDivide خارج IDE، راجع سؤال SO الآخر هذا: دلفي SAPI تحويل النص إلى كلام
لا تنتمي إلى StackOverflow