หากต้องการกำหนดค่าเซสชัน Cast ของแอป ให้ระบุ OptionsProvider ใช้ออบเจ็กต์
CastOptions ที่ผู้ให้บริการสร้างขึ้นเพื่อตั้งค่ารหัสแอปพลิเคชันตัวรับ
จัดการวงจรเซสชัน และปรับแต่งลักษณะการทำงานของการเล่นสื่อ
ใช้ผู้ให้บริการตัวเลือกเริ่มต้น
สำหรับการตั้งค่าพื้นฐานที่ใช้แอปพลิเคชันตัวรับ Cast เริ่มต้น ให้เพิ่ม
DefaultCastOptionsProviderลงในไฟล์ AndroidManifest.xml ของแอป
<application>
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="androidx.media3.cast.DefaultCastOptionsProvider" />
</application>
สร้างผู้ให้บริการตัวเลือกที่กำหนดเอง
สำหรับการกำหนดค่าขั้นสูงเพิ่มเติม เช่น การตั้งค่าแอปพลิเคชันตัวรับสัญญาณที่กำหนดเอง
ID คุณต้องสร้าง OptionsProvider ของคุณเอง
1. ประกาศผู้ให้บริการในไฟล์ Manifest
ก่อนอื่น ให้ประกาศผู้ให้บริการที่กำหนดเองใน AndroidManifest.xml โปรดใช้
ชื่อคลาสที่สมบูรณ์
<application>
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="path.to.your.class.MyCustomCastOptionsProvider" />
</application>
2. ใช้อินเทอร์เฟซ OptionsProvider
จากนั้นสร้างคลาสที่ใช้OptionsProviderอินเทอร์เฟซ ในคลาสนี้ คุณต้องแทนที่ getCastOptions() เพื่อแสดงผลอินสแตนซ์ CastOptions
คลาส OptionsProvider ที่กำหนดเองคือที่ที่คุณกำหนดค่าเซสชัน Cast เช่น โดยการตั้งค่ารหัสแอปพลิเคชันตัวรับที่กำหนดเอง
ดูข้อมูลเพิ่มเติมได้ที่ CastOptions.Builder
Kotlin
import android.content.Context import com.google.android.gms.cast.framework.CastOptions import com.google.android.gms.cast.framework.OptionsProvider import com.google.android.gms.cast.framework.SessionProvider class MyCustomCastOptionsProvider: OptionsProvider { override fun getCastOptions(context: Context): CastOptions { return CastOptions .Builder() .setReceiverApplicationId(APP_ID) .setRemoteToLocalEnabled(true) .build() } override fun getAdditionalSessionProviders( context: Context ): List<SessionProvider>? { return null } companion object { // Add your receiver app ID in <APP_ID> private const val APP_ID = "<APP_ID>" } }
Java
import android.content.Context; import com.google.android.gms.cast.framework.CastOptions; import com.google.android.gms.cast.framework.OptionsProvider; import com.google.android.gms.cast.framework.SessionProvider; import java.util.List; public final class MyCustomCastOptionsProvider implements OptionsProvider { // Add your receiver app ID in <APP_ID> public static final String APP_ID = "<APP_ID>"; @Override public CastOptions getCastOptions(Context context) { return new CastOptions.Builder() .setReceiverApplicationId(APP_ID) .setRemoteToLocalEnabled(true) .build(); } @Override public List<SessionProvider> getAdditionalSessionProviders(Context context) { return null; } }