Python pygame"需要一个整数"

时间:2017-05-02 22:16:43

标签: python pygame

我有一个使用gTTS,pygame和os模块的函数:

from gtts import gTTS
import pygame as pg
from os import remove as OSremove

music = pg.mixer.music

def speak(x):
     sound = gTTS(text=x, lang="pl")
     sound.save("temp.mp3")
     pg.mixer.init()
     music.load("temp.mp3")
     music.play("temp.mp3")
     pg.quit()
     OSremove("temp.mp3")

我收到错误:TypeError:需要一个整数(得到str类型)。 Image here because I have 5 rep

2 个答案:

答案 0 :(得分:3)

好的,上面的答案是正确的,但是让我们看一下它,因为你显然是新手。

首先,当您收到错误消息时,读取。在这种情况下,它告诉你它想要一个整数,你给它一个字符串。所以,显然,你误解了一些东西。

接下来,看看文档。谷歌pygame.mixer.music.play,它会弹出来。

https://www.pygame.org/docs/ref/music.html#pygame.mixer.music.play

接下来,查看文档。在这种情况下,它说:this

play有两个参数,loopsstart,它们都默认为0.没有字符串 - 所以你给的是错误的参数。

进一步了解Google搜索结果,您会看到一个问题:How play mp3 with pygame

这将引导您在另一个SO答案中使用一些示例代码。

答案 1 :(得分:2)

您无需将音乐文件的名称传递给play功能。只需在没有参数的情况下调用play(),它就可以正常工作。

请参阅play函数的文档:

http://www.pygame.org/docs/ref/music.html#pygame.mixer.music.play