[fpc-pascal] Can not set voice property of SpVoice

Toru Takubo takubo at e-parcel.co.jp
Tue Aug 23 09:34:29 CEST 2016



On 2016/08/23 16:22, Michael Van Canneyt wrote:
>
>
> On Tue, 23 Aug 2016, Toru Takubo wrote:
>
>> Hello,
>>
>> I am testing a text to speech program working on Windows SAPI, and I
>> encountered a problem that I can not set the Voice property because
>> "member not found".
>>
>> Below is the code which describe the problem. It is originally from
>> the freepascal wiki (http://wiki.freepascal.org/SAPI) and slightly
>> modified. Setting the voice property in this code is meaningless,
>> I know. It is just to reproduce the problem.
>>
>> The SpVoice.Speak method itself works fine. I am working with fpc
>> 3.0.0 on Windows 7 64bit. Any advice would be appreciated.
>>
>> Regards,
>>
>> Toru
>>
>> _______________________________________________
>> program TestSAPI;
>>
>> uses
>> SysUtils, comobj;
>> var
>> SavedCW: Word;
>> SpVoice: Variant;
>> Token: Variant;
>> begin
>> SpVoice := CreateOleObject('SAPI.SpVoice');
>> // Change FPU interrupt mask to avoid SIGFPE exceptions
>> SavedCW := Get8087CW;
>> try
>>   Set8087CW(SavedCW or $4);
>>
>>   Token := SpVoice.Voice; //I can get a voice token.
>>   Writeln(Token.GetDescription); //The token actually works.
>>
>>   try
>>     SpVoice.Voice := Token; //"member not found" exception here. I can't set  it.
>
> Did you try
>
>   spVoice.SetVoice(Token);
>

I got another exception.

"Method 'SetVoice' is not supported by automation object"

Regards,
Toru









More information about the fpc-pascal mailing list