首页
/ React Native Video 视频尺寸与方向信息错误的Bug分析

React Native Video 视频尺寸与方向信息错误的Bug分析

2025-05-30 12:18:28作者:邬祺芯Juliet

问题背景

在React Native Video 6.0.0版本中,iOS平台上出现了一个关于视频尺寸和方向信息报告错误的Bug。当开发者使用react-native-image-crop-picker选择视频后,通过RNVideo组件播放时,onLoad回调返回的naturalSize信息与实际的视频尺寸和方向不符。

问题表现

具体表现为:

  1. 当选择一个纵向视频(如1080x1920分辨率)时
  2. onLoad回调返回的naturalSize对象中width和height值被反转(1920x1080)
  3. 方向信息也被错误地标记为"landscape"(横屏)而非实际的"portrait"(竖屏)

技术分析

这个Bug的根源在于iOS原生代码中获取视频尺寸的方式。在调试过程中发现:

  1. 正确的视频尺寸信息实际上存在于_playerItem.presentationSize属性中
  2. 但组件错误地使用了videoTrack.naturalSize属性来获取尺寸
  3. 这种错误的尺寸获取方式导致了宽高值和方向信息的反转

解决方案

该问题已在React Native Video 6.1.2版本中得到修复。开发者可以通过以下方式解决:

  1. 升级到6.1.2或更高版本
  2. 如果暂时无法升级,可以在应用层对返回的尺寸信息进行手动校正

开发者建议

对于视频处理类应用,建议开发者:

  1. 始终关注视频尺寸和方向信息的准确性
  2. 在关键版本升级前进行充分的视频播放测试
  3. 考虑在应用层添加尺寸校验逻辑,作为额外的保护措施

总结

视频尺寸和方向信息的正确处理对于视频播放类应用至关重要。React Native Video团队已经快速响应并修复了这个Bug,体现了开源社区的高效协作精神。开发者应及时更新依赖版本以获得最佳体验。

登录后查看全文
热门项目推荐
相关项目推荐