我在我的Android应用程序中使用CastCompanionLibrary进行chromecast发送器支持。接收器应用程序是默认的Styled Media Receiver。
我的视频流是HLS,包含一个EIA-608隐藏式字幕轨道。从文档中可以看出,样式媒体接收器和CastCompanionLibrary都支持EIA-608隐藏式字幕,但我似乎无法使其正常工作。
我在初始化CastCompanionLibrary时启用VideoCastManager.FEATURE_CAPTIONS_PREFERENCE,并按如下方式构建轨道:
MediaTrack videoTrack = new MediaTrack.Builder(0, MediaTrack.TYPE_VIDEO)
.setContentType(PlayerActivity.HLS_MIME_TYPE)
.setContentId(playlistUrl)
.build();
MediaTrack captionsTrack = new MediaTrack.Builder(1, MediaTrack.TYPE_TEXT)
.setContentType(MediaFormat.MIMETYPE_TEXT_CEA_608)
.setSubtype(MediaTrack.SUBTYPE_CAPTIONS)
.setLanguage(Locale.getDefault())
.setContentId("eia608/1")
.setName("Closed Captions")
.build();
我的猜测是我指定了一个不正确的contentId,但在带内轨道的内容中,似乎没有任何关于contentId的内容(可能不需要)?< / p>
如果有人能够参加此项活动,我会感激不尽;)
答案 0 :(得分:2)
我们的媒体播放器库(MPL)支持HLS(传输流)CEA-608,但为了使用它,您需要编写自定义接收器并在播放器上调用enableCaptions(true)
(在接收器上)侧)。我建议您复制我们的reference receiver,然后在那里进行更改;参考接收器非常靠近Styled Receiver。一旦您可以使标题生效,您就可以添加自定义消息(在CCL中受支持)以控制发件人的消息。