Oh great! It works this way.

Teddy

----- Original Message ----- 
From: "Jan Dubois" <[EMAIL PROTECTED]>
To: "'Sisyphus'" <[EMAIL PROTECTED]>;
<[email protected]>; "'Jon Bjornstad'"
<[EMAIL PROTECTED]>
Sent: Tuesday, June 14, 2005 5:19 AM
Subject: RE: Win32:OLE - Speech.VoiceText


> On Mon, 13 Jun 2005, Sisyphus wrote:
> > ----- Original Message -----
> On Tue, 14 Jun 2005, "Jon Bjornstad" <[EMAIL PROTECTED]> wrote:
> >
> > > This code:
> > >
> > > use Win32::Ole;
> > > my $voice = Win32::Ole->new("Speech.VoiceText");
> > > $voice->Register('', 'Perl');
> > > $voice->speak("hello world");
> > > <STDIN>;        # wait til it finishes speaking
> > >
> > > has been used succesfully on Windows98 (with the
> > > Microsoft Speech SDK installed) and on Windows 2000
> > > (which has it installed by default, apparently).
> > >
> >
> > Doesn't work for me on Windows 2000. Even after I correct the typos
(both
> > instances of "Ole" need to be replaced with "OLE") and 'use warnings;'
all I
> > get is:
> >
> > Win32::OLE(0.1502) error 0x8002000e: "Invalid number of parameters"
> >     in METHOD/PROPERTYGET "speak" at speak.pl line 5
> >
> > Does 'use warnings;' result in the same warning on XP ?
>
> I think Speak() takes 2 arguments. At least it did when I played with it
> for my OSCON talk in 1999:
>
>
http://opensource.activestate.com/authors/jandubois/Perl/TPC3/fun.html#Can_I_access_COM_OLE_objects_f
>
> So try something like
>
>   $voice->speak("hello world", 0);
>
> in the script above.
>
> Cheers,
> -Jan
>
>
>
> _______________________________________________
> Perl-Win32-Users mailing list
> [email protected]
> To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

_______________________________________________
Perl-Win32-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to