Chromecast MediaTrack

Posted

技术标签:

【中文标题】Chromecast MediaTrack【英文标题】: 【发布时间】:2014-08-14 19:14:32 【问题描述】:

如何将字幕加载到 chromecast 媒体播放器?

List<MediaTrack> subs = new ArrayList<MediaTrack>();
... MediaTrack.Builder(long trackid, MediaTrack.TYPE_TEXT);

我不知道如何获取trackid....

编辑:

long subId = 12;
long[] subIds = subId;
MediaTrack track = new MediaTrack.Builder(subId,MediaTrack.TYPE_TEXT).setContentId("http://example.com/abc.srt").build();
    subs.add(track);
...
mediaInfo.setMediaTracks(subs);
...
mRemoteMediaPlayer.setActiveMediaTracks(mApiClient,subIds);

没有显示字幕

【问题讨论】:

【参考方案1】:

根据新文档 - 您必须将语言设置为字幕:

  MediaTrack englishSubtitle = new MediaTrack.Builder(1 /* ID */, MediaTrack.TYPE_TEXT)
  .setName("English Subtitle")
  .setSubtype(MediaTrack.SUBTYPE_SUBTITLE)
  .setContentId("https://some-url/caption_en.vtt")
  /* language is required for subtitle type but optional otherwise */
  .setLanguage("en-US")
  .build();

【讨论】:

【参考方案2】:

trackId 是您在为MediaInfo 构建轨道时设置的内容;它是您设置的唯一标识符,以便稍后您可以参考该曲目。

【讨论】:

您在使用我们的默认/样式接收器吗?你用什么作为你的发件人?您是否记得在设置曲目后加载媒体? chrome 控制台日志说什么?您是否为媒体和封闭轨道启用了 CORS 标头?需要更多信息才能为您提供帮助。 我使用默认接收器。我的 logcat 说:“加载期间媒体出现问题”“java.lang.IllegalStateException:没有当前媒体会话”当调用 setActiveMediaTracks 时 我问了很多问题,但大部分都没有得到答案。您的日志显示当前没有媒体会话,因此请尝试找出原因。您首先需要加载媒体,然后设置活动轨道。

以上是关于Chromecast MediaTrack的主要内容,如果未能解决你的问题,请参考以下文章

检测我是不是是唯一连接到 Chromecast 设备的 Chromecast 发件人应用

Chromecast - 网址格式

Chromecast 仅限于 720p 图像?

尝试连接时 Chromecast 给出错误代码 7

升级后的 Chromecast - 设备不再可检测

通过 Chromecast 通过 url 投射网页