Python Ivona(Pyvona)脚本问题(局部变量未绑定)

2024-10-04 09:29:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是pyvona软件包(从2016年7月3日开始)。我已经安装了所有依赖项。当我第一次打电话给它说话时,它是正确的。但如果我再次运行该命令,则会出现本地未绑定错误:

>>> import pyvona
>>> v = pyvona.create_voice('<key>', '<secret>')
>>> v.speak('hello')
>>> v.speak('hello')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python34\lib\site-packages\pyvona.py", line 159, in speak
    channel.play(sound)
UnboundLocalError: local variable 'channel' referenced before assignment
>>>

这是皮沃纳.py脚本:

^{pr2}$

我们非常感谢您的帮助。在


Tags: keyinpyimport命令hellosecret错误
2条回答

能够通过添加以下内容找到解决方法:

在pygame.mixer.init()

通道=pygame.mixer.Channel(五)

在定义speak函数之后:

def speak(self,text_to_speak,使用_cache=False):

def speak(self, text_to_speak, use_cache=False):
        """Speak a given text
        """
        pygame.mixer.init()
        channel = pygame.mixer.Channel(5)

通常UnboundLocalError与Python中的作用域和名称空间有关Scopes and NameSpaces, 但就你而言: 在函数speak()中,用代码创建通道

if not pygame.mixer.get_init():
        pygame.mixer.init()
        channel = pygame.mixer.Channel(5)

如果此代码不执行,则通道不绑定到任何对象。在

例如,您可以通过以下代码示例检查这种情况:

^{pr2}$

相关问题 更多 >