Để định cấu hình phiên truyền của ứng dụng, hãy cung cấp một OptionsProvider. Sử dụng đối tượng CastOptions do nhà cung cấp tạo để đặt mã ứng dụng nhận, quản lý vòng đời của phiên và tuỳ chỉnh hành vi phát nội dung nghe nhìn.
Sử dụng trình cung cấp lựa chọn mặc định
Đối với chế độ thiết lập cơ bản sử dụng ứng dụng nhận Cast mặc định, hãy thêm DefaultCastOptionsProvider vào tệp AndroidManifest.xml của ứng dụng:
<application>
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="androidx.media3.cast.DefaultCastOptionsProvider" />
</application>
Tạo trình cung cấp lựa chọn tuỳ chỉnh
Đối với các cấu hình nâng cao hơn, chẳng hạn như đặt mã ứng dụng nhận tuỳ chỉnh, bạn cần tạo OptionsProvider của riêng mình.
1. Khai báo trình cung cấp trong tệp kê khai
Trước tiên, hãy khai báo trình cung cấp tuỳ chỉnh trong AndroidManifest.xml. Hãy nhớ sử dụng tên lớp đủ điều kiện.
<application>
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="path.to.your.class.MyCustomCastOptionsProvider" />
</application>
2. Triển khai giao diện OptionsProvider
Tiếp theo, hãy tạo một lớp triển khai giao diện OptionsProvider. Trong lớp này, bạn phải ghi đè getCastOptions() để trả về một thực thể CastOptions.
Lớp OptionsProvider tuỳ chỉnh là nơi bạn định cấu hình phiên truyền, ví dụ: bằng cách đặt mã ứng dụng nhận tuỳ chỉnh.
Để biết thêm thông tin, hãy xem 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; } }