美文网首页
关于Android用Ijkplayer拉流的视频比例问题

关于Android用Ijkplayer拉流的视频比例问题

作者: NullUser | 来源:发表于2017-10-11 20:42 被阅读0次

    在Demo中集成Ijkplayer尝试拉取网络视频流进行播放时,发现拉取后出现视频无法全部在屏幕中播放,显示效果如下(测试地址为香港卫视的rtmp视频源:rtmp://live.hkstv.hk.lxdns.com/live/hks

    001.jpg

    后来查看Ijkplayer源码中的IjkVideoView发现,其中定义的private int mCurrentAspectRatio = s_allAspectRatio[1]; 而s_allAspectRatio[1]的值为 IRenderView.AR_ASPECT_FILL_PARENT,可以知道其意思是填充父布局,即它会伸缩视频填满该IjkVideoView控件,但不会改变视频比例,所以出现上图中的情况,视频的左右两边无法正常显示。

    在查看s_allAspectRatio中的其他值后,我们发现s_allAspectRatio[0]为 IRenderView.AR_ASPECT_FIT_PARENT,即它会自己适应控件大小,它不保证整个IjkVideoView控件全为我们所播放的视频,但是保证了视频的完全显示,我们修改mCurrentAspectRatio = s_allAspectRatio[0]后,即可正常显示视频

    002.jpg
        private static final int[] s_allAspectRatio = {
                IRenderView.AR_ASPECT_FIT_PARENT,
                IRenderView.AR_ASPECT_FILL_PARENT,
                IRenderView.AR_ASPECT_WRAP_CONTENT,
                // IRenderView.AR_MATCH_PARENT,
                IRenderView.AR_16_9_FIT_PARENT,
                IRenderView.AR_4_3_FIT_PARENT};
        private int mCurrentAspectRatioIndex = 0;
        private int mCurrentAspectRatio = s_allAspectRatio[0];
    

    相关文章

      网友评论

          本文标题:关于Android用Ijkplayer拉流的视频比例问题

          本文链接:https://www.haomeiwen.com/subject/wekgyxtx.html