कास्ट करने के विकल्प

अपने ऐप्लिकेशन के Cast सेशन को कॉन्फ़िगर करने के लिए, OptionsProvider उपलब्ध कराएं. रिसीवर ऐप्लिकेशन का आईडी सेट करने, सेशन के लाइफ़साइकल मैनेज करने, और मीडिया चलाने के तरीके को पसंद के मुताबिक बनाने के लिए, प्रोवाइडर की मदद से बनाए गए CastOptions ऑब्जेक्ट का इस्तेमाल करें.

डिफ़ॉल्ट विकल्पों के प्रोवाइडर का इस्तेमाल करना

बेसिक सेटअप के लिए, जो डिफ़ॉल्ट Cast रिसीवर ऐप्लिकेशन का इस्तेमाल करता है, अपने ऐप्लिकेशन की AndroidManifest.xml फ़ाइल में DefaultCastOptionsProvider जोड़ें:

<application>
  ...
  <meta-data
    android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
    android:value="androidx.media3.cast.DefaultCastOptionsProvider" />
  ...
</application>

कस्टम विकल्पों का प्रोवाइडर बनाना

ज़्यादा बेहतर कॉन्फ़िगरेशन के लिए, जैसे कि कस्टम रिसीवर ऐप्लिकेशन आईडी सेट करने के लिए, आपको अपना OptionsProvider बनाना होगा.

1. अपनी मेनिफ़ेस्ट फ़ाइल में, प्रोवाइडर के बारे में जानकारी देना

सबसे पहले, 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>

2. OptionsProvider इंटरफ़ेस लागू करना

इसके बाद, एक ऐसी क्लास बनाएं जो OptionsProvider इंटरफ़ेस को लागू करती हो. इस क्लास में, आपको getCastOptions() इंस्टेंस दिखाने के लिए, CastOptions को बदलना होगा. OptionsProvider की कस्टम क्लास वह जगह होती है जहां Cast सेशन को कॉन्फ़िगर किया जाता है. जैसे, कस्टम रिसीवर ऐप्लिकेशन आईडी सेट करके.

ज़्यादा जानकारी के लिए, 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;
  }
}