我正在使用强制转换SDK v2在提供的MediaRouteProviderService
路由上投放媒体,效果很好。
现在我正在迁移到SDK v3及其状态
在v3中,发现过程自动启动和停止 当应用程序到达前台并进入时的框架 背景,分别。 MediaRouteSelector和MediaRouter.Callback 不应该使用
那么如何使用MediaRouteProviderService
使用强制转换SDK v3
答案 0 :(得分:0)
那么如何使用MediaRouteProviderService和cast SDK v3提供自定义路由
在v3中,设备发现现在由CastContext处理。在v3 Configure device discovery中,它声明:
设备发现完全由 CastContext。 初始化CastContext时,发件人应用程序指定 接收器应用程序ID,可以选择请求命名空间 通过设置supportedNamespaces进行过滤 CastOptions。 CastContext在内部保存对MediaRouter的引用 当发件人应用程序进入前台时启动发现过程, 并在发件人应用程序进入后台时停止。
class CastOptionsProvider implements OptionsProvider {
public static final String CUSTOM_NAMESPACE = "urn:x-cast:custom_namespace";
@Override
public CastOptions getCastOptions(Context appContext) {
List<String> supportedNamespaces = new ArrayList<>();
supportedNamespaces.add(CUSTOM_NAMESPACE);
CastOptions castOptions = new CastOptions.Builder()
.setReceiverApplicationId(context.getString(R.string.app_id))
.setSupportedNamespaces(supportedNamespaces)
.build();
return castOptions;
}
@Override
public List<SessionProvider> getAdditionalSessionProviders(Context context) {
return null;
}
}