Untuk mengonfigurasi sesi Cast aplikasi Anda, berikan OptionsProvider. Gunakan objek
CastOptions yang dibuat oleh penyedia untuk menetapkan ID aplikasi penerima, mengelola siklus proses sesi, dan menyesuaikan perilaku pemutaran media.
Menggunakan penyedia opsi default
Untuk penyiapan dasar yang menggunakan aplikasi penerima Cast default, tambahkan
DefaultCastOptionsProvider ke file AndroidManifest.xml aplikasi Anda:
<application>
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="androidx.media3.cast.DefaultCastOptionsProvider" />
</application>
Membuat penyedia opsi kustom
Untuk konfigurasi yang lebih canggih, seperti menyetel ID aplikasi penerima kustom, Anda harus membuat OptionsProvider Anda sendiri.
1. Mendeklarasikan penyedia dalam manifes Anda
Pertama, deklarasikan penyedia kustom Anda di AndroidManifest.xml. Pastikan untuk menggunakan nama class yang sepenuhnya memenuhi syarat.
<application>
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="path.to.your.class.MyCustomCastOptionsProvider" />
</application>
2. Menerapkan antarmuka OptionsProvider
Selanjutnya, buat class yang mengimplementasikan antarmuka OptionsProvider. Dalam
class ini, Anda harus mengganti getCastOptions() untuk menampilkan instance CastOptions.
Class OptionsProvider kustom adalah tempat Anda mengonfigurasi sesi Cast, misalnya, dengan menetapkan ID aplikasi penerima kustom.
Untuk mengetahui informasi selengkapnya, lihat 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; } }