问题标签 [android-cast-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
151 浏览

android - 如何在 Google Cast SDK v3 中投射 GLSurfaceView?

我希望我的发送方应用程序将 GLSurfaceView 实时投射到接收方应用程序。这在 SDK v2 中使用Remote Display API是可能的。SDK v3 是否具有类似的功能,或者我必须将 GLSurfaceView 的内容呈现为与支持的格式之一相对应的 MediaCodec ?

0 投票
1 回答
991 浏览

android - MediaInfo.Builder 的 contentId 总是一个 URL 吗?

Chromecast Android 文档中,调用 MediaInfo.Builder 的参数contentId。在我看到的每个示例中,contentId都传递了一个 URL。必须contentId是 URL,还是有其他方法来处理内容?

0 投票
1 回答
1198 浏览

android - 使用 RemoteDisplayLocalService 时如何完全断开与 Cast 设备的连接?

我正在使用 Cast SDK v2 并RemoteDisplayLocalService投射本地内容。在onRouteUnselected函数中MediaRouter.Callback,我用 停止服务CastRemoteDisplayLocalService.stopService()。接收方应用程序停止;但是,系统下拉菜单仍然显示应用程序已连接到接收器,如下所示:

应用程序仍处于连接状态

我认为这是因为CastRemoteDisplayLocalService'sGoogleApiClient仍然连接到 Google Play 服务。是否有一种编程方式可以完全断开发件人应用程序的连接?

0 投票
1 回答
1419 浏览

android - 当另一个应用程序开始投射时如何停止投射?

我运行两个应用程序,它们都使用 Cast SDK v2 和Remote DisplayAPI。我从 App #1 开始投射,然后转到 App #2,按下投射按钮并选择一条路线。

预期: App #2 开始投射,App #1 停止投射。

实际:MediaRouter.Callback.onRouteUnselected()在我选择一条路线后,立即调用App #2 。两个应用程序的内容都没有显示在接收器上,但应用程序 #1 的通知控制器仍然存在。

我在 Cast SDK v3 中没有看到这种行为。Cast SDK v2 中是否有任何方法可以确保在另一个应用程序开始投射时停止先前的投射会话?

0 投票
0 回答
103 浏览

android - 可以在同一个 GoogleApiClient 上使用 CastRemoteDisplay.API 和 Cast.API 吗?

我正在使用CastRemoteDisplay(Cast SDK v2)开发一个 Android 应用程序。当另一个应用程序开始投射时,我想确保我的应用程序停止投射,因此我CastOptionsBuilder使用以下侦听器创建我的应用程序:

然后设置GoogleApiClient

我的问题:是否允许同时CastRemoteDisplay.API使用Cast.API两者GoogleApiClient

0 投票
1 回答
123 浏览

android - 如何确定远程显示器何时丢帧?

当我通过 投射时Remote Display API,有时我会注意到接收器应用程序丢帧。有没有办法以编程方式确定何时发生丢帧?

0 投票
0 回答
107 浏览

android - Android Chromecast 支持 MediaRouter 可绘制资源问题

最近开始将 Google 的 CastCompanionLibrary 从 v2.5.2 升级到最新的 v2.9.1。显然 v2.5.2 依赖于 android-support-v7-mediarouter-v22.2.1,而最新的 v2.9.1 对 mediarouter-v25.0.0 有 gradle 依赖。一切都很好,直到 gradle-sync 和/或 gradle-compilation 中似乎缺少这个可绘制资源。“找不到与给定值'@drawable/ic_media_route_off_mono_dark'匹配的资源”。有哪些替代方案,解决方案是什么?请不要建议,我不应该在我的项目代码库中使用 mediarouter 库可绘制资源。

0 投票
0 回答
434 浏览

android - 如何检测以编程方式连接的投射设备

我有一个项目的要求,我的应用程序需要知道我的设备当前连接到哪个 Cast 设备。例如,如果我使用 YouTube 投射视频,那么我的应用程序应该知道现在我已连接到 Cast Device。正如在 Google Cast API 中看到的那样,MediaRouter API 回调只会向实现它的应用程序提供回调,而不是向任何其他应用程序提供回调。此外,连接某些投射设备时,我也没有找到任何系统广播。

我做的实验是在 Android AOSP Code 中引入一些 Logs。据我说,每当任何应用程序调用 Cast Device 的侦听器时,它都会在内部调用 MediRouter.Callback 的 onRouteAdded() API,API 由 Media Router 类中的 dispatchRouteAdded() API 调用。但是我在这些 API 中引入的日志永远不会被调用。

此外,我在 RouterInfo 类中的 resolveStatusCode() 中引入了 Logs,以了解设备是否为 STATUS_CONNECTED STATE 的状态,但它总是返回 STATUS_NONE

有人也可以给我一些指示,我如何在 AOSP 框架中实现广播用于投射设备连接,以便我可以使用我的自定义 ROM 在 Nexus 5 中对其进行测试。

0 投票
1 回答
598 浏览

android - Google Cast 在停止投射时崩溃

每当我在应用程序的投射选项菜单上单击“停止投射”时,我的自定义发件人应用程序就会崩溃。我得到的错误是:

而且我似乎找不到任何有此错误的人。我已经关注https://github.com/googlecast/CastHelloText-android/了。如果需要,我将在此处发布完整的活动。

0 投票
2 回答
4193 浏览

android - Android ChromeCast RuntimeException:远程加载失败。未找到本地回退

我在我的应用程序中使用投射功能。它工作正常,但突然间我可以看到 Play 商店控制台上的崩溃次数有所增加。

我正在按照指南中的定义正确初始化 CastContext,此外,在调用此方法之前,我正在检查设备是否兼容,CastContext.getSharedInstance(context)所以这应该不是问题。

即使在有或没有 google-play-services 的模拟器上,我也无法重现此崩溃。

任何帮助将不胜感激。

碰撞 :

致命异常:java.lang.RuntimeException:无法启动活动 ComponentInfo{... .activity.TVActivityPhone}: java.lang.RuntimeException:com.google.android.gms.dynamite.DynamiteModule$zza:远程加载失败。未找到本地回退. 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2677) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2747) 在 android.app.ActivityThread.access$900(ActivityThread.java:187) 在 android.app .ActivityThread$H.handleMessage(ActivityThread.java:1584) 在 android.app.ActivityThread 的 android.os.Handler.dispatchMessage(Handler.java:111) 的 android.os.Looper.loop(Looper.java:194)。 main(ActivityThread.java:5877) 在 java.lang.reflect.Method.invoke(Method.java) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:1020) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815) 由 java.lang.RuntimeException 引起:com.google.android.gms.dynamite.DynamiteModule$ zza:远程加载失败。

代码我在 if 条件下遇到错误,这与 google play 服务的可用性无关。

向谷歌提交错误:

https://issuetracker.google.com/issues/65359941

**更新**检查这两个问题:

https://issuetracker.google.com/issues/65359941 https://issuetracker.google.com/issues/79405933

临时解决方案在我的回答中。