Android Cast SDK V3和MediaRouteProviderService
我使用cast SDK v2在提供的路径上播放媒体Android Cast SDK V3和MediaRouteProviderService,android,chromecast,mediarouteproviderservice,Android,Chromecast,Mediarouteproviderservice,我使用cast SDK v2在提供的路径上播放媒体MediaRouteProviderService,效果非常好 现在我正在迁移到美国及其各州 在v3中,发现过程由 当应用程序出现在前台并转到 背景资料。MediaRouteSelector和MediaRouter.Callback 不应使用 因此,如何使用带有cast SDK v3的MediaRouteProviderService提供自定义路由,以及如何使用带有cast SDK v3的MediaRouteProviderService提供自定
MediaRouteProviderService
,效果非常好
现在我正在迁移到美国及其各州
在v3中,发现过程由
当应用程序出现在前台并转到
背景资料。MediaRouteSelector和MediaRouter.Callback
不应使用
因此,如何使用带有cast SDK v3的
MediaRouteProviderService
提供自定义路由,以及如何使用带有cast SDK v3的MediaRouteProviderService提供自定义路由
在v3中,设备发现现在由CastContext处理。在这方面,它指出:
设备发现完全由
.
初始化CastContext时,发件人应用程序指定
接收方应用程序ID,并且可以选择请求命名空间
通过在中设置supportedNamespaces进行筛选
.
CastContext在内部保存对MediaRouter的引用,并将
当发件人应用程序进入前台时启动发现过程,
并在发件人应用程序进入后台时停止
类CastOptionsProvider实现OptionsProvider{
公共静态最终字符串CUSTOM\u NAMESPACE=“urn:x-cast:CUSTOM\u NAMESPACE”;
@凌驾
公共CastOptions getCastOptions(上下文appContext){
List supportedNamespaces=new ArrayList();
supportedNamespaces.add(自定义_名称空间);
CastOptions CastOptions=new CastOptions.Builder()
.setReceiveApplicationId(context.getString(R.string.app_id))
.setSupportedNamespaces(supportedNamespaces)
.build();
返回选项;
}
@凌驾
公共列表getAdditionalSessionProviders(上下文){
返回null;
}
}
那么如何使用MediaRouteProviderService和cast SDK v3提供自定义路由
在v3中,设备发现现在由CastContext处理。在这方面,它指出:
设备发现完全由
.
初始化CastContext时,发件人应用程序指定
接收方应用程序ID,并且可以选择请求命名空间
通过在中设置supportedNamespaces进行筛选
.
CastContext在内部保存对MediaRouter的引用,并将
当发件人应用程序进入前台时启动发现过程,
并在发件人应用程序进入后台时停止
类CastOptionsProvider实现OptionsProvider{
公共静态最终字符串CUSTOM\u NAMESPACE=“urn:x-cast:CUSTOM\u NAMESPACE”;
@凌驾
公共CastOptions getCastOptions(上下文appContext){
List supportedNamespaces=new ArrayList();
supportedNamespaces.add(自定义_名称空间);
CastOptions CastOptions=new CastOptions.Builder()
.setReceiveApplicationId(context.getString(R.string.app_id))
.setSupportedNamespaces(supportedNamespaces)
.build();
返回选项;
}
@凌驾
公共列表getAdditionalSessionProviders(上下文){
返回null;
}
}
这意味着不再需要MediaRouteProviderService,而是使用OptionProvider提供自定义路由,对吗?这意味着不再需要MediaRouteProviderService,而是使用OptionProvider提供自定义路由,对吗?
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;
}
}