获取用于调整视频大小的元数据信息

时间:2017-02-15 00:23:29

标签: android exoplayer

我正在使用Exoplayer在TextureView上播放视频。

我需要获取视频的宽度,高度和旋转以保持纵横比。

因为我正在使用FFmpegMediaMetadataRetriever

事情是,检索元数据需要花费大量时间,因为数据源是一个URL。

任何其他更快的解决方案?

1 个答案:

答案 0 :(得分:2)

找到解决方案。回答我自己的问题,这样可以帮助有人来这里。

解决方案是实施SimpleExoPlayer.VideoListener

的方法

onVideoSizeChanged()方法中,您将获得宽度,高度和旋转。然后,您可以操作这些值并将转换应用于TextureView。

@Override
public void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio) 
{ 
    // do your resizing stuff
}

另外,不要忘记添加监听器:

player.addVideoListener(this);