PracticU

Speech Recognizer - Wear App

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA › Speech Recognizer - Wear App
מילון מושגים:
ממשק - נקודת מגע בין רכיבים: ממשק משתמש שבו אדם מפעיל תוכנה, או ממשק תכנותי שמגדיר אילו פעולות רכיב אחד חושף לאחר.
לייאאוט - ארגון וסידור הרכיבים החזותיים על המסך או בדף, כמו מיקום כפתורים, טקסט ותמונות.
Intent - ב-Android, אובייקט הודעה שמבקש פעולה, למשל מעבר בין מסכים או הפעלת רכיב אחר.
Android - מערכת הפעלה מבוססת Linux לטלפונים ולמכשירים ניידים, שפותחה על ידי גוגל.
רכיב - יחידת בניין עצמאית וניתנת לשימוש חוזר בתוך מערכת או ממשק משתמש, שאחראית על חלק מוגדר מהתפקוד.

Speech Recognizer - Wear App
בשלב הזה בונים אפליקציה לשעון שמקשיבה למשתמש ומתרגמת את הדיבור שלו לטקסט בעזרת Speech Recognition של אנדרואיד. הממשק פשוט: לחצן אחד ותצוגת טקסט.
השלבים העיקריים
1. ממשק: ב-Layout של השעון העגול מוסיפים לחצן עם הטקסט Click to Talk, בגודל 15 וב-All Caps מבוטל. הלחצן ממוקם בתחתית האמצע, ומעליו TextView שיציג את הטקסט שזוהה.
2. Implicit Intent: בלחיצה נוצר Intent מסוג RecognizerIntent.ACTION_RECOGNIZE_SPEECH, עם RecognizerIntent.EXTRA_LANGUAGE_MODEL בערך Free Form לדיבור חופשי. לזיהוי ביטויי חיפוש באינטרנט אפשר לבחור מודל Web Search.
3. הפעלה עם תוצאה: ה-Intent נשלח עם startActivityForResult, ואת ה-request code שומרים כקבוע בקוד.
4. קבלת התשובה: בדריסת onActivityResult בודקים שה-request code הנכון ושהתוצאה OK, ואז לוקחים את הפריט הראשון מתוך RecognizerIntent.EXTRA_RESULTS.
5. הצגה: הטקסט שזוהה מוצג ב-TextView, וגם בטוסט לבדיקה.
שימו לב
- הזיהוי לא מדויק תמיד. בהדגמה המשפט "Android is so cool" זוהה כ-"family is so cool".
הרכיב נותן קירוב טוב לדיבור של המשתמש, ואחריו אפשר לעשות עם הטקסט כל מה שצריך.
השיעור הבא בקורס: Google Map - Wear App

פרקי ההרצאה: Speech Recognizer - Wear App

  1. 00:00

    מטרה: אפליקציית זיהוי דיבור לשעון

  2. 00:44

    עיצוב הלחצן והטקסט בממשק

  3. 02:17

    אירוע הלחיצה Click to Talk

  4. 02:57

    בניית Intent לזיהוי דיבור

  5. 04:01

    הפעלה עם startActivityForResult וקוד בקשה

  6. 04:59

    קבלת הטקסט ב-onActivityResult

תמלול ההרצאה: Speech Recognizer - Wear App

הטקסט המלא של הדקות הראשונות בהרצאה «Speech Recognizer - Wear App» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    אחרי שהצלחנו לבנות אפליקציה שרצה על שעון והרמנו אמולטור והרצנו את האפליקציה על האמולטור בואו נבנה אפליקציה שמבצעת איזושהי פעולה קצת יותר ממשית ומה שאנחנו הולכים לבנות זה אפליקציה שמכילה speech recognition ומסוגלת לשמוע את מה שהיוזר אומר ולתרגם לו את זה לטקסט ולאחר

  2. 00:28

    מכן נוכל לעשות עם הטקסט מה שאנחנו רוצים. אז בואו קודם כל נעצב את הממשק משתמש שלנו, אנחנו נמצאים ב-Round Activity Main, ב-Layout של ה-Round Watch, נוסיף כאן איזשהו לחצן, Wrap Content, נגדיר שאנחנו ב-Text Click to Talk ויש לנו Text Size, בואו ניתן לו 15 ובואו נגדיר לו

  3. 01:06

    טקסט אול קאפס פולס ואנחנו רוצים לשים אותו פחות או יותר באמצע למטה זה יהיה הליין פרנט בוטום וסנטר הוריזונטל אנחנו רוצים את הטקסט הזה גם כן אבל בואו נעלה אותו טיפה למעלה נוריד את הסנטר ורטיקל וניתן לו איזה מרג'ין טופ נניח 40 כך שהוא יוכל להתחיל לכתוב את הטקסט שלנו כאן בואו אפילו ניקח יותר 60. ניפטר מהטקסט הזה או שפשוט נגדיר אותו כ-Tools ואז הוא יופיע לנו כאן אבל הוא לא יופיע

  4. 02:06

    לנו בריצה ונעלה מרג'ין בוטום באיזה 30 את הלחצן קליק טו טולק ואנחנו אנחנו עכשיו יכולים להיכנס ל-onclick-button-click-talk-onclick. בואו ניכנס לאירוע שלו, ופה אנחנו רוצים לכתוב את הקטע קוד שמצליח להאזין למשתמש.

  5. 02:43

    אז איך אנחנו עושים את זה? אז למעשה אנחנו צריכים להשתמש ב-implicit intent, יש במערכת האנדרואיד implicit intent עבור speech recognition.

  6. 02:54

    אז בואו נבנה פה Intent שווה New Intent וניתן לו RecognizerIntent.ActionRecognizeSpeech זה בעצם הקבוע של האקשן עבור ה-ImplicitIntent.

  7. 03:15

    אנחנו צריכים להגדיר לו עכשיו IntentPutExtra ואנחנו צריכים לתת קבוע שנקרא recognizer intent.extra language model וזה בעצם איזה language המודל אנחנו רוצים שהמערכת תשתמש איתו.

  8. 03:41

    כאשר אם אנחנו רוצים שה-recognizer יקשיב ובעצם יזהה דיבור חופשי, זה נקרא רקוגנייזר אינטנט נקודה language model freeform כאשר אם אנחנו רוצים שהוא יזהה יותר ביטויים של חיפוש באינטרנט זה לדוגמה יכול להיות websearch אז בואו ניקח freeform כרגע ויש לנו את ההגדרה של האינטנט עכשיו אנחנו רוצים to start

  9. 04:17

    activity for result כי אנחנו נקבל בחזרה מה implicit intent הזה את הטקסט שפשוט היוזר דיבר intent והפרמטר השני כאמור אמור להיות ה-request code אז בואו ניצור כאן למעלה private static פיינל אינטג'ר ריקווסט קוד פיצ' רקוגנייזר ניתן לו נניח אחד ונשלח אותו גם כן בכדי לוודא באמת שאנחנו מקבלים את התוצאה מהבקשה הזאת.

  10. 05:04

    הדבר הבא שאנחנו רוצים לעשות זה לדרוס את onActivityResult ולקבל את התשובה. אז קודם כל בואו נבדוק שה-request code שלנו זה מה שהגדרנו למעלה, request code speech recognizer.

  11. 05:23

    והדבר הבא שאנחנו רוצים לבדוק זה שה-result code שווה ל-result OK, שהכל היה בסדר ולא היה איזה ביטול מסוים שהתרחש באמצע.

  12. 05:36

    אם הכל בסדר, אנחנו רוצים לקבל את הטקסט. זה בעצם מגיע על ידי הדאטה שקיבלנו,

לקורס המלא: קורס פיתוח אפליקציות לאנדרואיד

ההרצאה הקודמת: Run a Wear Emulator

ההרצאה הבאה: Google Map - Wear App

הרצאות קשורות מקורסים אחרים

  • הסבר על App Secrets
  • App Engine - Serverless - חלק 1
  • הסבר על Azure App Service
  • Build .NET app on Docker

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון