ハイ!
Smooth Streaming と PlayReady を含む ism ファイルがあります。この ism には、セグメント化された ttml 形式のキャプションが含まれています。
しかし、この ttml には次のような改行文字があります: p8:br どうすればそれを解析し、これらの文字を /n (または Google ChromeCast が処理できるもの) に置き換えることができますか?
そのため、サブタイトルが 1 行ではなく 2 行で表示されます。
protocol.getStreamInfo(index) でストリーム情報を取得できることはわかっていますが、その後はどうすればよいですか?
更新 #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>
サンプルの最後の行で、デバイスは文字を認識できず、次のようにサブタイトルを表示しました。
A cukornádföldön voltam.Akkor kapott el, mikor egyedül voltam.
それ以外の
cukornádföldön voltam です。
Akkor kapott el, mikor egyedül voltam.
そこで、ChromeCast API を使用して同様の操作を行いたいと思います。しかし、ChromeCast はタイミングを完全に処理できるため、単純に文字を変更する方が簡単です。
どうもありがとうございました!