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的主要内容,如果未能解决你的问题,请参考以下文章