将Win32client SAPI.SpVoice与多线程一起使用会导致pywintypes.com_error

时间:2019-04-17 22:56:50

标签: python multithreading win32com sapi

我正在尝试将线程与wincl的内置语音系统配合使用。 但是我遇到了这个错误:

  

pywintypes.com_error:(-2147221008,“尚未调用CoInitialize。”,无,无)

我似乎无法破译。

这是我的代码:

import win32com.client as wincl
import time, threading


def ten_second_timer():
    t =threading.Timer(10, ten_second_timer)
    speak = wincl.Dispatch("SAPI.SpVoice")
    speak.Speak("10 seconds have passed")
    t.start()


t =threading.Thread(target = ten_second_timer)
t.start()

1 个答案:

答案 0 :(得分:1)

您需要在非主线程中调用pythoncom.CoInitializepythoncom.CoInitializeEx才能在其中使用COM。