LoginSignup
4
4

More than 5 years have passed since last update.

ExoPlayer(ver2)でローカルのビデオを再生

Last updated at Posted at 2016-10-23

ExoPlayerばっか記事にしてるし技術力無いのに暇かよって言われそうですがこのまえちょっとわからなかった事あったのでメモ

使うタイミングほとんど無いと思うのですが、この前メディアをrawファイルから再生しようとしてどうやるのか困った事がありました。まあそもそもビデオをrawファイルに入れる意味がわからないんですがとりあえずそんな特殊事例があった場合のやりかた。
実は作者さんはそんな特殊事例のためのコードを最近作ったそうです。


 RawResourceDataSource.Factory rawResourceDataSourceFactory = new RawResourceDataSource.Factory() {
            @Override
            public DataSource createDataSource() {
               return new RawResourceDataSource(context);
            }
        };

            // This is the MediaSource representing the media to be played.
MediaSource videoSource = new ExtractorMediaSource(RawResourceDataSource.buildRawResourceUri(R.raw.[ファイル名]),
                    rawResourceDataSourceFactory, extractorsFactory, null, null);

RawResourceDataSource.Factoryっていうインターフェイスを作ってあげます。多分この通りcreateDataSource()RawResourceDataSourceを返すだけでいいと思います。(適当に作ってみたら動いたので正解かはわかりません。)
そしたらふつうのMediaSourceの第2引数に入れてあげます。以上。

さらにRawResourceDataSource.buildRawResourceUri()って言うメソッドでリソースIDを簡単にURIに変換できるようにしてくれてます。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4