Media2

แชร์เนื้อหาและการควบคุมสื่อกับแอปอื่นๆ
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า เวอร์ชันอัลฟ่า
10 มกราคม 2024 1.3.0 - - -

การประกาศทรัพยากร Dependency

หากต้องการเพิ่มทรัพยากร Dependency ของ Media2 คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมในที่เก็บ 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"
}

Kotlin

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 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 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 มีการคอมมิตเหล่านี้

เวอร์ชัน 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 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • androidx.media2 เลิกใช้งานแล้วในตอนนี้ ให้ใช้ androidx.media3 แทน (I53164)

เวอร์ชัน 1.2.1

เวอร์ชัน 1.2.1

9 กุมภาพันธ์ 2022

androidx.media2:media2-*:1.2.1 ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.1 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขการตรวจสอบ Parcelable ที่กําหนดเองเมื่อกําหนดเป้าหมาย API 33

เวอร์ชัน 1.2.0

เวอร์ชัน 1.2.0

15 กันยายน 2021

androidx.media2:media2-*:1.2.0 ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงที่สําคัญตั้งแต่เวอร์ชัน 1.1.0

  • รองรับการทำงานร่วมกันกับสื่อ AndroidX ของ (prepare|play)From(MediaId|Uri|Search)
  • เพิ่ม 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 มีการคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไข ANR เมื่อปิดการแจ้งเตือนสื่อ (Ifdcc2, b/148011394)

เวอร์ชัน 1.2.0-beta01

30 มิถุนายน 2021

androidx.media2:media2-*:1.2.0-beta01 ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-beta01 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • รองรับการทำงานร่วมกันกับสื่อ AndroidX ของ (prepare|play)From(MediaId|Uri|Search)

การเปลี่ยนแปลง 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 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • เพิ่มการรองรับ (prepare|play)From(MediaId|Uri|Search) (I13475, b/176949057)

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาการล็อกคิวที่เกิดจากบล็อกที่มีการซิงค์ที่ไม่จำเป็น
  • รีเซ็ตเพลเยอร์เมื่อไม่มีรายการที่เล่นได้
  • อนุญาตให้ onCurrentMediaItemChanged ใช้รายการสื่อ Null
  • อัปเดตการแจ้งเตือนเมื่อมีการเปลี่ยนแปลงรายการสื่อปัจจุบัน
  • แก้ไขการทำงานร่วมกันกับอุปกรณ์ควบคุมที่เข้ากันได้ทันทีหลังจากสร้างเซสชัน

เวอร์ชัน 1.1.3

เวอร์ชัน 1.1.3

21 เมษายน 2021

androidx.media2:media2-*:1.1.3 ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.3 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาการล็อกตายที่เกิดจากบล็อกที่มีการซิงค์ที่ไม่จำเป็น

เวอร์ชัน 1.1.2

เวอร์ชัน 1.1.2

27 มกราคม 2021

androidx.media2:media2-*:1.1.2 ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.2 มีการคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

เวอร์ชัน 1.1.1

เวอร์ชัน 1.1.1

16 ธันวาคม 2020

androidx.media2:media2-*:1.1.1 ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.1 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • อัปเดตการแจ้งเตือนสื่อเมื่อมีการเปลี่ยนแปลงรายการสื่อปัจจุบัน

เวอร์ชัน 1.1.0

เวอร์ชัน 1.1.0

2 ธันวาคม 2020

androidx.media2:media2-*:1.1.0 ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 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 มีการคอมมิตเหล่านี้

  • แก้ไขปัญหาที่ MediaController แจ้งการเรียกกลับขณะที่ล็อกอยู่ ซึ่งอาจทำให้ระบบเกิดภาวะหยุดทำงาน (I76c56
  • แก้ไขปัญหาที่ MediaSessionImplBase#isClosed() อาจขัดข้องเมื่อเรียกใช้ getCurrentControllerInfo() ใน MediaSessionCompat ที่เผยแพร่แล้ว (aosp/1423291]
  • แก้ไขปัญหาที่ media2 MediaSession ไม่ได้ตั้งค่ารหัสรายการคิวที่ใช้งานอยู่เป็น PlaybackStateCompat (aosp/1421652)
  • เพิ่ม Flag BIND_INCLUDE_CAPABILITIES เมื่อเชื่อมโยงกับบริการ ซึ่งช่วยให้แอปพลิเคชันสื่อแบบ Headless เข้าถึงตำแหน่งได้หากมีสิทธิ์ ซึ่งจะเป็นประโยชน์อย่างยิ่งสำหรับแอป Android Auto (aosp/1440731)

เวอร์ชัน 1.1.0-beta01

16 กันยายน 2020

androidx.media2:media2-*:1.1.0-beta01 ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-beta01 มีการคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • รีเซ็ตตำแหน่งปัจจุบันเมื่อรายการสื่อเปลี่ยนแปลง
  • ส่งข้อมูลเมตาและสถานะการบัฟเฟอร์เมื่อเชื่อมต่อ
  • แก้ไขข้อขัดข้องเมื่อส่งข้อมูลขนาดใหญ่ระหว่างเซสชันกับตัวควบคุม
  • เพิ่ม <queries> ลงในไฟล์ Manifest สำหรับ media และ 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 มีการคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาเกี่ยวกับเวลาเมื่ออัปเดตข้อมูลเมตา (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 ได้รับการปล่อยแล้ว media2-{common,player,session} เวอร์ชัน 1.0.3 มีการคอมมิตเหล่านี้ และ media2-widget เวอร์ชัน 1.0.3 มีการคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไข NullPointerException เมื่อสร้าง MediaController ด้วย Callback แบบ Null
  • แก้ไขปัญหาที่ไม่มีการเรียก onPlaylistChanged() หลัง MediaPlayer.setMediaItem

เวอร์ชัน 1.0.2

เวอร์ชัน 1.0.2

5 กุมภาพันธ์ 2020

androidx.media2:media2-*:1.0.2 ได้รับการปล่อยแล้ว media2-{common,player,session} เวอร์ชัน 1.0.2 มีการคอมมิตเหล่านี้ และ media2-widget เวอร์ชัน 1.0.2 มีการคอมมิตเหล่านี้

แก้ไขข้อบกพร่อง

  • แก้ไข IndexOutOfBoundsException ใน MediaPlayer#getSelectedTrack() แล้ว (aosp/987003)
  • ปรับปรุงการจัดการในกรณีที่ ExoPlayer เรียก getDuration() และไม่มีรายการสื่อ (aosp/987484)
  • แก้ไขข้อบกพร่องที่ ExoPlayer จะไม่แสดง IllegalStateException เมื่อเรียก getDuration() ในสถานะ IDLE (aosp/987246)
  • ไม่อนุญาตให้ใช้ Parcelable ที่กําหนดเองสําหรับ media2 (aosp/1091056)
  • แก้ไขปัญหาที่ทำให้ค้างใน close() (aosp/1096455)
  • MediaBrowser: ปรับปรุงการจัดการข้อผิดพลาดใน subscribe() ด้วย MediaBrowserService (aosp/1158057)
  • แก้ไขข้อขัดข้องของ MediaController กับ MediaSession ของเฟรมเวิร์ก(aosp/1177663)
  • อย่าแจ้งข้อมูลเซสชันผ่านคอลแบ็กเมื่อมีการเชื่อมต่อ (aosp/1195030, b/142925848)
  • แก้ไขปัญหาที่ MediaController ส่ง SessionResult มากกว่า 1 ครั้งโดยไม่คาดหมาย (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 ได้รับการปล่อยแล้ว androidx.media2:media2-{player, session}:1.0.1 เวอร์ชัน 1.0.1 มีการคอมมิตเหล่านี้ และ androidx.media2:media2-widget:1.0.1 เวอร์ชัน 1.0.1 มีการคอมมิตเหล่านี้

แก้ไขข้อบกพร่อง

  • แก้ไข RuntimeException เมื่อส่งคลาสย่อยของ MediaItem ผ่านกระบวนการ (aosp/1098971)
  • แก้ไขปัญหาที่ MediaPlayer เรียก onCurrentMediaItemChanged() เพียงครั้งเดียวเมื่อเล่นเพลย์ลิสต์
  • แก้ไขปัญหาที่ MediaPlayer เล่นเพลย์ลิสต์ที่มีรายการมากกว่า 2 รายการไม่ได้ (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 เป็น Media API รุ่นถัดไปของ 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 และดูการเปลี่ยนแปลงที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

ฟีเจอร์ใหม่

  • ไม่อนุญาตให้เรียก setPlayer หรือ setController ผ่าน MediaControlView (MCV) อีกต่อไปเมื่อ MediaControlView เป็นของ VideoView

แก้ไขข้อบกพร่อง

  • MediaControlView: ปุ่มถัดไปและก่อนหน้าจะคลิกได้ก็ต่อเมื่อมีรายการสื่อถัดไปหรือก่อนหน้าเท่านั้น
  • MediaControlView: แก้ไขNullPointerExceptionที่ไม่เสถียรเมื่อเรียกใช้ onAttachedToWindow()
  • ตอนนี้วิดเจ็ต Media2 จะจัดการข้อมูลเมตาของรายการสื่อใหม่อย่างถูกต้องเมื่อรายการสื่อปัจจุบันมีการเปลี่ยนแปลง

Media2-Widget เวอร์ชัน 1.0.0-beta01

2 กรกฎาคม 2019

androidx.media2:media2-widget:1.0.0-beta01 ได้รับการปล่อยแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

ฟีเจอร์ใหม่

  • การเล่นขณะล็อกหน้าจอหรือขณะใช้แอปอื่น: VideoView สามารถใช้ SessionPlayer หรือ MediaController แทนการสร้างโปรแกรมเล่นภายใน VideoView เพื่อให้แอปเปลี่ยนไปใช้โหมดการเล่นขณะล็อกหน้าจอหรือขณะใช้แอปอื่นได้อย่างราบรื่น
  • นำการพึ่งพาไลบรารี 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 เผยแพร่แล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

การเปลี่ยนแปลง API

  • ระบบได้ย้ายข้อมูลการพึ่งพา ListenableFuture กลับไปใช้การติดตั้งใช้งานแบบสแตนด์อโลนของ Guava แล้ว

  • โปรดทราบว่าหากคุณมีเป้าหมายการทดสอบที่ขึ้นอยู่กับอาร์ติแฟกต์ Guava แบบสมบูรณ์ คุณอาจพบข้อขัดแย้งในการแก้ไขข้อกำหนดเมื่อใช้ปลั๊กอิน Gradle ของ Android บางเวอร์ชัน หากพบข้อผิดพลาด 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 เผยแพร่แล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

แก้ไขข้อบกพร่อง

  • การตั้งค่าความเร็วในการเล่นเป็นลบใน 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 เผยแพร่แล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

ฟีเจอร์ใหม่

  • โดยคลังจะแบ่งออกเป็น 3 ส่วน ได้แก่ media2-common, media2-player และ media2-session
  • เปลี่ยน IllegalPointerException เป็น NullPointerException สำหรับอาร์กิวเมนต์ Null ที่ทำเครื่องหมายเป็น @NonNull

การเปลี่ยนแปลง API

  • เปิดตัว MediaController.Builder
  • เพิ่มเมธอด setter สำหรับช่องที่ไม่บังคับของ FileMediaItem.Builder
  • MediaController และ MediaBrowser สามารถส่งคำแนะนำการเชื่อมต่อของแอปพลิเคชันไปยัง MediaSession, MediaSessionService หรือ MediaLibraryService
  • เมธอดบางรายการเปลี่ยนชื่อเพื่อให้สอดคล้องกับ Media2 API ของ Android 10

เวอร์ชัน 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 สำหรับเมธอดแบบไม่พร้อมกัน