Wenn Sie die Cast-Sitzung Ihrer App konfigurieren möchten, geben Sie einen OptionsProvider an. Mit dem
CastOptions-Objekt, das vom Anbieter erstellt wurde, können Sie die Empfängeranwendungs-ID festlegen,
Sitzungslebenszyklen verwalten und das Verhalten bei der Medienwiedergabe anpassen.
Standardoptionen-Anbieter verwenden
Für eine einfache Einrichtung, bei der die Standard-Cast-Empfängeranwendung verwendet wird, fügen Sie der Datei AndroidManifest.xml Ihrer App 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 Optionen-Anbieter erstellen
Für komplexere Konfigurationen, z. B. zum Festlegen einer benutzerdefinierten Empfängeranwendungs-ID, müssen Sie einen eigenen OptionsProvider erstellen.
1. Anbieter im Manifest deklarieren
Deklarieren Sie zuerst Ihren benutzerdefinierten Anbieter in AndroidManifest.xml. Verwenden Sie dabei den vollständig qualifizierten Klassennamen.
<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 OptionsProvider-Schnittstelle implementiert. In dieser
Klasse müssen Sie getCastOptions() überschreiben, um eine CastOptions Instanz zurückzugeben.
In der benutzerdefinierten OptionsProvider-Klasse konfigurieren Sie Ihre Cast-Sitzung, z. B. durch Festlegen Ihrer benutzerdefinierten Empfängeranwendungs-ID.
Weitere Informationen finden Sie 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 @Nullable public List<SessionProvider> getAdditionalSessionProviders(Context context) { return null; } }