رسانه 2
آخرین به روز رسانی | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
---|---|---|---|---|
10 ژانویه 2024 | 1.3.0 | - | - | - |
اعلام وابستگی ها
برای افزودن وابستگی به Media2، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.
وابستگیهای مصنوعات مورد نیاز خود را در فایل build.gradle
برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { def media2_version = "1.3.0" // Interacting with MediaSessions implementation "androidx.media2:media2-session:$media2_version" // optional - UI widgets for VideoView and MediaControlView implementation "androidx.media2:media2-widget:$media2_version" // optional - Implementation of a SessionPlayer implementation "androidx.media2:media2-player:$media2_version" }
کاتلین
dependencies { val media2_version = "1.3.0" // Interacting with MediaSessions implementation("androidx.media2:media2-session:$media2_version") // optional - UI widgets for VideoView and MediaControlView implementation("androidx.media2:media2-widget:$media2_version") // optional - Implementation of a SessionPlayer implementation("androidx.media2:media2-player:$media2_version") }
برای اطلاعات بیشتر درباره وابستگیها، به افزودن وابستگیهای ساخت مراجعه کنید.
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه 1.3
نسخه 1.3.0
10 ژانویه 2024
androidx.media2:media2-*:1.3.0
منتشر شد. نسخه 1.3.0 حاوی این commit ها است.
تغییرات مهم از 1.2.0
- androidx.media2 اکنون کاملاً منسوخ شده است. به جای آن از androidx.media3 استفاده کنید.
نسخه 1.3.0-rc01
13 دسامبر 2023
androidx.media2:media2-*:1.3.0-rc01
بدون تغییر نسبت به Media2 1.3.0-beta01 منتشر شد. نسخه 1.3.0-rc01 حاوی این commit ها است.
نسخه 1.3.0-beta01
29 نوامبر 2023
androidx.media2:media2-*:1.3.0-beta01
بدون تغییر نسبت به Media2 1.3.0-alpha01
منتشر شد. نسخه 1.3.0-beta01 حاوی این تعهدات است.
نسخه 1.3.0-alpha01
15 نوامبر 2023
androidx.media2:media2-*:1.3.0-alpha01
منتشر شد. نسخه 1.3.0-alpha01 حاوی این commit ها است.
تغییرات API
-
androidx.media2
اکنون کاملاً منسوخ شده است. به جای آن ازandroidx.media3
استفاده کنید. ( I53164 )
نسخه 1.2.1
نسخه 1.2.1
9 فوریه 2022
androidx.media2:media2-*:1.2.1
منتشر شد. نسخه 1.2.1 حاوی این commit ها است.
رفع اشکال
- هنگام هدف قرار دادن API 33، بررسی بستههای سفارشی را برطرف کنید.
نسخه 1.2.0
نسخه 1.2.0
15 سپتامبر 2021
androidx.media2:media2-*:1.2.0
منتشر شد. نسخه 1.2.0 حاوی این commit ها است.
تغییرات مهم از 1.1.0
- پشتیبانی از قابلیت همکاری با رسانه AndroidX از (آماده کردن|پخش)از(MediaId|Uri|جستجو)
-
MEDIA_URI_PATH_SET_MEDIA_URI
وMEDIA_URI_QUERY_URI
درMediaConstants
اضافه شد
نسخه 1.2.0-rc01
1 سپتامبر 2021
androidx.media2:media2-*:1.2.0-rc01
منتشر شد. نسخه 1.2.0-rc01 حاوی این commit ها است.
رفع اشکال
- رفع ANR هنگام رد کردن اعلان رسانه ( Ifdcc2 , b/148011394 )
نسخه 1.2.0-beta01
30 ژوئن 2021
androidx.media2:media2-*:1.2.0-beta01
منتشر شد. نسخه 1.2.0-beta01 حاوی این تعهدات است.
ویژگی های جدید
- پشتیبانی از قابلیت همکاری با رسانه AndroidX از (آماده کردن|پخش)از(MediaId|Uri|جستجو)
تغییرات API
-
MEDIA_URI_PATH_SET_MEDIA_URI
وMEDIA_URI_QUERY_URI
در MediaConstants اضافه شد
نسخه 1.2.0-alpha01
21 آوریل 2021
androidx.media2:media2-*:1.2.0-alpha01
منتشر شد. نسخه 1.2.0-alpha01 حاوی این commit ها است.
تغییرات API
- افزودن پشتیبانی برای (آماده کردن|بازی)From(MediaId|Uri|Search) ( I13475 , b/176949057 )
رفع اشکال
- مشکل بن بست ناشی از بلوک های همگام غیر ضروری را برطرف کنید.
- وقتی آیتم قابل پخشی وجود ندارد، پخش کننده را بازنشانی کنید
- به onCurrentMediaItemChanged اجازه داده شود که آیتم رسانه ای پوچ را بگیرد
- هنگامی که مورد رسانه فعلی تغییر می کند، اعلان را به روز کنید
- بلافاصله پس از ایجاد جلسه، تعامل با کنترلر compat را برطرف کنید
نسخه 1.1.3
نسخه 1.1.3
21 آوریل 2021
androidx.media2:media2-*:1.1.3
منتشر شد. نسخه 1.1.3 حاوی این commit ها است.
رفع اشکال
- مشکل بن بست ناشی از بلوک های همگام غیر ضروری را برطرف کنید.
نسخه 1.1.2
نسخه 1.1.2
27 ژانویه 2021
androidx.media2:media2-*:1.1.2
منتشر شد. نسخه 1.1.2 حاوی این commit ها است.
رفع اشکال
- رفع NPE از VersionedParcelable ( I1ec28 , b/177060207 )
نسخه 1.1.1
نسخه 1.1.1
16 دسامبر 2020
androidx.media2:media2-*:1.1.1
منتشر شد. نسخه 1.1.1 حاوی این commit ها است.
رفع اشکال
- کاری کنید که وقتی مورد رسانه فعلی تغییر می کند، اعلان رسانه به روز شود.
نسخه 1.1.0
نسخه 1.1.0
2 دسامبر 2020
androidx.media2:media2-*:1.1.0
منتشر شد. نسخه 1.1.0 حاوی این commit ها است.
تغییرات عمده از 1.0.0
- API های بیشتری برای مدیریت آهنگ های رسانه اضافه شده است
- پشتیبانی بهتر از قابلیت همکاری با کتابخانه رسانه AndroidX
-
MediaSession#setMediaUri
اضافه شد - در معرض
MediaSessionCompat.Token
از طریقMediaSession#getSessionCompatToken()
-
نسخه 1.1.0-rc01
28 اکتبر 2020
androidx.media2:media2-*:1.1.0-rc01
منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است.
- مشکلی را برطرف کرد که در آن MediaController هنگام نگه داشتن قفل، به تماسهای برگشتی اطلاع میداد که منجر به بنبستهای احتمالی میشد ( I76c56
- مشکلی که در آن
MediaSessionImplBase#isClosed()
ممکن بود هنگام فراخوانیgetCurrentControllerInfo()
درMediaSessionCompat
منتشر شده از کار بیفتد، برطرف شد. ( aosp/1423291 ] - رفع مشکلی که Media2
MediaSession
شناسه مورد صف فعال را رویPlaybackStateCompat
تنظیم نکرد ( aosp/1421652 ) - هنگام اتصال به سرویس، پرچم
BIND_INCLUDE_CAPABILITIES
اضافه شد، که به برنامههای رسانه بدون هد اجازه میدهد در صورت داشتن مجوز به مکان دسترسی داشته باشند. این به ویژه برای برنامه های Android Auto مفید است. ( aosp/1440731 )
نسخه 1.1.0-beta01
16 سپتامبر 2020
androidx.media2:media2-*:1.1.0-beta01
منتشر شد. نسخه 1.1.0-beta01 حاوی این تعهدات است.
رفع اشکال
- هنگامی که مورد رسانه تغییر می کند، موقعیت فعلی را بازنشانی کنید
- هنگام اتصال، متادیتا و حالت بافر را ارسال کنید
- رفع خرابی هنگام ارسال داده های بزرگ بین یک جلسه و یک کنترلر
-
<queries>
را به مانیفست برای رسانه و media2 برای Android 11 اضافه کنید - رفع NPE برای
MediaController.getPlaylist()
- هنگامی که فرمان جستجو مجاز نیست، نوار پیشرفت
MediaControlView
را غیرفعال کنید - هنگام تغییر آیتم رسانه فعلی جلسه
PlaybackStateCompat
مطلع کنید - تعمیر بسته بندی
SessionPlayer.TrackInfo
نسخه 1.1.0-alpha01
24 ژوئن 2020
androidx.media2:media2-*:1.1.0-alpha01
منتشر شد. نسخه 1.1.0-alpha01 حاوی این commit ها است.
رفع اشکال
- رفع مشکل زمانبندی هنگام بهروزرسانی ابرداده ( I45567 , b/143999611 )
- SessionResult MediaItem را از PlayerResult حفظ می کند ( I927b0 , b/154885520 )
- رفع اشکالی که در آن
MediaController#setVolumeTo()
میتوانست حجم جریان اشتباه را تغییر دهد. ( I76870 , b/151204736 )
نسخه 1.0.3
نسخه 1.0.3
19 فوریه 2020
androidx.media2:media2-*:1.0.3
منتشر شد. نسخه 1.0.3 media2-{common,player,session}
شامل این commit ها و نسخه 1.0.3 media2-widget
حاوی این commit ها است.
رفع اشکال
- یک NullPointerException در هنگام ایجاد MediaController با یک تماس تهی برطرف شد
- رفع مشکل عدم فراخوانی
onPlaylistChanged()
پس ازMediaPlayer.setMediaItem
نسخه 1.0.2
نسخه 1.0.2
5 فوریه 2020
androidx.media2:media2-*:1.0.2
منتشر شد. نسخه 1.0.2 media2-{common,player,session}
شامل این commit ها و نسخه 1.0.2 media2-widget
حاوی این commit ها است.
رفع اشکال
- یک
IndexOutOfBoundsException
درMediaPlayer#getSelectedTrack()
رفع شد. ( aosp/987003 ) - مدیریت بهبود یافته مواردی که ExoPlayer با getDuration() تماس می گیرد و آیتم رسانه وجود ندارد ( aosp/987484 )
- رفع اشکالی که در آن ExoPlayer هنگام فراخوانی
getDuration()
در حالتIDLE
( aosp/987246 ) یکIllegalStateException
پرتاب نمیکند. - به Parcelable های سفارشی برای media2 اجازه ندهید ( aosp/1091056 )
- رفع مشکلی که باعث hanging in
close()
( aosp/1096455 ) شد - MediaBrowser: مدیریت خطاها در
subscribe()
باMediaBrowserService
( aosp/1158057 ) بهبود یافته است. - رفع خرابی MediaController با Framework MediaSession ( aosp/1177663 )
- هنگام برقراری اتصال، اطلاعات جلسه را از طریق تماسهای برگشتی اعلام نکنید ( aosp/1195030 ، b/142925848 )
- رفع مشکلی که در آن SessionResult میتواند بیش از یک بار بهطور غیرمنتظره از MediaController ارسال شود ( aosp/1198634 )
- مشکلی را برطرف کرد که در آن MediaController ممکن است دستورات غیرمجاز را به MediaSession ارسال کند، بنابراین MediaSession اکنون
RESULT_ERROR_PERMISSION_DENIED
( aosp/1204183 ) را ارسال میکند. - رفع یک مشکل پوسته پوسته با
MediaControllerView#setPlayer
( aosp/987004 )
نسخه 1.0.1
نسخه 1.0.1
9 اکتبر 2019
androidx.media2:media2-*:1.0.1
منتشر شد. نسخه 1.0.1 androidx.media2:media2-{player, session}:1.0.1
حاوی این commit ها و نسخه 1.0.1 androidx.media2:media2-widget:1.0.1
شامل این commit ها است .
رفع اشکال
- رفع یک RuntimeException زمانی که یک زیر کلاس از MediaItem در سراسر فرآیند ارسال می شود ( aosp/1098971 )
- رفع مشکلی که در آن MediaPlayer فقط یک بار هنگام پخش لیست پخش،
onCurrentMediaItemChanged()
را فرا می خواند. - رفع مشکلی که MediaPlayer میتوانست یک لیست پخش با بیش از ۲ آیتم پخش کند ( aosp/1108440 )
- مشکلی که در آن پخش کننده همچنان در SurfaceView بازی می کند، حتی اگر نامرئی باشد، برطرف شد
- رفع مشکل پخش VideoView که هنگام تماس با
setViewType
قبل ازsetPlayer
رخ میدهد.
نسخه 1.0.0
5 سپتامبر 2019
androidx.media2:media2-*:1.0.0
منتشر شد. اینها تعهدات شامل media2-{player, session}:1.0.0 و اینها تعهدات موجود در media2-widget:1.0.0 هستند.
ویژگی های اصلی Media2 1.0.0
Media2 نسل بعدی API های Media زیر است: MediaSession
، MediaController
، MediaBrowser
، MediaBrowserService
، VideoView
و MediaControlView
.
-
media2.player.MediaPlayer
- APIها بیشتر با
android.media.MediaPlayer
مطابقت دارند و موتور اصلی ExoPlayer است. - فوکوس صوتی داخلی و کنترل نویز
- SessionPlayer را پیاده سازی می کند
- APIها بیشتر با
-
media2.session.MediaSession
- کنترلهای مجوز دقیق را ارائه میکند
- از طرح بندی های سفارشی پشتیبانی می کند
- استفاده آسان با SessionPlayer، مانند
androidx.media2.player.MediaPlayer
- قابل همکاری با
MediaControllerCompat
-
media2.session.MediaSessionService
- یک نسخه سبک از
MediaLibraryService
- مدیریت چرخه عمر سرویس را برای پخش پسزمینه فراهم میکند
- قابل همکاری با
MediaControllerCompat
وMediaBrowserServiceCompat
- یک نسخه سبک از
-
media2.session.MediaLibraryService
- از صفحه بندی بهتر برای پیمایش آیتم های رسانه یا نتایج جستجو که موارد زیادی را در خود جای می دهند، پشتیبانی می کند
- قابل همکاری با
MediaControllerCompat
وMediaBrowserServiceCompat
-
media2.session.MediaController
- می تواند به
MediaSession
،MediaSessionService
وMediaLibraryService
متصل شود - قابل همکاری با
MediaSessionCompat
وMediaBrowserServiceCompat
- می تواند به
-
media2.session.MediaBrowser
-
MediaController
را به ارث می برد - می تواند به
MediaSession
،MediaSessionService
وMediaLibraryService
متصل شود - قابل همکاری با
MediaSessionCompat
وMediaBrowserServiceCompat
-
-
media2.widget.VideoView
- شامل تمام قابلیت های
android.widget.VideoView
است - سوئیچ بین
TextureView
وSurfaceView
را فراهم می کند - می تواند با
MediaSession
کار کند
- شامل تمام قابلیت های
-
media2.widget.MediaControlView
- ظاهر و احساس بهتری دارد
- شامل تمام قابلیت های
android.widget.MediaController
است - انتخاب آهنگ زیرنویس، انتخاب سرعت پخش و حالت تمام صفحه را ارائه می دهد
نسخه 1.0.0-rc02
22 آگوست 2019
androidx.media2:media2-*:1.0.0-rc02
منتشر شده است و تغییرات موجود در این نسخه را می توانید در اینجا بیابید. این نسخه شامل androidx.media2:media2-widget:1.0.0-rc02
است و تغییرات موجود در این نسخه را میتوانید در اینجا بیابید.
ویژگی های جدید
- هنگامی که
MediaControlView
بهVideoView
تعلق دارد،setPlayer
یاsetController
دیگر مجاز به فراخوانی از طریقMediaControlView
(MCV) نیستند.
رفع اشکال
-
MediaControlView
: دکمه های بعدی و قبلی فقط زمانی قابل کلیک هستند که موارد رسانه بعدی یا قبلی وجود داشته باشد -
MediaControlView
: هنگامی کهonAttachedToWindow()
فراخوانی می شود، یکNullPointerException
پوسته پوسته را برطرف کرد. - وقتی آیتم رسانه فعلی تغییر کرد، ابزارک Media2 اکنون فراداده مورد رسانه جدید را به درستی مدیریت میکند.
Media2-Widget نسخه 1.0.0-beta01
2 جولای 2019
androidx.media2:media2-widget:1.0.0-beta01
منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
- پخش پسزمینه: بهجای ایجاد پخشکننده در داخل VideoView، VideoView میتواند SessionPlayer یا MediaController را بگیرد تا برنامه بتواند یکپارچه به حالت پخش پسزمینه حرکت کند.
- وابستگی با کتابخانه media2-player حذف شد
- در
onViewTypeChangedListener
اضافه شد
API تغییر می کند
- تغییر دید از عمومی به محافظت شده:
-
VideoView.onMeasure(int, int)
-
VideoView.onAttachedToWindow()
-
VideoView.onDetachedFromWindow()
-
MediaControlView.onMeasure(int, int)
-
- حذف شد:
-
VideoView.getSessionToken()
-
VideoView.setAudioAttributes(AudioAttributesCompat)
-
VideoView.setMedaItem(MediaItem)
-
MediaControlView.setSessionToken(SessionToken)
-
- اضافه شد:
-
VideoView.setMediaController(MediaController)
-
VideoView.getMediaControlView()
-
VideoView.setMediaController(MediaController)
-
VideoView.setPlayer(SessionPlayer)
-
VideoView.setOnViewTypeChangedListener()
-
MediaControlView.setPlayer(SessionPlayer)
-
MediaControlView.setMediaController(MediaContoller)
-
نسخه 1.0.0-rc01
18 ژوئن 2019
androidx.media2:media2-common:1.0.0-rc01
، androidx.media2:media2-player:1.0.0-rc01
و androidx.media2:media2-session:1.0.0-rc01
منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
API تغییر می کند
وابستگی ها به
ListenableFuture
به پیاده سازی مستقل Guava منتقل شده اند.توجه داشته باشید که اگر اهداف آزمایشی دارید که به مصنوع کامل گواوا بستگی دارد، ممکن است هنگام استفاده از نسخههای خاصی از پلاگین Android Gradle با یک تضاد وضوح وابستگی مواجه شوید. اگر با خطای
Could not resolve all artifacts
مربوط بهListenableFuture
مواجه شدید، میتوانید به طور موقت با اضافه کردنandroid.dependency.useConstraints=false
به پیکربندی ساخت پروژه خود، مشکل را حل کنید. ما در حال حاضر در حال کار بر روی یک تعمیر دائمی در افزونه Android Gradle هستیم تا در تاریخ بعدی منتشر شود.
نسخه 1.0.0-beta02
5 ژوئن 2019
androidx.media2:media2-common:1.0.0-beta02
، androidx.media2:media2-player:1.0.0-beta02
و androidx.media2:media2-session:1.0.0-beta02
منتشر شدند. commit های موجود در این نسخه را می توانید در اینجا بیابید.
رفع اشکال
- تنظیم سرعت پخش منفی در androidx.media.player.MediaPlayer RESULT_ERROR_BAD_VALUE را برمیگرداند.
- جایگزین Guava ListenableFuture با اجرای Jetpack ( aosp/968828 )
نسخه 1.0.0-beta01
7 مه 2019
androidx.media2:media2-common:1.0.0-beta01
، androidx.media2:media2-player:1.0.0-beta01
و androidx.media2:media2-session:1.0.0-beta01
منتشر شدند. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
- کتابخانه ها به 3 قسمت تقسیم می شوند: media2-common، media2-player، media2-session
-
IllegalPointerException
برای آرگومان های تهی که به عنوان @NonNull علامت گذاری شده اند بهNullPointerException
تغییر داد.
API تغییر می کند
-
MediaController.Builder
را معرفی کرد - روش های تنظیم کننده برای فیلدهای اختیاری
FileMediaItem.Builder
اضافه شده است -
MediaController
وMediaBrowser
می توانند نکات اتصال برنامه را بهMediaSession
،MediaSessionService
یاMediaLibraryService
ارسال کنند. - برخی از روشها برای پیروی از APIهای Android 10 Media2 تغییر نام دادهاند
نسخه 1.0.0-alpha04
17 دسامبر 2018
API تغییر می کند
- کلاس های زیر را تغییر نام داد:
-
MediaPlayer2
→MediaPlayer
-
MediaSession2
→MediaSession
-
MediaController2
→MediaController
-
MediaSessionService2
→MediaSessionService
-
MediaLibraryService2
→MediaLibraryService
-
MediaBrowser2
→MediaBrowser
-
MediaMetadata2
→MediaMetadata
-
Rating2
→Rating
-
SessionToken2
→SessionToken
-
SessionCommand2
→SessionCommand
-
SessionCommandGroup2
→SessionCommandGroup
-
- کلاس های زیر را ادغام کرد:
-
DataSourceDesc2
وMediaItem2
درMediaItem
ترکیب شده اند -
MediaPlaylistAgent
وMediaPlayerConnector
درSessionPlayer
ترکیب شده اند
-
- زیر کلاسهای
Rating
زیر را اضافه کرد:HeartRating
،PercentageRating
،StarRating
، وThumbRating
-
Media2
اکنون ازListenableFuture
برای متدهای همگام استفاده می کند
رسانه 2
آخرین به روز رسانی | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
---|---|---|---|---|
10 ژانویه 2024 | 1.3.0 | - | - | - |
اعلام وابستگی ها
برای افزودن وابستگی به Media2، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.
وابستگیهای مصنوعات مورد نیاز خود را در فایل build.gradle
برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { def media2_version = "1.3.0" // Interacting with MediaSessions implementation "androidx.media2:media2-session:$media2_version" // optional - UI widgets for VideoView and MediaControlView implementation "androidx.media2:media2-widget:$media2_version" // optional - Implementation of a SessionPlayer implementation "androidx.media2:media2-player:$media2_version" }
کاتلین
dependencies { val media2_version = "1.3.0" // Interacting with MediaSessions implementation("androidx.media2:media2-session:$media2_version") // optional - UI widgets for VideoView and MediaControlView implementation("androidx.media2:media2-widget:$media2_version") // optional - Implementation of a SessionPlayer implementation("androidx.media2:media2-player:$media2_version") }
برای اطلاعات بیشتر درباره وابستگیها، به افزودن وابستگیهای ساخت مراجعه کنید.
بازخورد
بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه 1.3
نسخه 1.3.0
10 ژانویه 2024
androidx.media2:media2-*:1.3.0
منتشر شد. نسخه 1.3.0 حاوی این commit ها است.
تغییرات مهم از 1.2.0
- androidx.media2 اکنون کاملاً منسوخ شده است. به جای آن از androidx.media3 استفاده کنید.
نسخه 1.3.0-rc01
13 دسامبر 2023
androidx.media2:media2-*:1.3.0-rc01
بدون تغییر نسبت به Media2 1.3.0-beta01 منتشر شد. نسخه 1.3.0-rc01 حاوی این commit ها است.
نسخه 1.3.0-beta01
29 نوامبر 2023
androidx.media2:media2-*:1.3.0-beta01
بدون تغییر نسبت به Media2 1.3.0-alpha01
منتشر شد. نسخه 1.3.0-beta01 حاوی این تعهدات است.
نسخه 1.3.0-alpha01
15 نوامبر 2023
androidx.media2:media2-*:1.3.0-alpha01
منتشر شد. نسخه 1.3.0-alpha01 حاوی این commit ها است.
تغییرات API
-
androidx.media2
اکنون کاملاً منسوخ شده است. به جای آن ازandroidx.media3
استفاده کنید. ( I53164 )
نسخه 1.2.1
نسخه 1.2.1
9 فوریه 2022
androidx.media2:media2-*:1.2.1
منتشر شد. نسخه 1.2.1 حاوی این commit ها است.
رفع اشکال
- هنگام هدف قرار دادن API 33، بررسی بستههای سفارشی را برطرف کنید.
نسخه 1.2.0
نسخه 1.2.0
15 سپتامبر 2021
androidx.media2:media2-*:1.2.0
منتشر شد. نسخه 1.2.0 حاوی این commit ها است.
تغییرات مهم از 1.1.0
- پشتیبانی از قابلیت همکاری با رسانه AndroidX از (آماده کردن|پخش)از(MediaId|Uri|جستجو)
-
MEDIA_URI_PATH_SET_MEDIA_URI
وMEDIA_URI_QUERY_URI
درMediaConstants
اضافه شد
نسخه 1.2.0-rc01
1 سپتامبر 2021
androidx.media2:media2-*:1.2.0-rc01
منتشر شد. نسخه 1.2.0-rc01 حاوی این commit ها است.
رفع اشکال
- رفع ANR هنگام رد کردن اعلان رسانه ( Ifdcc2 , b/148011394 )
نسخه 1.2.0-beta01
30 ژوئن 2021
androidx.media2:media2-*:1.2.0-beta01
منتشر شد. نسخه 1.2.0-beta01 حاوی این تعهدات است.
ویژگی های جدید
- پشتیبانی از قابلیت همکاری با رسانه AndroidX از (آماده کردن|پخش)از(MediaId|Uri|جستجو)
تغییرات API
-
MEDIA_URI_PATH_SET_MEDIA_URI
وMEDIA_URI_QUERY_URI
در MediaConstants اضافه شد
نسخه 1.2.0-alpha01
21 آوریل 2021
androidx.media2:media2-*:1.2.0-alpha01
منتشر شد. نسخه 1.2.0-alpha01 حاوی این commit ها است.
تغییرات API
- افزودن پشتیبانی برای (آماده کردن|بازی)From(MediaId|Uri|Search) ( I13475 , b/176949057 )
رفع اشکال
- مشکل بن بست ناشی از بلوک های همگام غیر ضروری را برطرف کنید.
- وقتی آیتم قابل پخشی وجود ندارد، پخش کننده را بازنشانی کنید
- به onCurrentMediaItemChanged اجازه داده شود که آیتم رسانه ای پوچ را بگیرد
- هنگامی که مورد رسانه فعلی تغییر می کند، اعلان را به روز کنید
- بلافاصله پس از ایجاد جلسه، تعامل با کنترلر compat را برطرف کنید
نسخه 1.1.3
نسخه 1.1.3
21 آوریل 2021
androidx.media2:media2-*:1.1.3
منتشر شد. نسخه 1.1.3 حاوی این commit ها است.
رفع اشکال
- مشکل بن بست ناشی از بلوک های همگام غیر ضروری را برطرف کنید.
نسخه 1.1.2
نسخه 1.1.2
27 ژانویه 2021
androidx.media2:media2-*:1.1.2
منتشر شد. نسخه 1.1.2 حاوی این commit ها است.
رفع اشکال
- رفع NPE از VersionedParcelable ( I1ec28 , b/177060207 )
نسخه 1.1.1
نسخه 1.1.1
16 دسامبر 2020
androidx.media2:media2-*:1.1.1
منتشر شد. نسخه 1.1.1 حاوی این commit ها است.
رفع اشکال
- کاری کنید که وقتی مورد رسانه فعلی تغییر می کند، اعلان رسانه به روز شود.
نسخه 1.1.0
نسخه 1.1.0
2 دسامبر 2020
androidx.media2:media2-*:1.1.0
منتشر شد. نسخه 1.1.0 شامل این commit ها است.
تغییرات عمده از 1.0.0
- API های بیشتری برای مدیریت آهنگ های رسانه اضافه شده است
- پشتیبانی بهتر از قابلیت همکاری با کتابخانه رسانه AndroidX
-
MediaSession#setMediaUri
اضافه شد - در معرض
MediaSessionCompat.Token
از طریقMediaSession#getSessionCompatToken()
-
نسخه 1.1.0-rc01
28 اکتبر 2020
androidx.media2:media2-*:1.1.0-rc01
منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است.
- مشکلی را برطرف کرد که در آن MediaController هنگام نگه داشتن قفل، به تماسهای برگشتی اطلاع میداد که منجر به بنبستهای احتمالی میشد ( I76c56
- مشکلی که در آن
MediaSessionImplBase#isClosed()
ممکن بود هنگام فراخوانیgetCurrentControllerInfo()
درMediaSessionCompat
منتشر شده از کار بیفتد، برطرف شد. ( aosp/1423291 ] - رفع مشکلی که Media2
MediaSession
شناسه مورد صف فعال را رویPlaybackStateCompat
تنظیم نکرد ( aosp/1421652 ) - هنگام اتصال به سرویس، پرچم
BIND_INCLUDE_CAPABILITIES
اضافه شد، که به برنامههای رسانه بدون هد اجازه میدهد در صورت داشتن مجوز به مکان دسترسی داشته باشند. این به ویژه برای برنامه های Android Auto مفید است. ( aosp/1440731 )
نسخه 1.1.0-beta01
16 سپتامبر 2020
androidx.media2:media2-*:1.1.0-beta01
منتشر شد. نسخه 1.1.0-beta01 حاوی این تعهدات است.
رفع اشکال
- هنگامی که مورد رسانه تغییر می کند، موقعیت فعلی را بازنشانی کنید
- هنگام اتصال، متادیتا و حالت بافر را ارسال کنید
- رفع خرابی هنگام ارسال داده های بزرگ بین یک جلسه و یک کنترلر
-
<queries>
را به مانیفست برای رسانه و media2 برای Android 11 اضافه کنید - رفع NPE برای
MediaController.getPlaylist()
- هنگامی که فرمان جستجو مجاز نیست، نوار پیشرفت
MediaControlView
را غیرفعال کنید - هنگام تغییر آیتم رسانه فعلی جلسه
PlaybackStateCompat
مطلع کنید - تعمیر بسته بندی
SessionPlayer.TrackInfo
نسخه 1.1.0-alpha01
24 ژوئن 2020
androidx.media2:media2-*:1.1.0-alpha01
منتشر شد. نسخه 1.1.0-alpha01 حاوی این commit ها است.
رفع اشکال
- رفع مشکل زمانبندی هنگام بهروزرسانی ابرداده ( I45567 , b/143999611 )
- SessionResult MediaItem را از PlayerResult حفظ می کند ( I927b0 , b/154885520 )
- رفع اشکالی که در آن
MediaController#setVolumeTo()
میتوانست حجم جریان اشتباه را تغییر دهد. ( I76870 , b/151204736 )
نسخه 1.0.3
نسخه 1.0.3
19 فوریه 2020
androidx.media2:media2-*:1.0.3
منتشر شد. نسخه 1.0.3 media2-{common,player,session}
شامل این commit ها و نسخه 1.0.3 media2-widget
حاوی این commit ها است.
رفع اشکال
- یک NullPointerException در هنگام ایجاد MediaController با یک تماس تهی برطرف شد
- رفع مشکل عدم فراخوانی
onPlaylistChanged()
پس ازMediaPlayer.setMediaItem
نسخه 1.0.2
نسخه 1.0.2
5 فوریه 2020
androidx.media2:media2-*:1.0.2
منتشر شد. نسخه 1.0.2 media2-{common,player,session}
شامل این commit ها و نسخه 1.0.2 media2-widget
حاوی این commit ها است.
رفع اشکال
- یک
IndexOutOfBoundsException
درMediaPlayer#getSelectedTrack()
رفع شد. ( aosp/987003 ) - مدیریت بهبود یافته مواردی که ExoPlayer با getDuration() تماس می گیرد و آیتم رسانه وجود ندارد ( aosp/987484 )
- رفع اشکالی که در آن ExoPlayer هنگام فراخوانی
getDuration()
در حالتIDLE
( aosp/987246 ) یکIllegalStateException
پرتاب نمیکند. - به Parcelable های سفارشی برای media2 اجازه ندهید ( aosp/1091056 )
- رفع مشکلی که باعث hanging in
close()
( aosp/1096455 ) شد - MediaBrowser: مدیریت خطاها در
subscribe()
باMediaBrowserService
( aosp/1158057 ) بهبود یافته است. - رفع خرابی MediaController با Framework MediaSession ( aosp/1177663 )
- هنگام برقراری اتصال، اطلاعات جلسه را از طریق تماسهای برگشتی اعلام نکنید ( aosp/1195030 ، b/142925848 )
- رفع مشکلی که در آن SessionResult میتواند بیش از یک بار بهطور غیرمنتظره از MediaController ارسال شود ( aosp/1198634 )
- مشکلی را برطرف کرد که در آن MediaController ممکن است دستورات غیرمجاز را به MediaSession ارسال کند، بنابراین MediaSession اکنون
RESULT_ERROR_PERMISSION_DENIED
( aosp/1204183 ) را ارسال میکند. - رفع یک مشکل پوسته پوسته با
MediaControllerView#setPlayer
( aosp/987004 )
نسخه 1.0.1
نسخه 1.0.1
9 اکتبر 2019
androidx.media2:media2-*:1.0.1
منتشر شد. نسخه 1.0.1 androidx.media2:media2-{player, session}:1.0.1
حاوی این commit ها و نسخه 1.0.1 androidx.media2:media2-widget:1.0.1
شامل این commit ها است .
رفع اشکال
- رفع یک RuntimeException زمانی که یک زیر کلاس از MediaItem در سراسر فرآیند ارسال می شود ( aosp/1098971 )
- رفع مشکلی که در آن MediaPlayer فقط یک بار هنگام پخش لیست پخش،
onCurrentMediaItemChanged()
را فرا می خواند. - رفع مشکلی که MediaPlayer میتوانست یک لیست پخش با بیش از ۲ آیتم پخش کند ( aosp/1108440 )
- مشکلی که در آن پخش کننده همچنان در SurfaceView بازی می کند، حتی اگر نامرئی باشد، برطرف شد
- رفع مشکل پخش VideoView که هنگام تماس با
setViewType
قبل ازsetPlayer
رخ میدهد.
نسخه 1.0.0
5 سپتامبر 2019
androidx.media2:media2-*:1.0.0
منتشر شد. اینها تعهدات شامل media2-{player, session}:1.0.0 و اینها تعهدات موجود در media2-widget:1.0.0 هستند.
ویژگی های اصلی Media2 1.0.0
Media2 نسل بعدی API های Media زیر است: MediaSession
، MediaController
، MediaBrowser
، MediaBrowserService
، VideoView
و MediaControlView
.
-
media2.player.MediaPlayer
- APIها بیشتر با
android.media.MediaPlayer
مطابقت دارند و موتور اصلی ExoPlayer است. - فوکوس صوتی داخلی و کنترل نویز
- SessionPlayer را پیاده سازی می کند
- APIها بیشتر با
-
media2.session.MediaSession
- کنترلهای مجوز دقیق را ارائه میکند
- از طرح بندی های سفارشی پشتیبانی می کند
- استفاده آسان با SessionPlayer، مانند
androidx.media2.player.MediaPlayer
- قابل همکاری با
MediaControllerCompat
-
media2.session.MediaSessionService
- یک نسخه سبک از
MediaLibraryService
- مدیریت چرخه عمر سرویس را برای پخش پسزمینه فراهم میکند
- قابل همکاری با
MediaControllerCompat
وMediaBrowserServiceCompat
- یک نسخه سبک از
-
media2.session.MediaLibraryService
- از صفحه بندی بهتر برای پیمایش آیتم های رسانه یا نتایج جستجو که موارد زیادی را در خود جای می دهند، پشتیبانی می کند
- قابل همکاری با
MediaControllerCompat
وMediaBrowserServiceCompat
-
media2.session.MediaController
- می تواند به
MediaSession
،MediaSessionService
وMediaLibraryService
متصل شود - قابل همکاری با
MediaSessionCompat
وMediaBrowserServiceCompat
- می تواند به
-
media2.session.MediaBrowser
-
MediaController
را به ارث می برد - می تواند به
MediaSession
،MediaSessionService
وMediaLibraryService
متصل شود - قابل همکاری با
MediaSessionCompat
وMediaBrowserServiceCompat
-
-
media2.widget.VideoView
- شامل تمام قابلیت های
android.widget.VideoView
است - سوئیچ بین
TextureView
وSurfaceView
را فراهم می کند - می تواند با
MediaSession
کار کند
- شامل تمام قابلیت های
-
media2.widget.MediaControlView
- ظاهر و احساس بهتری دارد
- شامل تمام قابلیت های
android.widget.MediaController
است - انتخاب آهنگ زیرنویس، انتخاب سرعت پخش و حالت تمام صفحه را ارائه می دهد
نسخه 1.0.0-rc02
22 آگوست 2019
androidx.media2:media2-*:1.0.0-rc02
منتشر شده است و تغییرات موجود در این نسخه را می توانید در اینجا بیابید. این نسخه شامل androidx.media2:media2-widget:1.0.0-rc02
است و تغییرات موجود در این نسخه را میتوانید در اینجا بیابید.
ویژگی های جدید
- هنگامی که
MediaControlView
بهVideoView
تعلق دارد،setPlayer
یاsetController
دیگر مجاز به فراخوانی از طریقMediaControlView
(MCV) نیستند.
رفع اشکال
-
MediaControlView
: دکمه های بعدی و قبلی فقط زمانی قابل کلیک هستند که موارد رسانه بعدی یا قبلی وجود داشته باشد -
MediaControlView
: هنگامی کهonAttachedToWindow()
فراخوانی می شود، یکNullPointerException
پوسته پوسته را برطرف کرد. - وقتی آیتم رسانه فعلی تغییر کرد، ابزارک Media2 اکنون فراداده مورد رسانه جدید را به درستی مدیریت میکند.
Media2-Widget نسخه 1.0.0-beta01
2 جولای 2019
androidx.media2:media2-widget:1.0.0-beta01
منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
- پخش پسزمینه: بهجای ایجاد پخشکننده در داخل VideoView، VideoView میتواند SessionPlayer یا MediaController را بگیرد تا برنامه بتواند یکپارچه به حالت پخش پسزمینه حرکت کند.
- وابستگی با کتابخانه media2-player حذف شد
- در
onViewTypeChangedListener
اضافه شد
API تغییر می کند
- تغییر دید از عمومی به محافظت شده:
-
VideoView.onMeasure(int, int)
-
VideoView.onAttachedToWindow()
-
VideoView.onDetachedFromWindow()
-
MediaControlView.onMeasure(int, int)
-
- حذف شد:
-
VideoView.getSessionToken()
-
VideoView.setAudioAttributes(AudioAttributesCompat)
-
VideoView.setMedaItem(MediaItem)
-
MediaControlView.setSessionToken(SessionToken)
-
- اضافه شد:
-
VideoView.setMediaController(MediaController)
-
VideoView.getMediaControlView()
-
VideoView.setMediaController(MediaController)
-
VideoView.setPlayer(SessionPlayer)
-
VideoView.setOnViewTypeChangedListener()
-
MediaControlView.setPlayer(SessionPlayer)
-
MediaControlView.setMediaController(MediaContoller)
-
نسخه 1.0.0-rc01
18 ژوئن 2019
androidx.media2:media2-common:1.0.0-rc01
، androidx.media2:media2-player:1.0.0-rc01
و androidx.media2:media2-session:1.0.0-rc01
منتشر شد. commit های موجود در این نسخه را می توانید در اینجا بیابید.
API تغییر می کند
وابستگی ها به
ListenableFuture
به پیاده سازی مستقل Guava منتقل شده اند.توجه داشته باشید که اگر اهداف آزمایشی دارید که به مصنوع کامل گواوا بستگی دارد، ممکن است هنگام استفاده از نسخههای خاصی از پلاگین Android Gradle با یک تضاد وضوح وابستگی مواجه شوید. اگر با خطای
Could not resolve all artifacts
مربوط بهListenableFuture
مواجه شدید، میتوانید به طور موقت با اضافه کردنandroid.dependency.useConstraints=false
به پیکربندی ساخت پروژه خود، مشکل را حل کنید. ما در حال حاضر در حال کار بر روی یک تعمیر دائمی در افزونه Android Gradle هستیم تا در تاریخ بعدی منتشر شود.
نسخه 1.0.0-beta02
5 ژوئن 2019
androidx.media2:media2-common:1.0.0-beta02
، androidx.media2:media2-player:1.0.0-beta02
و androidx.media2:media2-session:1.0.0-beta02
منتشر شدند. commit های موجود در این نسخه را می توانید در اینجا بیابید.
رفع اشکال
- تنظیم سرعت پخش منفی در androidx.media.player.MediaPlayer RESULT_ERROR_BAD_VALUE را برمیگرداند.
- جایگزین Guava ListenableFuture با اجرای Jetpack ( aosp/968828 )
نسخه 1.0.0-beta01
7 مه 2019
androidx.media2:media2-common:1.0.0-beta01
، androidx.media2:media2-player:1.0.0-beta01
و androidx.media2:media2-session:1.0.0-beta01
منتشر شدند. commit های موجود در این نسخه را می توانید در اینجا بیابید.
ویژگی های جدید
- کتابخانه ها به 3 قسمت تقسیم می شوند: media2-common، media2-player، media2-session
-
IllegalPointerException
برای آرگومان های تهی که به عنوان @NonNull علامت گذاری شده اند بهNullPointerException
تغییر داد.
API تغییر می کند
-
MediaController.Builder
را معرفی کرد - روش های تنظیم کننده برای فیلدهای اختیاری
FileMediaItem.Builder
اضافه شده است -
MediaController
وMediaBrowser
می توانند نکات اتصال برنامه را بهMediaSession
،MediaSessionService
یاMediaLibraryService
ارسال کنند. - برخی از روشها برای پیروی از APIهای Android 10 Media2 تغییر نام دادهاند
نسخه 1.0.0-alpha04
17 دسامبر 2018
API تغییر می کند
- کلاس های زیر را تغییر نام داد:
-
MediaPlayer2
→MediaPlayer
-
MediaSession2
→MediaSession
-
MediaController2
→MediaController
-
MediaSessionService2
→MediaSessionService
-
MediaLibraryService2
→MediaLibraryService
-
MediaBrowser2
→MediaBrowser
-
MediaMetadata2
→MediaMetadata
-
Rating2
→Rating
-
SessionToken2
→SessionToken
-
SessionCommand2
→SessionCommand
-
SessionCommandGroup2
→SessionCommandGroup
-
- کلاس های زیر را ادغام کرد:
-
DataSourceDesc2
وMediaItem2
درMediaItem
ترکیب شده اند -
MediaPlaylistAgent
وMediaPlayerConnector
درSessionPlayer
ترکیب شده اند
-
- زیر کلاسهای
Rating
زیر را اضافه کرد:HeartRating
،PercentageRating
،StarRating
، وThumbRating
-
Media2
اکنون ازListenableFuture
برای متدهای همگام استفاده می کند