我正在尝试使用pyvona,但是在speak()函数中,这种情况一直在发生。这是代码:

def speak(self, text_to_speak):
    """Speak a given text
    """
    if not pygame_available:
        raise PyvonaException(
            "Pygame not installed. Please install to use speech.")

    with tempfile.SpooledTemporaryFile() as f:
        with self.use_ogg_codec():
            self.fetch_voice_fp(text_to_speak, f)
        f.seek(0)
        if not pygame.mixer.get_init():
            pygame.mixer.init()
        channel = pygame.mixer.Channel(5)
        sound = pygame.mixer.Sound(f)
        channel.play(sound)
        while channel.get_busy():
            pass

错误是
Traceback (most recent call last):
    File "/Users/noahchalifour/Desktop/pyvona-0.25/pyvona.py", line 250, in <module>
        v.speak('Hello World')
    File "/Users/noahchalifour/Desktop/pyvona-0.25/pyvona.py", line 138, in speak
        sound = pygame.mixer.Sound(f)
TypeError: Unrecognized argument (type SpooledTemporaryFile)

最佳答案

试试这个

sound = pygame.mixer.Sound(file=f)

或者
sound = pygame.mixer.Sound(file=f._file)

如果该文件是声音文件,则应该可以使用。

关于python - 我的pyvona的speak()函数不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35024598/

10-11 19:13