2016-01-26 14 views
6

Sto provando a usare pyvona ma nella funzione speak() ciò continua a succedere. Ecco il codice:la mia funzione pyvona speak() non funziona

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 

e l'errore è

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) 
+0

Quale versione di pygame stai usando? – unutbu

+0

funziona bene per me, come hai installato pygame e pyvona? –

+0

im usando pygame 1.9.2 –

risposta

0

Prova questo

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

o

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

Se il file è un file suono esso shou Lavoro.

0

Dopo aver problemi simili con pygame, mi sono trasferito a pyglet, provare:

Import pyglet 
music = pyglet.media.load('file.mp3') 
music.play() 
pyglet.app.run() 
Problemi correlati