PracticU

Video View

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA › Video View
מילון מושגים:
View - רכיב שאחראי על הצגת המידע למשתמש (התצוגה) בדפוס MVC. גם טבלה וירטואלית מבוססת שאילתה במסד נתונים.
רכיב - יחידת בניין עצמאית וניתנת לשימוש חוזר בתוך מערכת או ממשק משתמש, שאחראית על חלק מוגדר מהתפקוד.
לייאאוט - ארגון וסידור הרכיבים החזותיים על המסך או בדף, כמו מיקום כפתורים, טקסט ותמונות.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.
Android - מערכת הפעלה מבוססת Linux לטלפונים ולמכשירים ניידים, שפותחה על ידי גוגל.
חבילה - אוסף ארוז של קוד, ספריות או קבצים המופץ כיחידה אחת ומותקן בעזרת מנהל חבילות.
תמונה - קובץ גרפי המוצג על המסך. בהקשר של וירטואליזציה או Docker, תבנית מוכנה שממנה יוצרים מכונה או קונטיינר.
HTTPS - הגרסה המאובטחת של HTTP, שמצפינה את התקשורת בין הדפדפן לשרת בעזרת TLS ומאמתת את זהות האתר.

Video View
VideoView הוא עטיפה מוכנה סביב SurfaceView שמציגה וידאו בלי שנבנה רכיב משלנו. הוא נוח יותר, אבל נותן פחות שליטה על התצורה והתצוגה מאשר רכיב שבנינו בעצמנו.
השלבים העיקריים
1. הוספה ל-Layout: מוסיפים VideoView עם match_parent ו-ID, ומאתרים אותו ב-findViewById.
2. URI כשדה גלובלי: מגדירים Uri כשדה כדי לבדוק אם הוא null. אם כן, יוצרים אותו עם Uri.parse מהמחרוזת android.resource:// + שם החבילה + / + R.raw.bigbackbunny. אחר כך קוראים ל-setVideoURI ו-start.
3. Pause: אם ה-URI אינו null, קוראים ל-pause.
4. Stop: אם ה-URI אינו null, קוראים ל-stopPlayback ומציבים null ב-URI כדי שהפעם הבאה תיצור אותו מחדש.
5. הסתרת התמונה: אחרי Stop התמונה נשארת על המסך. מסתירים את הרכיב עם setVisibility(GONE) ובתחילת Play מציגים שוב עם VISIBLE.
6. וידאו מהרשת: מחליפים את ה-URI בקישור https://...mp4, ומוסיפים בקובץ ה-Manifest הרשאת אינטרנט. Pause, Stop ו-Play מחדש עבדו כרגיל.
הערה
ה-VideoView מציג את הווידאו בגודלו המקורי, ולכן הוא נראה קטן יותר מאשר ברכיב שבנינו, שמילא את כל המסך.
כך מציגים וידאו מקומי או מקוון עם מעט קוד באמצעות VideoView.
השיעור הבא בקורס: Media Controller

פרקי ההרצאה: Video View

  1. 00:00

    Video View כעטיפה ל-Surface View

  2. 00:59

    הוספת VideoView ל-Layout

  3. 01:48

    בניית URI לקובץ הווידאו

  4. 02:49

    הפעלה, השהיה ועצירה

  5. 03:45

    בדיקת הניגון באפליקציה

  6. 04:43

    הסתרת הווידאו בעצירה עם Visibility

  7. 05:25

    הצגת וידאו מהאינטרנט

תמלול ההרצאה: Video View

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

  1. 00:02

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

  2. 00:24

    ולצורך הצגה של הוידאו השתמשנו כמובן ב-surface-view. אם אנחנו משתמשים עם ה-video-view, אז הוא בתוכו משתמש ב-surface-view, ועושה בשבילנו את רוב הפעולות ואפילו יותר מזה של מה שאנחנו עשינו ברכיב שאנחנו בנינו בעצמנו.

  3. 00:42

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

  4. 00:58

    אם אנחנו משתמשים עם הוידאו view הוא פשוט מציג לנו את זה בצורה הבסיסית ביותר שיכולה להיות. אז בואו ניקח את ה-video view, ניגש וניתן לו match parent, ניתן לו איזשהו ID ופשוט נקרא לו video view.

  5. 01:15

    אנחנו עכשיו יכולים לגשת לקוד ולאתר אותו. יש לנו פה private video view וה-ID שנתנו לו, נאתר אותו, video view, find view by ID, RID, הנה ה-video view שלנו, ואז יש לנו את שלושת הלחצנים שהיו מקודם, ואנחנו רוצים פשוט להצליח להציג את הוידאו.

  6. 01:45

    לצורך הצגת הוידאו אנחנו צריכים URI. בואו נבנה אותו פה באזור הגלובלי. נבנה את URI. למה אנחנו רוצים אותו באזור הגלובלי? כי אנחנו רוצים לבדוק האם ה-URI שווה ל-NAL. איזשהו טריק שעשינו פעם עם המדיה פלייר.

  7. 02:05

    אם ה-URI שווה ל-NAL, אנחנו רוצים לפנות ל-URI, ולהכניס לתוכו uri.pars ולתת לו בדיוק את ה-resource שלנו וזה היה אותו הדבר כמו שעשינו מקודם android.resources או resource.slash.slash כאן אנחנו רוצים לשרשר אותו עם get package name עם איזשהו slash ועם rrow.bigbackbunny זה בעצם הוידאו שלנו.

  8. 02:41

    ואם הכל בסדר אנחנו רוצים to video view set video URI ולתת לו את ה-URI שכרגע בנינו ובכל מקרה אנחנו רוצים לגשת ל-video view ו-to start it.

  9. 02:58

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

  10. 03:20

    בואו נבצע בדיוק את אותו הדבר עבור הסטופ ונקרא לפונקציה סטופ, זה נקרא סטופ פלייבק פה ונשים ב-URI נ"ל בכדי שבפעם הבאה נבצע הצגה נוספת, יצירה נוספת של ה-URI והכנסת ה-URI לוידאו view.

  11. 03:43

    בואו קודם כל נבדוק as is איך התוכנית עובדת עכשיו. נריץ הנה התוכנית עולה בואו ניגש ונלחץ על לחצן הפליי ואנחנו רואים שעכשיו הוא מציג לנו את הוידאו לא בסרפייס שמקודם ראינו אלא ממש בצורה מצומצמת כי זה בעצם הממדים המקוריים של הוידאו.

  12. 04:09

    בואו נבצע עוד פעם פליי פאוז פליי פאוז נעשה פליי וסטופ נבצע פליי והכל עובד כמו שצריך. בואו נבצע עכשיו עוד פעם סטופ נראה אם זה בסדר ואין שום בעיה עם זה. עכשיו אם אנחנו לוחצים סטופ ואנחנו רוצים שכל הסיפור הזה ייעלם אז אנחנו צריכים לבצע איזשהו טריק שביצענו בעבר ומה שעשינו זה בסטופ הלכנו לוידאו view ו-set visibility.

  13. 04:50

    בואו ניתן לו גאן ועוד פעם וידאו view, ויזיביליטי וניתן לו ויזיבל בואו נבדוק את זה עכשיו אנחנו רואים את התוכנית רצה פליי פאוז סטופ עוצר אותו לגמרי ומעלים את התמונה פליי סטופ מעלים את התמונה זה הטריק עם הוויזיביליטי שראינו איך אפשר להשיג את זה אם אנחנו רוצים להציג איזשהו URI מהאינטרנט ממש ריסורס אונליין גם את זה אפשר לעשות בואו

  14. 05:22

    נבצע את זה נשכפל את ה-URI הזה ופשוט ניתן לו כאן את

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

ההרצאה הקודמת: הצגת סרט וידאו אונליין

ההרצאה הבאה: Media Controller

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

  • VIEW עם Check
  • Debug View
  • יצירת Partial View
  • עדכון ה-View - במסד הנתונים

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

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