ผมใช้ CSS ของ Materialize จาก http://materializecss.com ในการออกแบบหน้าแอพ ผมลองสร้างไฟล์ index.html โดยผมโหลด template http://materializecss.com/templates/starter-template.zip
แตกไฟล์ออกมาแล้วแก้ไขไฟล์ index.html
ตรงคำสั่ง javascript นี้
[javascript]
var droid = new Android();
function post(input) {
droid.eventPost("say",input);
}
[/javascript]
เป็นคำสั่งสำหรับส่งข้อมูลเชื่อมต่อกับ Python เมื่อรันผ่าน Webview ของ sl4a เมื่อกรอกข้อมูลลง
ต่อไปลองเขียนโค้ดภาษาไพทอนกัน
hello.py
[python]
from android import Android
import os,time,sys
droid = Android()
filecurrent = sys.path[0]+"/index.html" # ดึงตำแหน่งไฟล์ปัจจุบันของ index.html
print(sys.path[0])
droid.webViewShow(filecurrent) # ดึงไฟล์ index.html เข้ามาแสดงด้วย Webviews api
while True:
event = droid.eventWait().result # รอรับข้อมูลที่ส่งมา
# รับข้อมูลที่ได้เข้ามา
data = str(event['data'])
droid.makeToast("ตอนนี้กำลังพูด "+data) # แสดงว่ากำลังจะพูดอะไร
# TTS พูดออกมา
droid.ttsSpeak(data)
[/python]
เสร็จแล้ว บันทึก hello.py ไว้ในโฟลเดอร์เดียวกันกับไฟล์ index.html แล้วบีบอัดไฟล์ทั้งหมดเป็นไฟล์ my_python_project.zip แล้วนำไปวางแทนที่ไฟล์ my_python_project.zip เดิม ที่ apk-3.2 -> app -> scr -> main -> res -> raw เสร็จแล้วเปิด Android Studio ขึ้นมา
โหลดไฟล์ตัวอย่าง my_python_project.zip ได้ที่ http://1drv.ms/1R2NPvl
เปิด project ของ apk-3.2 กดปุ่ม Run (Shift + F10) รอสักครู่ จะได้ไฟล์ apk โดยอยู่ที่ apk-3.2\app\build\outputs\apk ลองนำไปรันดู
[caption id="attachment_1584" align="aligncenter" width="576"] หน้าแอพที่ Build ออกมา[/caption]
[caption id="attachment_1580" align="aligncenter" width="576"] ลองพิมพ์ 'สวัสดี' จะมีเสียงพูดออกมา[/caption]
สำหรับภาษาไทยใน TTS ของ Android สามารถใช้ Google Text-to-Speech ในการออกเสียงภาษาไทยใน Android ได้ครับ
ลองเล่นไฟล์ .apk ได้ที่ http://1drv.ms/1GnJCSq
อ่านเอกสาร sl4a api ได้ที่ http://www.mithril.com.au/android/doc/
ลองนำไปประยุกต์กันต่อนะครับ
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)