如何在android lifecycleobserver中获取上下文和视图?

问题描述 投票:0回答:1

我想将处理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);
    }

因此,我必须在lifecycleOberserver中获取上下文并进行查看,但是我找不到解决方法,有人可以帮我吗?

android lifecycle exoplayer
1个回答
0
投票

您可以使用活动参数使您的lifeCycleObserver类构造函数成为

lifeCycleObserver(yourActivity param){
}

然后将这个参数用于上下文。

© www.soinside.com 2019 - 2024. All rights reserved.