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 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไข NPE จาก VersionedParcelable (I1ec28, b/177060207)
เวอร์ชัน 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
- 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
และดูการเปลี่ยนแปลงที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์ใหม่
- ไม่อนุญาตให้เรียก
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
- เปลี่ยนชื่อชั้นเรียนต่อไปนี้
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
สำหรับเมธอดแบบไม่พร้อมกัน