我正在尝试熟悉Google Cast以及它在Android应用程序中的用法。我正在使用的代码库具有有效的集成,但与official guides相比似乎存在各种差异。
例如,本指南的第一步是实现OptionsProvider
接口,如下所示:
class CastOptionsProvider implements OptionsProvider {
@Override
public CastOptions getCastOptions(Context appContext) {
CastOptions castOptions = new CastOptions.Builder()
.setReceiverApplicationId(context.getString(R.string.app_id))
.build();
return castOptions;
}
@Override
public List<SessionProvider> getAdditionalSessionProviders(Context context) {
return null;
}
}
但是,我正在使用的代码库没有在应用程序的任何地方实现此接口。很困惑,我看了一下依赖项并发现了以下依赖项:
compile 'com.google.android.gms:play-services-cast:$androidGoogleServicesVersion'
这很奇怪,因为指南推荐使用以下内容:
compile 'com.google.android.gms:play-services-cast-framework:10.0.1'
通过Google搜索com.google.android.gms:play-services-cast-framework
库和com.google.android.gms:play-services-cast
库之间的差异,没有返回任何可用的结果。
我的问题:
com.google.android.gms:play-services-cast-framework
和com.google.android.gms:play-services-cast
之间有什么区别?谢谢!
答案 0 :(得分:1)
所以在这里打包很多......
<强> 1 强> 听起来你的应用程序正在使用CCL,这是v2客户端的修改版本。您可以通过在应用的build.gradle中搜索“com.google.android.libraries.cast.companionlibrary:ccl”依赖项来验证这一点。这需要com.google.android.gms:play-services-cast而不是com.google.android.gms:play-services-cast-framework,尽管play-services-cast是play-services-cast-的传递依赖框架,所以它将被隐含地包含在内。 CastOptionsProvider是v3 cast api的新功能。 ($ androidGoogleServicesVersion是一个提供版本号的groovy变量,应该设置在其他地方,比如项目顶级构建文件。这代表10.0.1。)
<强> CCL 强> https://github.com/googlecast/CastCompanionLibrary-android
CCL - &gt; v3迁移 https://developers.google.com/cast/v2/ccl_migrate_sender
<强> 2 强> 这些库可以从您的本地SDK中提取。在SDK工具中,它位于SDK工具/ Google Play服务下。现在它可以从Google的maven repo中提取,可以通过此处的说明进行设置:https://developer.android.com/studio/build/dependencies.html#google-maven。请注意,在AndroidStudio 3.0中,您只需使用google()加载它即可。