2017-10-02 13 views
1

ExoPlayer 2で字幕を表示したい。ユーザーは言語(英語、ドイツ語、アラビア語)を選択できます。ビデオリンクはHLS(.m3u8)で、字幕は.strファイルです。Exo Player 2で複数の字幕を追加する方法

これを行うためのサンプルが見つかりませんでした。

サンプルはありますか?

+0

私はビデオトラックの選択について語っていますが、字幕トラックの選択にも同じロジックが適用されます。さらに詳しい情報が必要な場合は、ここで詳細な答えを書くことができます。ただ私に知らせる:) https://stackoverflow.com/questions/45835562/quality-selector-for-exoplayer-2/45844705#45844705 –

+0

私のサブタイトルは、hlsファイルに含まれていません。字幕ファイルはローカルです。あなたが@KyleVenn –

答えて

1

link元の投稿にコメントとして追加したのは、テキストトラックの選択についてUIを構築する方法です。実際にmp4ファイルに追加するトラックを実際に取得するには、MergingMediaSourceを使用します。単純なバージョンは次のようになります。

MediaSource videoSource = new ExtractorMediaSource(videoUri, ...); 
MediaSource subtitleSource = new SingleSampleMediaSource(subtitleUri, ...); 
// Plays the video with the sideloaded subtitle. 
MergingMediaSource mergedSource = new MergingMediaSource(videoSource, subtitleSource); 

複数の字幕トラックをビデオソースにマージすることができます。多くの異なるファイル形式が受け入れられます。

this blog postから特定のコードサンプルを入手しましたが、同じコードがExoPlayerのドキュメントにも含まれていると思います。私の他の答えhereにリンクしているサンプルコードと組み合わせたそのコードブロックは、あなたにいくつかの字幕を得るのに十分なはずです。

ご連絡ください。

+0

の質問に答えるなら、私は本当に感謝します。私はこれを試してみて、結果を教えてくれるでしょう。 –

+0

はい私は、私がmarged source.thankに複数の字幕ソースを追加できることを知りませんでした –

関連する問題