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);