কাস্ট অপশন

আপনার অ্যাপের কাস্ট সেশন কনফিগার করতে, একটি 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>

2. OptionsProvider ইন্টারফেসটি বাস্তবায়ন করুন

এরপর, এমন একটি ক্লাস তৈরি করুন যা OptionsProvider ইন্টারফেস বাস্তবায়ন করে। এই ক্লাসে, CastOptions ইনস্ট্যান্স ফেরত দিতে আপনাকে getCastOptions() ওভাররাইড করতে হবে। কাস্টম 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;
  }
}