【发布时间】:2014-06-26 07:09:37
【问题描述】:
我正在尝试在我正在构建的 Chromecast 应用程序中添加字幕。
- 我正在使用默认接收器应用程序。
- 我正在使用 chrome sender api 的 v1 编写一个 chrome sender 应用程序。
根据Chromecast Sender Api documentation,我应该将轨道对象数组传递给 chrome.cast.media.MediaInfo 对象。我的问题是,每当我调用chrome.cast.media.Track(trackId, trackType) 时,它都会返回未定义。当我通过控制台查看 chrome.cast.media 中的公共方法时,我看不到任何与 Track 相关的内容。链接到文档here。
下面是我的 loadMedia 方法,我尝试在其中包含一个轨道对象数组以及我的 LoadRequest,由 cast api 指定。注释掉的代码是我在其中一个演员 Github 存储库中看到隐藏字幕的处理方式,但不幸的是,我相信您必须在自己的自定义接收器应用程序中处理该 customData。
是否可以通过 chrome sender SDK 提供字幕,还是必须构建自己的接收器应用程序并专门处理通过传入 customData 的文本跟踪?我是否可能使用了错误的发件人 API?
function loadMedia() {
mediaUrl = decodeURIComponent(_player.sources.mp4);
var mediaInfo = new chrome.cast.media.MediaInfo(mediaUrl);
mediaInfo.contentType = 'video/mp4';
var track1 = new chrome.cast.media.Track(1, chrome.cast.media.TrackType.TEXT);
track1.trackContentId = "https://dl.dropboxusercontent.com/u/35106650/test.vtt";
mediaInfo.tracks = [track1];
var request = new chrome.cast.media.LoadRequest(mediaInfo);
// var json = {
// cc: {
// tracks: [{
// src: "https://dl.dropboxusercontent.com/u/35106650/test.vtt"
// }],
// active: 0
// }
// };
// request.customData = json;
session.loadMedia(request, onMediaDiscovered.bind(this, 'loadMedia'), onMediaError);
}
【问题讨论】:
-
您为实现这一目标做了哪些工作?或者这是社区为你做规范工作的 RFP?
-
@JakeGould 不太清楚你的意思。抱歉,如果我的问题是作为 RFP 向您提出的工作……我一直在尝试使用我的发送方应用程序和默认接收方应用程序来构建字幕功能。当我尝试创建 Google 文档中指定的 Track 对象时,它似乎不是 API 的一部分。只是知道其他人在尝试使用当前的 Cast api 时遇到了这个问题,这本身对我很有帮助。
-
这是一个编程网站。你的代码在哪里?
标签: google-chrome chromecast google-cast