Exoplayer: пустое видео воспроизводится на android версии 9 и выше при использовании пользовательского просмотра - PullRequest
0 голосов
/ 21 февраля 2020

Версия Exoplayer:

implementation 'com.google.android.exoplayer:exoplayer:2.11.2'

Когда я использую exoplayer на пользовательском слайдере, он воспроизводит только звук. Тем не менее, на старых версиях (android 8 и менее) он играет идеально.

LoadControl loadControl = new DefaultLoadControl();
        dataSourceFactory = buildDataSourceFactory();

        DefaultBandwidthMeter.Builder bandwidthMeter = new DefaultBandwidthMeter.Builder(getActivity());
        TrackSelection.Factory videoTrackSelectionFactory = new AdaptiveTrackSelection.Factory(DEFAULT_MIN_DURATION_FOR_QUALITY_INCREASE_MS,
                DEFAULT_MAX_DURATION_FOR_QUALITY_DECREASE_MS,DEFAULT_MIN_DURATION_TO_RETAIN_AFTER_DISCARD_MS,DEFAULT_BANDWIDTH_FRACTION);
        TrackSelector trackSelector = new DefaultTrackSelector(getActivity(),videoTrackSelectionFactory);


        RenderersFactory renderersFactory = ((ABCApplication) getActivity().getApplication())
                .buildRenderersFactory(true);

        // 2. Create the player
        player = ExoPlayerFactory.newSimpleInstance(getActivity(),renderersFactory, trackSelector, loadControl);
        playerView.setPlayer(player);

        playerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FILL);
        playerView.setControllerAutoShow(true);
        playerView.setControllerHideOnTouch(true);
        playerView.setControllerShowTimeoutMs(1500);

        // This is the MediaSource representing the media to be played.
        MediaSource videoS = buildMediaSource(video.getUri());

        // Prepare the player with the source.
        player.prepare(videoS);
        player.setVolume(0f);
        player.addListener(this);
        player.setPlayWhenReady(false);
        player.addListener(this);
...