首页 > 解决方案 > Recyclerview 中的多个 ExoPlayer 视频播放器同时播放

问题描述

我已经在 recyclerview 中实现了 Exoplayer。recyclerview 中的每 3 个项目都是视频视图,而其他项目只是图像。

我需要的是在视频静音时自动播放视频。所以有机会同时显示 2 个播放器,所以如果有 2 个视频项目甚至一半可见,我想同时播放 2 个视频。

但是第一个视频开始自动播放,当用户滚动时,第二个视频播放器变得可见并开始播放,所以第一个视频播放器停止或暂停视频。

有没有办法在 Exoplayer 中同时播放 2 个视频?

这是我用于 onBindViewHolder 方法的代码。

public void bindVideo(ExoplyerViewHolder holder, String url) {

                Uri videoUrl = Uri.parse(url);

                MediaSource mediaSource = new ProgressiveMediaSource.Factory( new CacheDataSourceFactory(context, 100 * 1024 * 1024, 15 * 1024 * 1024))
                        .createMediaSource(videoUrl);

                SimpleExoPlayer simpleExoPlayer =  new SimpleExoPlayer.Builder(context).build();
                simpleExoPlayer.setAudioAttributes(AudioAttributes.DEFAULT, true);
                simpleExoPlayer.setPlayWhenReady(true);
                simpleExoPlayer.setRepeatMode(Player.REPEAT_MODE_OFF);
                simpleExoPlayer.setVolume(0);
                simpleExoPlayer.prepare(mediaSource, true, true);
      
                holder.playerView.setPlayer(simpleExoPlayer);
                holder.playerView.setPlaybackPreparer(this);
                holder.playerView.setUseController(false);      
    }

标签: androidandroid-recyclerviewexoplayer2.x

解决方案


推荐阅读