2015-11-30 18 views
1

使用沙比的声音在我使用的代码:错误在Python

speak = win32com.client.Dispatch('Sapi.SpVoice') 
speak.Volume = 100 
speak.Rate = 6 
speak.Voice = speak.GetVoices('Name=Microsoft Mary').Item(0) 

它给我的错误:

speak.Voice = speak.GetVoices('Name=Microsoft Mary').Item(0) 
File "C:\Python25\lib\site-packages\win32com\gen_py\C866CA3A-32F7-11D2-9602-00C04F8EE628x0x5x4.py", line 1872, in Item 
ret = self._oleobj_.InvokeTypes(0, LCID, 1, (9, 0), ((3, 1),),Index 
com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147200967), None) 

是否有人可以帮忙吗?谢谢!

回答

2

我的Windows 10系统没有“Microsoft Mary” - 只有David和Zira。

您可以检查了解适用于:

>>> speak.GetVoices().Item(0).GetDescription() 
u'Microsoft David Desktop - English (United States)' 
>>> speak.GetVoices().Item(1).GetDescription() 
u'Microsoft Zira Desktop - English (United States)' 
>>> speak.GetVoices().Item(2).GetDescription() 

如果我使用其中的一个原理:

>>> speak.GetVoices("Name=Microsoft Zira") 
<COMObject <unknown>> 
+0

谢谢!我不知道Windows 10只有戴维斯和齐拉。 – Ian