You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kivy 2.0.0用pyttsx3实现TTS功能,打包APK后点击朗读闪退如何解决

pyttsx3仅支持桌面端系统的原生TTS接口,无法在安卓平台运行,这是你点击按钮闪退的根本原因。安卓端需要调用系统原生TTS服务实现朗读功能,推荐使用Kivy官方配套的跨平台接口库plyer完成适配,同时需要修改Buildozer配置,具体操作如下:

1. 替换代码依赖

首先本地安装plyer库:
pip install plyer

修改你的Python主文件代码如下,kv文件无需改动:

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.widget import Widget
from plyer import tts

Builder.load_file('tts.kv')

class MyLayout(Widget):
    def speak(self):
        word = self.ids.word_input.text
        # 空文本跳过朗读避免报错
        if not word.strip():
            return
        tts.speak(message=word)

class myApp(App):
    def build(self):
        return MyLayout()

if __name__ == "__main__":
    myApp().run()

2. 修改Buildozer配置文件

打开你的buildozer.spec文件,修改以下两个配置项:

  • 调整依赖项,移除pyttsx3,新增plyer:
requirements = python3,kivy==2.0.0,plyer
  • 添加安卓权限:
android.permissions = INTERNET,ACCESS_NETWORK_STATE

注:部分安卓设备需要预先安装系统TTS引擎(多数设备出厂自带,没有的话首次调用会提示下载),即可正常使用朗读功能。

内容的提问来源于stack exchange,提问作者test python

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:57:03