我正在使用 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);
关于android - 获取用于调整视频大小的元数据信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42238685/