如要設定應用程式的 Cast 工作階段,請提供 OptionsProvider。使用供應商建構的 CastOptions 物件,設定接收端應用程式 ID、管理工作階段生命週期,以及自訂媒體播放行為。
使用預設選項提供者
如要使用預設 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. 在資訊清單中宣告供應器
首先,在 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 工作階段,例如設定自訂接收端應用程式 ID。
詳情請參閱「CastOptions.Builder」。
Kotlin
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
public static 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 @Nullable List<SessionProvider> getAdditionalSessionProviders(Context context) { return null; } }