CastOptions

আপনার অ্যাপের 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 তৈরি করতে হবে।

১. আপনার ম্যানিফেস্টে প্রদানকারীকে ঘোষণা করুন

প্রথমে, 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 ইন্টারফেস প্রয়োগ করে। এই ক্লাসে, CastOptions ইনস্ট্যান্স ফিরিয়ে আনতে আপনাকে অবশ্যই getCastOptions() ওভাররাইড করতে হবে। কাস্টম 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>"
  }
}

জাভা

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;
  }
}