如何在 Roku 中显示抄送(字幕)?

How to Displayed cc(subtitle) in Roku?

我使用 XML 属性 URL 来播放视频。我在 Roku 中使用默认媒体播放器。我知道 Roku 默认提供显示字幕的选项。在我在 VLC Media Player 中播放的视频中,提供给 CC。但是在 Roku 中显示字幕或 CC 需要任何单独的代码吗?

我试过这种方式已编辑POST:

m.liveVideo = m.top.findNode("liveVideo") '<Video id = "liveVideo" />
m.videoData = CreateObject("RoSGNode", "ContentNode")
m.videoData.SubtitleConfig = {
        trackName: "eia608/708"
}
m.videoData.ClosedCaptions = "true"
m.liveVideo.content = m.videoData

但是上面的代码不起作用。

在 Roku 中,您必须为视频的 content-metadata 设置“SubtitleConfig”。并确保“ClosedCaptions”设置为 true。它很容易实现。详细信息请看下面link--

https://developer.roku.com/en-gb/docs/developer-program/getting-started/architecture/content-metadata.md

为了解释,请考虑以下示例--

  1. 假设您的"videoPlayer"(xml文件中'Video'节点的实例)节点实例是"m.videoPlayer"(在brs文件中)即

    m.videoPlayer = m.top.findNode("videoPlayer")

  2. 创建内容节点--

    m.videoData = CreateObject("RoSGNode", "ContentNode")

  3. 将此节点的视频的所有元数据(例如url、Streamformat 等)以及SubtitleConfig 设置为--

    m.videoData.SubtitleConfig = { trackName: "eia608/708" }

  4. 将此内容分配给视频内容为--

    m.videoPlayer.content = m.videoData

希望这会有所帮助。

您缺少 SubtitleTracks 属性,直播流的标准通常是 "eia608/1"(参见 here)。另外,不用担心 ClosedCaptions 属性,默认为真。

以下是构建 subtitleTracks 字段的方法:

m.liveVideo = m.top.findNode("liveVideo")
m.videoData = CreateObject("roSGNode", "ContentNode")
m.videoData.subtitleTracks = [{language: "EN", description: "EN", trackName: "eia608/1"}]
m.videoData.subtitleConfig = {trackName: "eia608/1"}
m.liveVideo.content = m.videoData