Pour configurer la session Cast de votre application, fournissez un OptionsProvider. Utilisez l'objet CastOptions créé par le fournisseur pour définir l'ID de l'application réceptrice, gérer les cycles de vie des sessions et personnaliser le comportement de lecture multimédia.
Utiliser le fournisseur d'options par défaut
Pour une configuration de base qui utilise l'application réceptrice Cast par défaut, ajoutez DefaultCastOptionsProvider au fichier AndroidManifest.xml de votre application :
<application>
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="androidx.media3.cast.DefaultCastOptionsProvider" />
</application>
Créer un fournisseur d'options personnalisé
Pour les configurations plus avancées, comme la définition d'un ID d'application réceptrice personnalisé, vous devez créer votre propre OptionsProvider.
1. Déclarer le fournisseur dans votre fichier manifeste
Tout d'abord, déclarez votre fournisseur personnalisé dans AndroidManifest.xml. Veillez à utiliser le nom de classe complet.
<application>
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="path.to.your.class.MyCustomCastOptionsProvider" />
</application>
2. Implémenter l'interface OptionsProvider
Ensuite, créez une classe qui implémente l'interface OptionsProvider. Dans cette classe, vous devez remplacer getCastOptions() pour renvoyer une instance CastOptions.
La classe OptionsProvider personnalisée vous permet de configurer votre session Cast, par exemple en définissant l'ID de votre application réceptrice personnalisée.
Pour en savoir plus, consultez 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; } }