Aby skonfigurować sesję przesyłania aplikacji, podaj OptionsProvider. Użyj obiektu
CastOptions utworzonego przez dostawcę, aby ustawić identyfikator aplikacji odbiornika, zarządzać cyklami życia sesji i dostosować zachowanie odtwarzania multimediów.
Korzystanie z domyślnego dostawcy opcji
W przypadku podstawowej konfiguracji, która korzysta z domyślnej aplikacji odbiornika Cast, dodaj DefaultCastOptionsProvider do pliku AndroidManifest.xml aplikacji:
<application>
...
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="androidx.media3.cast.DefaultCastOptionsProvider" />
...
</application>
Tworzenie niestandardowego dostawcy opcji
W przypadku bardziej zaawansowanych konfiguracji, np. ustawienia niestandardowego identyfikatora aplikacji odbiornika, musisz utworzyć własny OptionsProvider.
1. Zadeklaruj dostawcę w pliku manifestu
Najpierw zadeklaruj niestandardowego dostawcę w pliku AndroidManifest.xml. Pamiętaj, aby użyć pełnej i jednoznacznej nazwy klasy.
<application>
...
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="path.to.your.class.MyCustomCastOptionsProvider" />
...
</application>
2. Zaimplementuj interfejs OptionsProvider
Następnie utwórz klasę, która implementuje interfejs OptionsProvider. W tej
klasie musisz zastąpić getCastOptions(), aby zwracać instancję CastOptions.
W niestandardowej klasie OptionsProvider konfigurujesz sesję przesyłania, np. ustawiając niestandardowy identyfikator aplikacji odbiornika.
Więcej informacji znajdziesz w artykule 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 @Nullable public List<SessionProvider> getAdditionalSessionProviders(Context context) { return null; } }