رسانه 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 ها است.

رفع اشکال

نسخه 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 ها است.

رفع اشکال

نسخه 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 را پیاده سازی می کند
  • 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 تغییر می کند

  • کلاس های زیر را تغییر نام داد:
    • MediaPlayer2MediaPlayer
    • MediaSession2MediaSession
    • MediaController2MediaController
    • MediaSessionService2MediaSessionService
    • MediaLibraryService2MediaLibraryService
    • MediaBrowser2MediaBrowser
    • MediaMetadata2MediaMetadata
    • Rating2Rating
    • SessionToken2SessionToken
    • SessionCommand2SessionCommand
    • SessionCommandGroup2SessionCommandGroup
  • کلاس های زیر را ادغام کرد:
    • 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 ها است.

رفع اشکال

نسخه 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 ها است.

رفع اشکال

نسخه 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 را پیاده سازی می کند
  • 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 تغییر می کند

  • کلاس های زیر را تغییر نام داد:
    • MediaPlayer2MediaPlayer
    • MediaSession2MediaSession
    • MediaController2MediaController
    • MediaSessionService2MediaSessionService
    • MediaLibraryService2MediaLibraryService
    • MediaBrowser2MediaBrowser
    • MediaMetadata2MediaMetadata
    • Rating2Rating
    • SessionToken2SessionToken
    • SessionCommand2SessionCommand
    • SessionCommandGroup2SessionCommandGroup
  • کلاس های زیر را ادغام کرد:
    • DataSourceDesc2 و MediaItem2 در MediaItem ترکیب شده اند
    • MediaPlaylistAgent و MediaPlayerConnector در SessionPlayer ترکیب شده اند
  • زیر کلاس‌های Rating زیر را اضافه کرد: HeartRating ، PercentageRating ، StarRating ، و ThumbRating
  • Media2 اکنون از ListenableFuture برای متدهای همگام استفاده می کند