Wenn du die Cast-Sitzung deiner App konfigurieren möchtest, gib eine OptionsProvider an. Verwende das vom Anbieter erstellte CastOptions-Objekt, um die Anwendungs-ID der Empfänger-App festzulegen, den Lebenszyklus von Sitzungen zu verwalten und das Verhalten der Medienwiedergabe anzupassen.
Standardanbieter für Optionen verwenden
Für eine einfache Einrichtung, bei der die Standard-Cast-Empfänger-App verwendet wird, fügen Sie der AndroidManifest.xml-Datei Ihrer App die DefaultCastOptionsProvider hinzu:
<application>
...
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="androidx.media3.cast.DefaultCastOptionsProvider" />
...
</application>
Benutzerdefinierten Optionsanbieter erstellen
Für komplexere Konfigurationen, z. B. zum Festlegen einer benutzerdefinierten Empfänger-Anwendungs-ID, musst du eine eigene OptionsProvider erstellen.
1. Anbieter im Manifest deklarieren
Deklarieren Sie zuerst Ihren benutzerdefinierten Anbieter in AndroidManifest.xml. Achten Sie darauf, den voll qualifizierten Klassennamen zu verwenden.
<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-Schnittstelle implementieren
Erstellen Sie als Nächstes eine Klasse, die die Schnittstelle OptionsProvider implementiert. In dieser Klasse müssen Sie getCastOptions() überschreiben, um eine CastOptions-Instanz zurückzugeben.
In der benutzerdefinierten OptionsProvider-Klasse konfigurierst du deine Cast-Sitzung, z. B. durch Festlegen der Anwendungs-ID deiner benutzerdefinierten Empfänger-App.
Weitere Informationen findest du unter 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; } }