Per configurare la sessione di Cast della tua app, fornisci un OptionsProvider. Utilizza l'oggetto
CastOptions creato dal provider per impostare l'ID dell'applicazione ricevitore,
gestire i cicli di vita delle sessioni e personalizzare il comportamento di riproduzione dei contenuti multimediali.
Utilizzare il provider di opzioni predefinito
Per una configurazione di base che utilizza l'applicazione ricevitore Cast predefinita, aggiungi
DefaultCastOptionsProvider al file AndroidManifest.xml della tua app:
<application>
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="androidx.media3.cast.DefaultCastOptionsProvider" />
</application>
Creare un provider di opzioni personalizzato
Per configurazioni più avanzate, ad esempio l'impostazione di un ID dell'applicazione ricevitore personalizzato, devi creare il tuo OptionsProvider.
1. Dichiarare il provider nel file manifest
Innanzitutto, dichiara il provider personalizzato in AndroidManifest.xml. Assicurati di utilizzare
il nome completo della classe.
<application>
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="path.to.your.class.MyCustomCastOptionsProvider" />
</application>
2. Implementare l'interfaccia OptionsProvider
Successivamente, crea una classe che implementi l'interfaccia OptionsProvider. In questa
classe, devi sostituire getCastOptions() per restituire un'istanza CastOptions.
La classe OptionsProvider personalizzata è il punto in cui configuri la sessione di Cast, for
esempio, impostando l'ID dell'applicazione ricevitore personalizzato.
Per saperne di più, consulta 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; } }