برای پیکربندی جلسهی Cast برنامهی خود، یک OptionsProvider ارائه دهید. از شیء CastOptions که توسط ارائهدهنده ساخته شده است، برای تنظیم شناسهی برنامهی گیرنده، مدیریت چرخهی حیات جلسه و سفارشیسازی رفتار پخش رسانه استفاده کنید.
از ارائه دهنده گزینههای پیشفرض استفاده کنید
برای یک تنظیم اولیه که از برنامه پیشفرض گیرنده Cast استفاده میکند، DefaultCastOptionsProvider را به فایل AndroidManifest.xml برنامه خود اضافه کنید:
<application>
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="androidx.media3.cast.DefaultCastOptionsProvider" />
</application>
ایجاد یک ارائه دهنده گزینههای سفارشی
برای پیکربندیهای پیشرفتهتر، مانند تنظیم شناسه برنامه گیرنده سفارشی، باید OptionsProvider خود را ایجاد کنید.
۱. ارائهدهنده را در مانیفست خود اعلام کنید
ابتدا، ارائهدهنده سفارشی خود را در AndroidManifest.xml تعریف کنید. حتماً از نام کلاس با مشخصات کامل استفاده کنید.
<application>
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="path.to.your.class.MyCustomCastOptionsProvider" />
</application>
۲. رابط OptionsProvider را پیادهسازی کنید
در مرحله بعد، کلاسی ایجاد کنید که رابط OptionsProvider را پیادهسازی کند. در این کلاس، باید getCastOptions() برای بازگرداندن یک نمونه CastOptions لغو کنید. کلاس سفارشی OptionsProvider جایی است که شما جلسه Cast خود را پیکربندی میکنید، برای مثال، با تنظیم شناسه برنامه گیرنده سفارشی خود.
برای اطلاعات بیشتر، به CastOptions.Builder مراجعه کنید.
کاتلین
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>" } }
جاوا
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; } }