问题描述
我用kivy和google_speech编写了一个名为chinese_speaker的python3应用。用buildozer编译后,我将其复制到了智能手机。每当我尝试启动时,它总是立即关闭。因此我启动了adb调试,并在日志文件中找到了以下几行:
09-22 13:29:50.971 13746 13789 I python : File "/home/[user_name]/Documents/Python/Buildozer/chinese_speaker/.buildozer/android/app/main.py",line 10,in <module>
09-22 13:29:50.971 13746 13789 I python : ModuleNotFoundError: No module named 'google_speech'
09-22 13:29:50.971 13746 13789 I python : Python for android ended.
我在智能手机上进行了检查,但似乎已安装google_speech:
$ /run/user/1000/gvfs/mtp:host=SAMSUNG_SAMSUNG_Android_R58N146M9KX$ pip3 install google_speech
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: google_speech in /home/[user_name]/.local/lib/python3.8/site-packages (1.1.0)
Requirement already satisfied: appdirs>=1.4.0 in /usr/local/lib/python3.8/dist-packages (from google_speech) (1.4.4)
Requirement already satisfied: requests>=2.6.0 in /usr/lib/python3/dist-packages (from google_speech) (2.22.0)
Requirement already satisfied: web-cache>=1.1.0 in /home/[user_name]/.local/lib/python3.8/site-packages (from google_speech) (1.1.0)
如何将我的应用程序与google_speech库连接?
非常感谢您!
(这是我在Stackoverflow上的第一篇文章。如果缺乏信息,请原谅。
编辑
我在没有google_speech库的情况下尝试了相同的应用程序,并且运行良好。但是,如果我将gts替换为google_speech,则会收到相同的错误:
09-23 10:47:38.774 5914 5984 I python : File "/home/[user_name]/Documents/Python/Buildozer/chinese_speaker/.buildozer/android/app/main.py",line 11,in <module>
09-23 10:47:38.774 5914 5984 I python : ModuleNotFoundError: No module named 'gtts'
09-23 10:47:38.774 5914 5984 I python : Python for android ended.
我是否必须在android上启用这种库,还是必须在buildozer.spec中指定它??
解决方法
据我了解,问题在于GTTS和google_speech在Android上无法正常工作。
为此,您可以使用plyer。但是使用plyer时,您只能使用android设备的默认“文本到语音”语言。因此,要说中文,您必须在智能手机上将默认文本更改为语音语言。