0

ハイ!

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 はタイミングを完全に処理できるため、単純に文字を変更する方が簡単です。

どうもありがとうございました!

4

2 に答える 2

0

これについてエンジニアリングに確認したところ、メディア プレーヤー ライブラリは br を改行に変換しています。名前空間は無視されます。

問題のあるサンプルがある場合は、弊社までお送りください。

于 2014-03-12T23:22:44.493 に答える
0

Media Player ライブラリにはまもなく修正されるバグがあります。この名前空間の問題に対処する必要があります。修正がリリースされたら、この投稿を更新します。

于 2014-03-14T16:29:56.320 に答える