AndroidX Media คือชุดของไลบรารีสำหรับการใช้งานสื่อบน Android รวมถึงการเล่นในเครื่อง (ผ่าน ExoPlayer) การตัดต่อวิดีโอ (ผ่าน Transformer) และเซสชันสื่อ
คุณจะพบคู่มือการย้ายข้อมูลสำหรับผู้ใช้ ExoPlayer และ MediaSession ที่มีอยู่ใน Developer.android.com
การเปิดตัว AndroidX Media ให้การรับประกันความเสถียรของ API ทำให้มั่นใจได้ว่าพื้นผิว API ยังคงเข้ากันได้แบบย้อนหลังสำหรับ API ที่ใช้บ่อยที่สุด API ที่มีไว้สำหรับกรณีการใช้งานขั้นสูงจะถูกทำเครื่องหมายว่าไม่เสถียร หากต้องการใช้วิธีการหรือคลาสที่ไม่เสถียรโดยไม่มีคำเตือน Lint คุณจะต้องเพิ่มคำอธิบายประกอบ OptIn ก่อนใช้งาน สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสาร UnstableApi
คุณสามารถรับไลบรารีได้จากที่เก็บ Google Maven นอกจากนี้ยังสามารถโคลนพื้นที่เก็บข้อมูล GitHub นี้และขึ้นอยู่กับโมดูลในเครื่องได้อีกด้วย
วิธีที่ง่ายที่สุดในการเริ่มต้นใช้งาน AndroidX Media คือการเพิ่มการพึ่งพาการไล่ระดับบนไลบรารีที่คุณต้องการในไฟล์ build.gradle.kts
ของโมดูลแอปของคุณ
ตัวอย่างเช่น หากต้องการพึ่งพา ExoPlayer พร้อมการสนับสนุนการเล่น DASH และส่วนประกอบ UI คุณสามารถเพิ่มการพึ่งพาในโมดูลดังนี้:
implementation( " androidx.media3:media3-exoplayer:1.X.X " )
implementation( " androidx.media3:media3-exoplayer-dash:1.X.X " )
implementation( " androidx.media3:media3-ui:1.X.X " )
หรือใน Gradle Groovy DSL build.gradle
:
implementation ' androidx.media3:media3-exoplayer:1.X.X '
implementation ' androidx.media3:media3-exoplayer-dash:1.X.X '
implementation ' androidx.media3:media3-ui:1.X.X '
โดยที่ 1.XX
เป็นเวอร์ชันที่คุณต้องการ โมดูลทั้งหมดต้องเป็นเวอร์ชันเดียวกัน
โปรดดูหน้า AndroidX Media3 Developer.android.com สำหรับข้อมูลเพิ่มเติม รวมถึงรายการโมดูลไลบรารีทั้งหมด
พื้นที่เก็บข้อมูลนี้มีโมดูลบางส่วนที่ต้องอาศัยไลบรารีภายนอกซึ่งจำเป็นต้องสร้างด้วยตนเอง และไม่พร้อมใช้งานจากพื้นที่เก็บข้อมูล Maven โปรดดูรายละเอียดเพิ่มเติมใน README แต่ละรายการภายใต้ไดเร็กทอรีไลบรารี
หากไม่ได้เปิดใช้งาน คุณจะต้องเปิดการรองรับ Java 8 ในไฟล์ build.gradle.kts
ทั้งหมด ขึ้นอยู่กับ AndroidX Media โดยเพิ่มส่วนต่อไปนี้ในส่วน android
:
compileOptions {
targetCompatibility = JavaVersion . VERSION_1_8
}
หรือใน Gradle Groovy DSL build.gradle
:
compileOptions {
targetCompatibility JavaVersion . VERSION_1_8
}
หาก Gradle minSdkVersion
ของคุณคือ 20 หรือต่ำกว่า คุณควรเปิดใช้งาน multidex เพื่อป้องกันข้อผิดพลาดของบิลด์
จำเป็นต้องมีการโคลนที่เก็บและขึ้นอยู่กับโมดูลในเครื่องเมื่อใช้บางไลบรารี นอกจากนี้ยังเป็นแนวทางที่เหมาะสมหากคุณต้องการเปลี่ยนแปลงในพื้นที่ หรือหากคุณต้องการใช้สาขา main
ขั้นแรก โคลนที่เก็บลงในไดเร็กทอรีในเครื่อง:
git clone https://github.com/androidx/media.git
จากนั้น เพิ่มสิ่งต่อไปนี้ลงในไฟล์ settings.gradle.kts
ของโปรเจ็กต์ของคุณ โดยแทนที่ path/to/media
ด้วยพาธไปยังสำเนาในเครื่องของคุณ:
(gradle as ExtensionAware ).extra[ " androidxMediaModulePrefix " ] = " media3- "
apply (from = file( " path/to/media/core_settings.gradle " ))
หรือใน Gradle Groovy DSL settings.gradle
:
gradle . ext . androidxMediaModulePrefix = ' media3- '
apply from : file( " path/to/media/core_settings.gradle " )
ตอนนี้คุณควรเห็นโมดูล AndroidX Media ปรากฏเป็นส่วนหนึ่งของโครงการของคุณ คุณสามารถพึ่งพาสิ่งเหล่านี้ได้จาก build.gradle.kts
เช่นเดียวกับที่คุณทำกับโมดูลโลคัลอื่นๆ ตัวอย่างเช่น:
implementation(project( " :media3-lib-exoplayer " ))
implementation(project( " :media3-lib-exoplayer-dash " ))
implementation(project( " :media3-lib-ui " ))
หรือใน Gradle Groovy DSL build.gradle
:
implementation project( ' :media3-lib-exoplayer ' )
implementation project( ' :media3-lib-exoplayer-dash ' )
implementation project( ' :media3-lib-ui ' )
ตามค่าเริ่มต้น โมดูล MIDI จะถูกปิดใช้งานเป็นการพึ่งพาในเครื่อง เนื่องจากต้องมีการกำหนดค่าที่เก็บ Maven เพิ่มเติม หากคุณต้องการใช้เป็นการพึ่งพาในเครื่อง โปรดกำหนดค่าพื้นที่เก็บข้อมูล JitPack ตามที่อธิบายไว้ในโมดูล README จากนั้นเปิดใช้งานการสร้างโมดูลในไฟล์ settings.gradle.kts
ของคุณ:
gradle.extra. apply {
set( " androidxMediaEnableMidiModule " , true )
}
หรือใน Gradle Groovy DSL settings.gradle
:
gradle . ext . androidxMediaEnableMidiModule = true
งานพัฒนาจะเกิดขึ้นที่สาขา main
โดยปกติแล้วการขอดึงข้อมูลควรทำที่สาขานี้
สาขา release
ถือเป็นการเผยแพร่ที่เสถียรล่าสุด
หากต้องการพัฒนา AndroidX Media โดยใช้ Android Studio เพียงเปิดโปรเจ็กต์ในไดเร็กทอรีรากของที่เก็บนี้