Per configurare la sessione di Cast della tua app, fornisci un OptionsProvider. Utilizza l'oggetto
CastOptions creato dal fornitore per impostare l'ID applicazione ricevitore,
gestire i cicli di vita delle sessioni e personalizzare il comportamento di riproduzione dei contenuti multimediali.
Utilizzare il fornitore 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>
Crea un fornitore di opzioni personalizzato
Per configurazioni più avanzate, ad esempio l'impostazione di un ID applicazione ricevitore personalizzato, devi creare un OptionsProvider.
1. Dichiarare il fornitore nel manifest
Innanzitutto, dichiara il tuo fornitore 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 eseguire l'override di getCastOptions() per restituire un'istanza CastOptions.
La classe personalizzata OptionsProvider è dove configuri la sessione Cast, ad esempio impostando l'ID applicazione ricevitore personalizzato.
Per saperne di più, vedi 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; } }