ตัวเลือกการแคสต์

หากต้องการกำหนดค่าเซสชัน Cast ของแอป ให้ระบุ OptionsProvider ใช้ออบเจ็กต์ CastOptions ที่ผู้ให้บริการสร้างขึ้นเพื่อตั้งค่ารหัสแอปพลิเคชันตัวรับ จัดการวงจรเซสชัน และปรับแต่งลักษณะการทำงานของการเล่นสื่อ

ใช้ผู้ให้บริการตัวเลือกเริ่มต้น

สำหรับการตั้งค่าพื้นฐานที่ใช้แอปพลิเคชันตัวรับ Cast เริ่มต้น ให้เพิ่ม DefaultCastOptionsProviderลงในไฟล์ AndroidManifest.xml ของแอป

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

สร้างผู้ให้บริการตัวเลือกที่กำหนดเอง

สำหรับการกำหนดค่าขั้นสูงเพิ่มเติม เช่น การตั้งค่าแอปพลิเคชันตัวรับสัญญาณที่กำหนดเอง ID คุณต้องสร้าง OptionsProvider ของคุณเอง

1. ประกาศผู้ให้บริการในไฟล์ Manifest

ก่อนอื่น ให้ประกาศผู้ให้บริการที่กำหนดเองใน 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

import android.content.Context
import com.google.android.gms.cast.framework.CastOptions
import com.google.android.gms.cast.framework.OptionsProvider
import com.google.android.gms.cast.framework.SessionProvider

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

import android.content.Context;
import com.google.android.gms.cast.framework.CastOptions;
import com.google.android.gms.cast.framework.OptionsProvider;
import com.google.android.gms.cast.framework.SessionProvider;
import java.util.List;

public 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
  public List<SessionProvider> getAdditionalSessionProviders(Context context) {
    return null;
  }
}