কাস্ট অপশন

আপনার অ্যাপের কাস্ট সেশন কনফিগার করতে, একটি OptionsProvider প্রদান করুন। প্রোভাইডার দ্বারা নির্মিত CastOptions অবজেক্টটি ব্যবহার করে রিসিভার অ্যাপ্লিকেশন আইডি সেট করুন, সেশনের জীবনচক্র পরিচালনা করুন এবং মিডিয়া প্লেব্যাকের আচরণ কাস্টমাইজ করুন।

ডিফল্ট বিকল্প প্রদানকারী ব্যবহার করুন

ডিফল্ট কাস্ট রিসিভার অ্যাপ্লিকেশন ব্যবহার করে এমন একটি বেসিক সেটআপের জন্য, আপনার অ্যাপের 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 ইন্টারফেসটি ইমপ্লিমেন্ট করে এমন একটি ক্লাস তৈরি করুন। এই ক্লাসে, আপনাকে অবশ্যই getCastOptions() ফাংশনটি ওভাররাইড করতে হবে, যাতে এটি একটি CastOptions ইনস্ট্যান্স রিটার্ন করে। এই কাস্টম OptionsProvider ক্লাসেই আপনি আপনার কাস্ট সেশন কনফিগার করেন, যেমন—আপনার কাস্টম রিসিভার অ্যাপ্লিকেশন আইডি সেট করার মাধ্যমে।

আরও তথ্যের জন্য, CastOptions.Builder দেখুন।

কোটলিন

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