我正在使用Exoplayer在TextureView上播放视频。
我需要获取视频的宽度,高度和旋转以保持纵横比。
因为我正在使用FFmpegMediaMetadataRetriever。
事情是,检索元数据需要花费大量时间,因为数据源是一个URL。
任何其他更快的解决方案?
答案 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);