3

iOS/TVOS では、URL からリモート .vtt ファイルをロードし、それを URL からロードされたリモート HLS ビデオの字幕トラックとして使用することはできますか (m3u8 プレイリスト内で指定されている VTT とは対照的に)?

疑似コード:

AVAsset* video_asset = AVAsset( "http://video.m3u8" );
AVAsset* subtitle_asset = AVAsset( "http://subtitle.vtt" );
AVPlayer player = player.playVideoWithSubtitle( video_asset, subtitle_asset );
player.play().

編集:

ドキュメントには、字幕に AVAsset を使用することが記載されていますが、実際に例を持っている人はいますか? リモート VTT をロードするのではなく、字幕として文字列を追加する例しか見つかりません。

4

2 に答える 2

1

docsによると、これは可能です

AVAsset は、ビデオやサウンドなどの時間指定された視聴覚メディアを表す抽象クラスです。各アセットには、まとめて表示または処理することを目的としたトラックのコレクションが含まれており、それぞれがオーディオ、ビデオ、テキスト、クローズド キャプション、サブタイトルを含むがこれらに限定されない、統一されたメディア タイプです。

AVMutableComposition次に、アセットを結合するために使用する必要があります。アセットとビデオを字幕付きのアセットと組み合わせます。ドキュメント:

AVAsset オブジェクトを AVMutableComposition オブジェクトに挿入して、1 つ以上のソース アセットからオーディオビジュアル構造を組み立てることができます。

于 2016-03-08T23:08:07.913 に答える
1

ここに解決策を投稿しました: https://stackoverflow.com/a/37945178/171933基本的に、を使用AVMutableCompositionして字幕付きのビデオに参加し、そのコンポジションを再生する必要があります。

于 2016-06-21T13:02:02.230 に答える