ExoPlayer
未显示视频。我可以收听音频,但无法播放视频。我正在使用 Exoplayer
中的 Recyclerview
。我只能看到黑屏并听到音频。我无法跟踪问题。我正在 HLS
中播放 ExoPlayer
视频。
几天前我也遇到了同样的问题,现在将其发布在这里,以便它可以让某人的生活变得轻松,因为当我们将 Exoplayer 与 RecyclerView 一起使用时,这个问题经常出现。
问题原因(就我而言):
每次我进入屏幕时,PlayerView 都会发生变化(由于 RecyclerView 的存在)
我通过每次在 showLivePlayer() 方法内的 PlayerView object 上设置 player 来处理它,每次打开回收器视图启用屏幕来播放视频时都会调用该方法。
public void showLivePlayer(PlayerView playerView, String videoURL, String tokenURL, ProgressBar progressBar){
mPlayerView = playerView;
if(player != null)
mPlayerView.setPlayer(player); //THIS IS THE FIX
mProgressBar = progressBar;
//register event bus
if (!EventBus.getDefault().isRegistered(this))
EventBus.getDefault().register(this);
shouldAutoPlay = true;
bandwidthMeter = new DefaultBandwidthMeter();
mediaDataSourceFactory = new DefaultDataSourceFactory(mContext,
Util.getUserAgent(mContext, mContext.getString(R.string.app_name)), bandwidthMeter);
window = new Timeline.Window();
getLiveVideoToken(tokenURL, videoURL);
}
我的缺点是我使用的是 PlayerControlView 而不是 PlayerView
如果视频使用音频播放但在 android studio 中使用 exoplayer 未显示视图,请从清单类中删除 android:hardwareAccelerated="false"