Para configurar a sessão do Cast do app, forneça um OptionsProvider. Use o objeto CastOptions criado pelo provedor para definir o ID do aplicativo receptor, gerenciar ciclos de vida da sessão e personalizar o comportamento de reprodução de mídia.
Usar o provedor de opções padrão
Para uma configuração básica que usa o aplicativo receptor padrão do Cast, adicione o
DefaultCastOptionsProvider ao arquivo AndroidManifest.xml do app:
<application>
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="androidx.media3.cast.DefaultCastOptionsProvider" />
</application>
Criar um provedor de opções personalizadas
Para configurações mais avançadas, como definir um ID de aplicativo receptor personalizado, crie seu próprio OptionsProvider.
1. Declarar o provedor no manifesto
Primeiro, declare seu provedor personalizado em AndroidManifest.xml. Use o nome de classe totalmente qualificado.
<application>
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="path.to.your.class.MyCustomCastOptionsProvider" />
</application>
2. Implementar a interface OptionsProvider
Em seguida, crie uma classe que implemente a interface OptionsProvider. Nessa
classe, você precisa substituir getCastOptions() para retornar uma instância CastOptions.
A classe OptionsProvider personalizada é onde você configura sua sessão do Cast, por exemplo, definindo o ID do aplicativo receptor personalizado.
Para mais informações, consulte 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; } }