Discussion:
TTS from a service in Windows 7
(too old to reply)
Dean Roddey
2010-01-02 01:47:29 UTC
Permalink
Our product is a very extensive automation system. Much of it runs as
a service. One of the things it does is TTS in the background, which
can tell the user whatever information they want to have spoken. In XP
this was fine. In Vista it required jumping through a few more hoops.
You had to create a new admin account, set up the voice settings, and
have our service log in via that account. Sometimes you had to do
gpedit and give that account 'run as part of the OS' type rights.

But now, in Windows 7, even those extra steps aren't working. It
doesn't fail, i.e. no errors come back from the TTS operations. But
neither does any audio make it out. And it's not like it's just
happening silently and not getting to an audio output. The API comes
back instantly whether sync or async and you can immediately queue
something up in the foreground (where it does still work) and it stats
speaking immediately, which means that the text that was passed in the
service just got dropped on the floor silently without doing anything
presumably. And the 'wait till done' type call also returns
immediately, which would indicate that the text was not in fact queued
up.

We just use whatever default voice settings are set up for the Windows
account that the user sets up our service to log in under. So all we
are doing is instantiating a voice object and queuing up the text to
be spoken (eventually waiting for it to complete before we let the
voice object go.)

Is there something we are missing here? Is there some new right that's
required? Obviously being able to speak from the background is a
hugely useful feature that I cannot imagine Win7 disallows it, right?
Dean Roddey
2010-02-07 23:23:25 UTC
Permalink
Can anyone even just confirm that they have TTS working from a service
under Windows 7? That would tell me if it's me or Windows.

Loading...