PDF でビデオ/マルチメディア ファイルを再生できない理由がわかりません。
PDF は、ファイルに埋め込むことができるビデオ/マルチメディアを既にサポートしています (注釈として - https://groups.google.com/d/topic/pdfnet-sdk/uUcA75j0IPg/discussionを参照) 。
ただし、あなたの説明に基づいて、埋め込まれたマルチメディア注釈とは異なる外部コンテンツのストリーミングをサポートしたいと考えているようです。
これは PDF 仕様では直接サポートされていませんが、このユース ケース シナリオをサポートするためにリンク アノテーションをカスタマイズし、アプリを拡張することを妨げるものは何もありません。
たとえば、「e_Link」タイプのアノテーションと「e_URI」タイプのアクションを作成する場合、アノテーションまたはアクション ディクショナリにいくつかのカスタム エントリを追加することもできます。例:
pdftron.PDF.Action act = pdftron.PDF.Action.CreateURI(doc.GetSDFDoc());
pdftron.PDF.Annots.Link link = pdftron.PDF.Annots.Link.Create(doc.GetSDFDoc(), new Rect(85, 458, 503, 502), act);
pdftron.SDF.Obj dict = link.GetSDFObj();
dict.PutBool("My multimedia annot", true);
dict.PutName("MyString", "foo:bar, some parameter for streaming... if required etc");
...
ユーザーがリンク注釈をタップすると、クリック (タップ) された注釈を識別できます。これは、ライセンスを購入するか、pdfview.GetAnnotaAt(x,y) を使用してソース コード形式で提供されるツール ライブラリで行われます。カスタム タグをクエリすることで、マルチメディア アノテーションを識別できます。
Annot a = ...
pdftron.SDF.Obj my_tag = a.GetSDFObj().FindObj("My multimedia annot ");
if (my_tag != null && my_tag.GetBool()) {
string my_params = a.GetSDFObj().FindObj("MyString").GetName();
... use custom parameters and URL from associated action to stream remote data.
}
リモート マルチメディアのストリーミングと再生には、Android と iOS の両方で利用できるプラットフォーム API を使用します。
詳細については、https:
//groups.google.com/d/topic/pdfnet-sdk/WgEWM9OSCi0/discussionを参照してください。