ExoPlayerFilter
介绍:
这个库在运行时使用 OpenGL Shaders渲染EXOPlayer视频
运行效果:
使用说明:
Gradle
dependencies {
// jCenter
compile 'com.daasuu:ExoPlayerFilter:0.1.1'
}
这个库包含EXOPlayer core r2.4.1
STEP 1
创建 SimpleExoPlayer 实例,这里我们播放的是MP4文件。
如果你想播放其它格式的文件,阅读 这里。
BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveTrackSelection.Factory(bandwidthMeter);
TrackSelector trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
// Measures bandwidth during playback. Can be null if not required.
DefaultBandwidthMeter defaultBandwidthMeter = new DefaultBandwidthMeter();
// Produces DataSource instances through which media data is loaded.
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context, Util.getUserAgent(context, "yourApplicationName"), defaultBandwidthMeter);
// Produces Extractor instances for parsing the media data.
ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
// This is the MediaSource representing the media to be played.
MediaSource videoSource = new ExtractorMediaSource(Uri.parse(MP4_URL), dataSourceFactory, extractorsFactory, null, null);
// SimpleExoPlayer
player = ExoPlayerFactory.newSimpleInstance(context, trackSelector);
// Prepare the player with the source.
player.prepare(videoSource);
player.setPlayWhenReady(true);
STEP 2
创建EPlayerView,并把SimpleExoPlayer设置给EPlayerView。
ePlayerView = new EPlayerView(this);
// set SimpleExoPlayer
ePlayerView.setSimpleExoPlayer(player);
ePlayerView.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
// add ePlayerView to WrapperView
((MovieWrapperView) findViewById(R.id.layout_movie_wrapper)).addView(ePlayerView);
ePlayerView.onResume();
STEP 3
设置 Filter. Filters 在 这里.
自定义的filter可以通过继承 GlFilter.java来创建。
ePlayerView.setGlFilter(new GlSepiaFilter());
已下载
0