ChromeCast Parse分段TTML

时间:2014-03-10 18:44:42

标签: google-cast chromecast ttml

HY!

我有一个带有Smooth Streaming和PlayReady的ism文件。 这个ism包含分段ttml格式的标题。

但是这个ttml有一个新的行字符,例如:p8:br 如何解析它并将theese字符替换为/ n(或Google ChromeCast可以处理的任何内容)?

所以我可以看到2行而不是1行的副标题。

我知道我可以使用protocol.getStreamInfo(index)获取streaminfo,但是我可以在它之后做什么?

更新#1

我们为其他平台做了一个应用程序,方法如下。 ttml变量包含电影的标题。

  ttml = ttml.Replace("<p7:br />", "\n");
  ttml = ttml.Replace("<p8:br />", "\n");
  ttml = ttml.Replace("<p7:br/>", "\n");
  ttml = ttml.Replace("<p8:br/>", "\n");
  ttml = ttml.Replace("<br />", "\n");
  ttml = ttml.Replace("<br/>", "\n");

将新行字符替换为“\ n”后,应用程序开始显示当前文本取决于时间(例如电影底部有一个标签。)

更新#2

以下是dfxp中的示例:

   <p p7:region="speaker" p7:begin="00:04:31:21" p7:end="00:04:37:22"  xmlns:p7="http://www.w3.org/2006/10/ttaf1">Talán mert nem vagy olyan okos?<p7:br />Mert lassú a felfogásod?</p>
   <p p7:region="speaker" p7:begin="00:04:38:23" p7:end="00:04:42:11" xmlns:p7="http://www.w3.org/2006/10/ttaf1">Eressz, különben<p7:br />nem állok jót magamért.</p>  
   <p p7:region="speaker" p7:begin="00:04:52:17" p7:end="00:04:55:10" xmlns:p7="http://www.w3.org/2006/10/ttaf1">Mesélj a nagypapáról.</p>
   <p p7:region="speaker" p7:begin="00:05:08:18" p7:end="00:05:14:12"   xmlns:p7="http://www.w3.org/2006/10/ttaf1">A cukornádföldön voltam.<p7:br />Akkor kapott el, mikor egyedül voltam.</p>

在样本的最后一行,设备无法识别字符并以下列方式显示字幕:

Cukornádföldönvoltam.Akkorkapott el,mikoregyedülvoltam。

而不是

Cukornádföldönvoltam。

Akkor kapott el,mikoregyedülvoltam。

所以我想在ChromeCast API的帮助下做一些类似的操作。但是,仅仅更改角色会更容易,因为ChromeCast可以完美地处理时间。

非常感谢!

2 个答案:

答案 0 :(得分:0)

我在这上面检查了工程,而Media Player Library正在将br转换为换行符,我们忽略了命名空间。

如果您有一些有问题的样品,请发送给我们。

答案 1 :(得分:0)

很快就会在Media Player库中修复一个错误;应解决此命名空间问题。我将在发布修补程序时更新此帖子。