Media3 1.10 כוללת תכונות חדשות, תיקוני באגים ושיפורים בתכונות, כולל ווידג'טים להפעלה שמבוססים על Material3, תמיכה בפורמטים מורחבים ב-ExoPlayer ושיפור בהתאמת המהירות כשמייצאים מדיה באמצעות Transformer. בהמשך המאמר מפורט מידע נוסף, ובנתוני הגרסה המלאים מופיעה רשימה מקיפה של השינויים.
ממשק המשתמש של ההפעלה והכתיבה
אנחנו ממשיכים להרחיב את המודול media3-ui-compose-material3 כדי לעזור לכם ליצור ממשקי משתמש של Compose להפעלה.
הוספנו Player Composable חדש שמשלב ContentFrame עם אמצעי בקרה להפעלה שניתנים להתאמה אישית, וכך מספק לכם ווידג'ט של נגן מוכן לשימוש עם ממשק משתמש מודרני.
בנוסף, בגרסה הזו נוסף רכיב ProgressSlider Composable להצגת התקדמות ההפעלה ולביצוע פעולות חיפוש באמצעות מחוות גרירה והקשה. לניהול מהירות ההפעלה, יש רכיב חדש PlaybackSpeedControl במודול הבסיסי media3-ui-compose, לצד רכיב PlaybackSpeedToggleButton עם סגנון במודול Material 3.
אנחנו נמשיך לעבוד על תוספות חדשות כמו כלי בחירת רצועות, תמיכה בכתוביות ועוד אפשרויות התאמה אישית בגרסאות הקרובות של Media3. נשמח לקבל משוב, ולכן כדאי לשתף את דעתכם בכלי למעקב אחר בעיות של הפרויקט.
שיפורים בתכונות ההפעלה
Media3 1.10 כולל מגוון תוספות ושיפורים במודולים של הפעלת התוכן:
- תמיכה בפורמטים: ExoPlayer תומך עכשיו בחילוץ של פרופיל Dolby Vision 10 ושל טראקים של Versatile Video Coding (VVC) במאגרי MP4, והוספנו תמיכה במנהל ממשק המשתמש של MPEG-H ב-decoder_mpeghextension. התוסף IAMF תומך עכשיו בצורה חלקה בפלט בינאורלי, דרך המפענח באמצעות iamf_tools או דרך ה-Spatializer של מערכת ההפעלה Android, עם לוגיקה חדשה שתואמת לפריסת הפלט של הרמקולים.
- הפעלת מודעות: שיפורים באמינות, שיפור התמיכה במודעות מעבר ב-HLS עבור X-PLAYOUT-LIMIT ו-X-SNAP, ועם התלות האחרונה ב-IMA SDK אפשר לשלוט אם כתובות URL של קליקים על מודעות נפתחות בכרטיסיות בהתאמה אישית באמצעות setEnableCustomTabs.
HLS: ExoPlayer מאפשר עכשיו מעבר למיקום חלופי במקרה של שגיאות טעינה, אם יש זרמים מיותרים ממיקומים שונים.
- פעילות: MediaSessionService מורחב עכשיו ל-LifecycleService, ומאפשר לאפליקציות לגשת להיקף מחזור החיים של השירות.
אחד מתחומי ההתמקדות העיקריים שלנו השנה הוא יעילות ההפעלה והביצועים. Media3 1.10 כולל תמיכה ניסיונית בתזמון של לולאת ההפעלה המרכזית בצורה יעילה יותר. כדי לנסות את התכונה הזו, מפעילים את experimentalSetDynamicSchedulingEnabled() דרך ExoPlayer.Builder. אנחנו מתכננים לבצע שיפורים נוספים בגרסאות עתידיות, אז כדאי להמשיך להתעדכן!
עריכת מדיה וטרנספורמר
למפתחים שיוצרים חוויות עריכה של מדיה, שיפרנו את האמינות של התאמות המהירות. הפונקציה EditedMediaItem.Builder.setFrameRate() יכולה עכשיו להגדיר קצב פריימים מקסימלי של פלט לווידאו. האפשרות הזו שימושית במיוחד לשליטה בגודל הפלט ולשמירה על הביצועים כשמגדילים את מהירות המדיה באמצעות setSpeed().
מודולים חדשים לחילוץ פריימים ולהחלת אפקטים של Lottie
בגרסה הזו פיצלנו חלק מהפונקציונליות למודולים חדשים כדי לצמצם את היקף התלות בחלק מהרכיבים:
- הסרנו את FrameExtractor מהמודול הראשי media3-inspector, לכן צריך להעביר את הקוד לשימוש במודול החדש media3-inspector-framemodule ולעדכן את ההצהרות על ייבוא ל-androidx.media3.inspector.frame.FrameExtractor.
- העברנו גם את האפקט LottieOverlay למודול נפרד media3-effect-lottie. תזכורת: האפשרות הזו מאפשרת לכם להחיל אנימציות Lottie מבוססות-ווקטור ישירות על פריים של סרטון.
אם נתקלתם בבאגים, או אם יש לכם שאלות או בקשות לתכונות, אתם מוזמנים לפנות אלינו דרך כלי המעקב אחר בעיות. נשמח לשמוע ממך!
-
חדשות על מוצריםהיום אנחנו שמחים להודיע על השקת הגרסה היציבה של ספריות AndroidX Security State גרסה 1.1.0 ו-Security State Provider גרסה 1.0.0.
Maunik Shah, Alec Garcia, Joseph Yong • משך הקריאה: 4 דקות -
חדשות על מוצריםהיום אנחנו משיקים את קבוצת המשימות הראשונה לטווח ארוך (LHT), שהן משימות מורכבות מאוד שמהנדס צריך להקדיש להן כמה ימים או אפילו שבוע כדי להשלים אותן. בנוסף, אנחנו משיקים הערכה באמצעות סוכן, ומתחילים עם סוכנים מספקי מודלים תואמים.
Matthew McCullough • משך הקריאה: 3 דקות -
חדשות על מוצריםניפוי באגים אלחוטי ב-Android עכשיו מהיר יותר, אמין יותר וקל יותר להגדרה מאי פעם. ב-ADB Wi-Fi 2.0, הוספנו מחסנית שרתים חדשה וטיפול חכם יותר ברשת, כדי לתת מענה ישיר למשוב של מפתחים לגבי פערים בשימושיות.
Steven Jenkins, Sherif Eid, Fabien Sanglard • משך הקריאה: דקה אחת
רוצים לקבל טיפים עדכניים לפיתוח Android ישירות לאימייל כל שבוע?