1
我使用Exoplayer在TextureView上视频流。获取调整视频大小的元数据信息
我需要获得视频的宽度,高度和旋转以保持宽高比。
为此,我使用的是FFmpegMediaMetadataRetriever。
由于数据源是一个URL,所以需要花费相当多的时间来检索元数据。
任何替代方案更快的解决方案?
我使用Exoplayer在TextureView上视频流。获取调整视频大小的元数据信息
我需要获得视频的宽度,高度和旋转以保持宽高比。
为此,我使用的是FFmpegMediaMetadataRetriever。
由于数据源是一个URL,所以需要花费相当多的时间来检索元数据。
任何替代方案更快的解决方案?
找到解决方案。回答我自己的问题,以便它可以帮助有人来到这里。
的解决方案是实行SimpleExoPlayer.VideoListener
方法在onVideoSizeChanged()
方法,你会得到的宽度,高度和旋转。然后,您可以操作这些值并将转换应用到您的TextureView。
@Override
public void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio)
{
// do your resizing stuff
}
另外,不要忘记添加监听器:
player.addVideoListener(this);