Para configurar la sesión de Cast de tu app, proporciona un OptionsProvider. Usa el objeto CastOptions que compiló el proveedor para establecer el ID de aplicación receptora, administrar los ciclos de vida de las sesiones y personalizar el comportamiento de la reproducción de contenido multimedia.
Usa el proveedor de opciones predeterminado
Para una configuración básica que use la aplicación de receptor de Cast predeterminada, agrega el elemento DefaultCastOptionsProvider al archivo AndroidManifest.xml de tu app:
<application>
...
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="androidx.media3.cast.DefaultCastOptionsProvider" />
...
</application>
Crea un proveedor de opciones personalizado
Para configuraciones más avanzadas, como establecer un ID de aplicación de receptor personalizado, debes crear tu propio OptionsProvider.
1. Declara el proveedor en tu manifiesto
Primero, declara tu proveedor personalizado en AndroidManifest.xml. Asegúrate de usar
el nombre de clase completamente calificado.
<application>
...
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="path.to.your.class.MyCustomCastOptionsProvider" />
...
</application>
2. Implementa la interfaz OptionsProvider
A continuación, crea una clase que implemente la interfaz OptionsProvider. En esta clase, debes anular getCastOptions() para que devuelva una instancia de CastOptions.
La clase OptionsProvider personalizada es donde configuras tu sesión de Cast, por ejemplo, estableciendo el ID de aplicación de tu receptor personalizado.
Para obtener más información, consulta 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; } }