我使用gTTS python模块从Google Text-To-Speech API和PyGame获取mp3,无需打开外部播放器即可播放输出mp3文件(有更简单的方法吗?)
然而,即使在退出方法之后,PyGame调音台似乎也没有免费的文件资源。
phrase = "Hello!"
tts = gtts.gTTS(text=phrase, lang='en')
tts.save("googleTTS.mp3")
f = MP3("googleTTS.mp3")
mixer.init(f.info.sample_rate)
mixer.music.load("googleTTS.mp3")
mixer.music.play()
while mixer.music.get_busy() == True:
continue
mixer.quit() # doesn't free resource?
phrase = "Bye!"
tts = gtts.gTTS(text=phrase, lang='en')
tts.save("googleTTS.mp3")
最后一行给出例外:
IOError: [Errno 13] Permission denied: 'googleTTS.mp3'
我应该注意到问题不在tts.save函数中,导致没有混音器的代码工作正常。
如何释放混音器资源并反复使用同一个文件?
答案 0 :(得分:0)
这种方式对我有用:
scalaVersion := "2.12.4"
libraryDependencies += "com.typesafe.slick" %% "slick" % "3.2.1"
libraryDependencies += "org.slf4j" % "slf4j-nop" % "1.7.25"
libraryDependencies += "com.typesafe.slick" %% "slick-hikaricp" % "3.2.1"
libraryDependencies += "org.postgresql" % "postgresql" % "42.1.4"