问题标签 [google-cast-sdk]

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 回答
611 浏览

chromecast - 如何在 Cast SDK3 和 CAF 接收器上启用详细调试?

我正在转换为 CAF 接收器和 Cast SDK 3。我在将消息从 CAF 接收器发送到发送器时遇到了一些问题。我认为 CAF 部分正在工作,但要确保我想启用详细日志。我怎样才能为发送者(Android)和接收者做到这一点?

谢谢。

0 投票
1 回答
286 浏览

chromecast - CAF 接收器上的 cast.player.api.Player 直播选项等效于什么?

现在使用演员参考播放器作为我想要播放实时内容时传递Infinity的第二个参数。cast.player.api.Player.load()我如何使用 CAF 接收器来实现这一点?

谢谢。

0 投票
0 回答
535 浏览

chromecast - CAF:音轨更改问题

我们创建了一个自定义 CAF 接收器。当我们尝试切换音轨时,接收播放器仅在第一个请求时正常工作。如果我们尝试发出其他请求,我们能够在接收方看到正确的 EDIT_TRACK_INFO_REQUEST(带有正确的音频 TrackId),但音频不会改变。

我们在具有不同资产的 web/IOS/ANDROID 发件人上复制相同的行为。

有人有什么建议吗?提前致谢。

- -额外细节:

平滑流式处理清单音轨片段,请注意语言不遵循 RFC 规范

在接收端,实际上是在 PLAYER_LOAD_COMPLETE 上,我们对轨道进行自定义处理:

我们执行音轨的映射和处理

我们还基于文档建立了另一种处理此问题的方法,使用:

但是我们无法正确处理它,对此还有什么建议吗?

对于内部测试,我们还使用了这种具有相同行为的清晰流 - http://harmonic.e2e.purpledrm.com.edgesuite.net/Content/SS/VOD/yjO9VXw7-ElephantsDreamH264720p/ElephantsDream.ism/Manifest

非常感谢。

0 投票
1 回答
1038 浏览

chromecast - CAF 接收器:错误处理

我们基于 cast.framework.events.EventType.ERROR 事件创建了一个带有通用错误侦听器的自定义 CAF 接收器:

此处理程序正常工作,但有时播放器会为单个片段引发“404 片段错误”,导致视频停止。我们无法知道该错误是否与该特定片段相关,或者是否会有其他 404 片段,因此我们无法从错误处理程序中排除该错误。

有人知道解决此问题的更好方法吗?

0 投票
1 回答
129 浏览

chromecast - 如何在 CAF 接收器上操作正在播放的视频?

我有一个新的 CAF 接收器,希望能够使用 javascript 操作视频,但我无法使用 javascript 获取视频元素。如果使用有什么方法可以做到这一点<cast-media-player id="player"></cast-media-player>

0 投票
2 回答
1215 浏览

google-cast - 默认的 chromecast 接收器应用程序不会加载

我正在尝试运行https://developers.google.com/cast/docs/caf_receiver_basic#google_caf_receiver_sdk_google-caf-receiver-sdk上提供的默认接收器应用程序。当我尝试在 Chrome 65 中加载接收器时,它会在控制台中引发错误: r_new.html:4 GET file://www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js net::ERR_FILE_NOT_FOUND

r_new.html:10 Uncaught ReferenceError: cast is not defined at r_new.html:10 (anonymous) @ r_new.html:10

我知道与协议//无关的 URL。如果我将其更改为https://,它将加载第一个脚本,然后在其余部分失败。这可能是安全或开发人员问题,但我不知道如何纠正它。

更新

使用节点 http-server ( https://www.npmjs.com/package/http-server ) 和以下说明https://stackoverflow.com/a/44058453/3997521成功为我的本地主机服务器生成证书后铬 65 OSX:http-server -S -C MyCompanyLocalhost.cer -K MyCompanyLocalhost.pvk -o

注意:不要忘记安装 MyCompanyCA.cer 以匹配并重新启动 chrome,它将获取证书。

即使页面使用 index.html 文件正确加载,我仍然会收到以下错误:

Uncaught TypeError: Cannot read property 'setTouchInputSupport' of undefined at Object.cast.receiver.platform.setTouchInputSupport (cast_receiver_framework.js:81) at Af (cast_receiver_framework.js:116) at T.start (cast_receiver_framework.js:483) at localhost/:10

更新 2:Windows 相同的正确配置证书的结果

receiver.html:63 Starting receiver application cast_receiver.js:89 [ 0.000s] [cast.receiver.IpcChannel] Opening net websocket cast_receiver.js:89 [ 0.003s] [cast.receiver.CastReceiverManager] Version: 2.0.0.0061 cast_receiver.js:89 [ 0.005s] [cast.receiver.MediaManager] Using default Player receiver.html:68 Starting receiver manager cast_receiver.js:115 Uncaught TypeError: Cannot read property 'setTouchInputSupport' of undefined at te (cast_receiver.js:115) at N.start (cast_receiver.js:97) at receiver.html:82

更新 3:在具有真实预配证书 Chrome 66 Windows 的实时服务器上进行了尝试

cast.receiver.platform.setTouchInputSupport @ cast_receiver_framework.js:81 Af @ cast_receiver_framework.js:116 T.start @ cast_receiver_framework.js:483 (anonymous) @ reciever.html:10

0 投票
1 回答
990 浏览

android - Chrome cast 会话启动失败并出现错误 15

通过引用https://codelabs.developers.google.com/codelabs/cast-videos-android/#6,我已经在我的 android 应用程序中实现了 chrome cast。我能够成功投射视频。实验设置未更改(仅接收器应用程序 ID 设置为 DEFAULT_MEDIA_RECEIVER_APPLICATION_ID),但现在在 SessionManagerListener 回调中我收到错误 15。任何线索都会有所帮助。回调流程如下所示。

日志猫

0 投票
1 回答
333 浏览

android - Android Sender App 在尝试连接到 Chromecast 时出现 DEFAULT_MEDIA_RECEIVER_APPLICATION_ID 超时

我正在为我的应用添加 Chromecast 支持。

我经历过:https ://codelabs.developers.google.com/codelabs/cast-videos-android/#0

来自代码实验室的应用程序链接:https ://github.com/googlecodelabs/cast-videos-android/archive/master.zip

我可以使用示例应用程序投射视频,但在同一个应用程序中,如果我将接收器应用程序 ID 设置为 DEFAULT_MEDIA_RECEIVER_APPLICATION_ID,那么我在 SessionManagerListener 回调中收到错误 15。

以下是来自代码实验室的 CastOptionsProvider(阅读代码注释):

我知道错误 15 表示会话超时。我无法使用 DEFAULT_MEDIA_RECEIVER_APPLICATION_ID 获得任何工作示例。

提前致谢。

我还提到了线程,Android Sender App 在尝试连接到 Chromecast 时超时

0 投票
1 回答
280 浏览

android - 投射图像在 Notification、MiniControllerFragment 和 ExpandedControllerActivity 中显示媒体控件

我的应用程序有视频、音频和照片。我成功地施展了他们三个。但是,当我投射图像时,minicontrollerfragment、Notification 和 ExpandedControllerActivity 会显示视频控件。当我点击播放/暂停按钮时,它只是不停地旋转照片。

有没有办法可以为图像禁用它?我到处查找,但由于某种原因,我找不到照片的一个例子。

任何帮助,将不胜感激。谢谢你。

这是 CastOptionsProvider 的代码。

这就是我投射图像的方式:

0 投票
1 回答
260 浏览

google-chrome - 更改 Chromecast 发件人上的应用 ID

我有一个 Chromecast 发件人应用程序,可用于启动多个app ids 以进行测试。

在 Chromecast 文档中,它说该setOptions函数只能调用一次。事实上,当第二次调用它时,该receiverApplicationId属性不能被修改。

https://developers.google.com/cast/docs/reference/chrome/cast.framework.CastContext#setOptions

这有效:

cast.framework.CastContext.qa.s.receiverApplicationId = receiverApplicationId;

有没有更好的办法?