#python #python-3.x #spyder #gtts #python-playsound
Вопрос:
Я использую Playsound и gtts в среде разработки Spyder, которая создает mp3-файл, а затем воспроизводит его.
import gtts from playsound import playsound #pass text to gTTS object # make request to google to get synthesis english = gtts.gTTS("Hello world") #retrieved the actual audio speech from the API # save the audio file english.save("hello.mp3") # play the audio file playsound("hello.mp3")
Он отлично играет в первый раз, но затем показывает это каждый раз, когда я его запускаю:
File "C:UsersASUS.spyder-py3all codesText2Speech.py", line 27, in lt;modulegt; english.save("hello.mp3") File "C:UsersASUSAppDataLocalProgramsPythonPython39Libsite-packagesgttstts.py", line 312, in save with open(str(savefile), 'wb') as f: PermissionError: [Errno 13] Permission denied: 'hello.mp3'
Он снова отлично работает после перезапуска Spyder, а затем снова не работает после того, как я сыграл только один раз. Моя ОС-Windows 10, Playsound версии 1.2.2
Комментарии:
1. Трудно сказать, не видя полной обратной связи, но я предполагаю, что
playsound
это не закрывает дескриптор файла, поэтомуenglish.save
в следующий раз не получится.2. спасибо за отзыв. Я просто добавил больше строк в раздел «Обратная связь». Если это происходит потому
playsound
, что не закрывается, как решить эту проблему?3. При первом запуске кода вы получаете вывод
Error 263 for command: close hello.mp3 Device is not open or not recognized by MCI. Failed to close the file: hello.mp3
, указывающий на то, что playsound не закрыл файл. Таким образом, в следующий раз GTTS больше не сможет ему писать. Мой личный опыт показывает, чтоplaysound
это не зрелая библиотека. Он делает всевозможные внешние вещи, над которыми у него нет реального контроля.4. Я также не могу рекомендовать
pydub
, потому что для установки требуется копия FFMPEG. Я также не могу рекомендоватьMpg123
, потому что для его установки требуется libmpg123. У меня раньше не было проблем сpygame
этим, но он не может воспроизводить MP3-файлы GTTS. Да, воспроизведение звука с Python действительно отстой.