【发布时间】:2019-11-12 06:52:55
【问题描述】:
我想把处理exoplayer的代码放到一个lifecycleOberserver类中,但是要初始化一个exoplayer,我需要这样写代码
void prepareExoPlayer(Context context, PlayerView exoPlayerView) {
if (context == null || exoPlayerView == null) {
return;
}
if (player == null) {
TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveTrackSelection.Factory();
TrackSelector trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
player = ExoPlayerFactory.newSimpleInstance(context, trackSelector);
ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
DataSource.Factory dataSourceFactory =
new DefaultDataSourceFactory(
context,
Util.getUserAgent(
context,
context.getString(R.string.app_name)
)
);
MediaSource videoSource = new ExtractorMediaSource
.Factory(dataSourceFactory)
.setExtractorsFactory(extractorsFactory)
.createMediaSource(videoUri);
player.prepare(videoSource);
}
player.clearVideoSurface();
player.setVideoSurfaceView((SurfaceView) exoPlayerView.getVideoSurfaceView());
player.seekTo(player.getCurrentPosition() + 1);
exoPlayerView.setPlayer(player);
}
所以我必须在生命周期Oberserver 中获取上下文和视图,但我找不到这样做的方法,有人可以帮助我吗?
【问题讨论】:
-
如何将生命周期观察者添加到生命周期中。您是否在使用任何活动或片段?
-
@AmitTiwary 我在活动中使用
lifeCycle.addObserver(lifeCycleObserver)
标签: android lifecycle exoplayer