我有一个使用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
答案 0 :(得分:3)
好的,上面的答案是正确的,但是让我们看一下它,因为你显然是新手。
首先,当您收到错误消息时,读取。在这种情况下,它告诉你它想要一个整数,你给它一个字符串。所以,显然,你误解了一些东西。
接下来,看看文档。谷歌pygame.mixer.music.play
,它会弹出来。
https://www.pygame.org/docs/ref/music.html#pygame.mixer.music.play
play
有两个参数,loops
和start
,它们都默认为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