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