Exoplayer无法播放视频,只有声音播放。

7

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


@Palak 编译 'com.google.android.exoplayer:exoplayer:r1.5.9' - Shikha Ratra
你在哪个安卓版本上进行测试? - Palak
@Palak 在 API 19 上进行了测试。 - Shikha Ratra
@Palak,如果只在Activity中正常工作,但在适配器中不起作用。 - Shikha Ratra
1
我曾经遇到过同样的问题,你的问题现在解决了吗?请分享你的解决方案。 - Prasanna Sundar
显示剩余13条评论
2个回答

1

我的错误在于我使用了PlayerControlView而不是PlayerView


1
我几天前也遇到了同样的问题,现在将其发布在这里,以便能够帮助到其他人,因为当我们使用Exoplayer和RecyclerView时,这个问题经常出现。
问题的原因(在我的情况下)是由于PlayerView每次进入屏幕都会发生变化(由于存在RecyclerView)。
我通过在showLivePlayer()方法中每次设置player对象到PlayerView对象上来解决了这个问题。该方法在每次启用recyclerview屏幕播放视频时被调用。
    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);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接