
VideoView הוא עטיפה מוכנה סביב SurfaceView שמציגה וידאו בלי שנבנה רכיב משלנו. הוא נוח יותר, אבל נותן פחות שליטה על התצורה והתצוגה מאשר רכיב שבנינו בעצמנו.VideoView עם match_parent ו-ID, ומאתרים אותו ב-findViewById.Uri כשדה כדי לבדוק אם הוא null. אם כן, יוצרים אותו עם Uri.parse מהמחרוזת android.resource:// + שם החבילה + / + R.raw.bigbackbunny. אחר כך קוראים ל-setVideoURI ו-start.null, קוראים ל-pause.null, קוראים ל-stopPlayback ומציבים null ב-URI כדי שהפעם הבאה תיצור אותו מחדש.setVisibility(GONE) ובתחילת Play מציגים שוב עם VISIBLE.https://...mp4, ומוסיפים בקובץ ה-Manifest הרשאת אינטרנט. Pause, Stop ו-Play מחדש עבדו כרגיל.VideoView.הטקסט המלא של הדקות הראשונות בהרצאה «Video View» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
רכיב המדיה הבא שאנחנו הולכים להכיר נקרא וידאו-ויו. וידאו-ויו זה פשוט ראפר על ה-surface-view. כלומר, אנחנו בנינו בסרטון הקודם איזשהו רכיב משלנו שמשתמש או יורש את ה-surface-view, וכך הצלחנו בעצם להציג וידאו.
ולצורך הצגה של הוידאו השתמשנו כמובן ב-surface-view. אם אנחנו משתמשים עם ה-video-view, אז הוא בתוכו משתמש ב-surface-view, ועושה בשבילנו את רוב הפעולות ואפילו יותר מזה של מה שאנחנו עשינו ברכיב שאנחנו בנינו בעצמנו.
אז הרבה פעמים יותר קל פשוט להשתמש עם רכיב הוידאו view ולא צריך לבנות את הכל בעצמנו. כמובן אנחנו בונים בעצמנו אז יש לנו שליטה הרבה יותר גדולה על התצורה ומה אנחנו מציגים ואיך אנחנו מציגים ואולי על דברים נוספים.
אם אנחנו משתמשים עם הוידאו view הוא פשוט מציג לנו את זה בצורה הבסיסית ביותר שיכולה להיות. אז בואו ניקח את ה-video view, ניגש וניתן לו match parent, ניתן לו איזשהו ID ופשוט נקרא לו video view.
אנחנו עכשיו יכולים לגשת לקוד ולאתר אותו. יש לנו פה private video view וה-ID שנתנו לו, נאתר אותו, video view, find view by ID, RID, הנה ה-video view שלנו, ואז יש לנו את שלושת הלחצנים שהיו מקודם, ואנחנו רוצים פשוט להצליח להציג את הוידאו.
לצורך הצגת הוידאו אנחנו צריכים URI. בואו נבנה אותו פה באזור הגלובלי. נבנה את URI. למה אנחנו רוצים אותו באזור הגלובלי? כי אנחנו רוצים לבדוק האם ה-URI שווה ל-NAL. איזשהו טריק שעשינו פעם עם המדיה פלייר.
אם ה-URI שווה ל-NAL, אנחנו רוצים לפנות ל-URI, ולהכניס לתוכו uri.pars ולתת לו בדיוק את ה-resource שלנו וזה היה אותו הדבר כמו שעשינו מקודם android.resources או resource.slash.slash כאן אנחנו רוצים לשרשר אותו עם get package name עם איזשהו slash ועם rrow.bigbackbunny זה בעצם הוידאו שלנו.
ואם הכל בסדר אנחנו רוצים to video view set video URI ולתת לו את ה-URI שכרגע בנינו ובכל מקרה אנחנו רוצים לגשת ל-video view ו-to start it.
מה אנחנו רוצים לעשות בפאוז? במידה וה-URI לא נל, זאת אומרת שיש איזשהו URI שאנחנו יכולים להשתמש בו אנחנו רוצים בפאוז פשוט לבצע פאוז לסונג או לוידאו שאנחנו משמיעים כרגע.
בואו נבצע בדיוק את אותו הדבר עבור הסטופ ונקרא לפונקציה סטופ, זה נקרא סטופ פלייבק פה ונשים ב-URI נ"ל בכדי שבפעם הבאה נבצע הצגה נוספת, יצירה נוספת של ה-URI והכנסת ה-URI לוידאו view.
בואו קודם כל נבדוק as is איך התוכנית עובדת עכשיו. נריץ הנה התוכנית עולה בואו ניגש ונלחץ על לחצן הפליי ואנחנו רואים שעכשיו הוא מציג לנו את הוידאו לא בסרפייס שמקודם ראינו אלא ממש בצורה מצומצמת כי זה בעצם הממדים המקוריים של הוידאו.
בואו נבצע עוד פעם פליי פאוז פליי פאוז נעשה פליי וסטופ נבצע פליי והכל עובד כמו שצריך. בואו נבצע עכשיו עוד פעם סטופ נראה אם זה בסדר ואין שום בעיה עם זה. עכשיו אם אנחנו לוחצים סטופ ואנחנו רוצים שכל הסיפור הזה ייעלם אז אנחנו צריכים לבצע איזשהו טריק שביצענו בעבר ומה שעשינו זה בסטופ הלכנו לוידאו view ו-set visibility.
בואו ניתן לו גאן ועוד פעם וידאו view, ויזיביליטי וניתן לו ויזיבל בואו נבדוק את זה עכשיו אנחנו רואים את התוכנית רצה פליי פאוז סטופ עוצר אותו לגמרי ומעלים את התמונה פליי סטופ מעלים את התמונה זה הטריק עם הוויזיביליטי שראינו איך אפשר להשיג את זה אם אנחנו רוצים להציג איזשהו URI מהאינטרנט ממש ריסורס אונליין גם את זה אפשר לעשות בואו
נבצע את זה נשכפל את ה-URI הזה ופשוט ניתן לו כאן את