21-01-2018, Saat: 14:51
Merhaba, jnius modülü ile devam edelim. Bugün de Kivy uygulamanızda Text to Speach, metin okuma örneğini veriyorum.
Gerekli modül jnius pip ile yükleyin.
Aslında bunu ilerde anlatacağım plyer modülü ile çok daha basit şekilde yapabiliriz fakat ben plyer ile varsayılan konuşma dilini ayarlama seçeneğini bulmayınca kendi uygulamamda tekrar jnius'a yöneldim. jnius ile bunu kendimiz aşağıdaki kısmı değiştirerek ayarlayabiliyoruz.
Kolay gelsin
Gerekli modül jnius pip ile yükleyin.
Aslında bunu ilerde anlatacağım plyer modülü ile çok daha basit şekilde yapabiliriz fakat ben plyer ile varsayılan konuşma dilini ayarlama seçeneğini bulmayınca kendi uygulamamda tekrar jnius'a yöneldim. jnius ile bunu kendimiz aşağıdaki kısmı değiştirerek ayarlayabiliyoruz.
PHP Kod:
tts.setLanguage(Locale("tr_TR"))
Kolay gelsin

PHP Kod:
#-*-coding:utf8;-*-
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.floatlayout import FloatLayout
from jnius import autoclass
PythonActivity = autoclass('org.kivy.android.PythonActivity')
Locale = autoclass('java.util.Locale')
TextToSpeech = autoclass('android.speech.tts.TextToSpeech')
tts = TextToSpeech(PythonActivity.mActivity, None)
Builder.load_string('''
<MainApp>:
Label:
id: etiket
text: '@ethnic/qpython.club'
size_hint: .7,.05
pos_hint: {'center_x':.5,'center_y':.9}
color: .1,9,.1,1
font_size: sp(18)
TextInput:
id: yazi
text: 'Merhaba qpython.club sakinleri :)'
hint_text: 'Buraya yaz'
pos_hint: {'center_x':.5,'center_y':.7}
size_hint: .9,.05
padding_x: 25,15
padding_y: 15,15
font_size: sp(16)
multiline: False
Button:
id: dugme
text: 'Yazıyı Oku'
pos_hint: {'center_x':.5,'center_y':.5}
size_hint: (.5,.06)
on_press: app.Speak()
''')
class MainApp(FloatLayout):
pass
class MyApp(App):
def Speak(self,*args):
tts.setLanguage(Locale("tr_TR"))
tts.speak(self.app.ids.yazi.text, TextToSpeech.QUEUE_FLUSH, None)
def build(self):
self.app=MainApp()
return self.app
if __name__ == '__main__':
MyApp().run()