Exoplayer 不播放视频仅播放音频

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

ExoPlayer
未显示视频。我可以收听音频,但无法播放视频。我正在使用
Exoplayer
中的
Recyclerview
。我只能看到黑屏并听到音频。我无法跟踪问题。我正在
HLS
中播放
ExoPlayer
视频。

android android-recyclerview exoplayer
3个回答
1
投票

几天前我也遇到了同样的问题,现在将其发布在这里,以便它可以让某人的生活变得轻松,因为当我们将 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);
}

1
投票

我的缺点是我使用的是 PlayerControlView 而不是 PlayerView


0
投票

如果视频使用音频播放但在 android studio 中使用 exoplayer 未显示视图,请从清单类中删除 android:hardwareAccelerated="false"

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