You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo React Native iOS端MOV转MP4依赖安装及类型声明报错求助

解决Expo Camera iOS端MOV转MP4的问题

方案1:使用Expo官方库expo-av转码(推荐)

Expo环境下优先用官方兼容工具,规避第三方库的适配风险:

  • 安装依赖:npx expo install expo-av
  • 调用转码API实现格式转换:
    import { VideoManipulator } from 'expo-av';
    
    async function convertMovToMp4(movUri: string) {
      const transcodeResult = await VideoManipulator.transcodeAsync(
        movUri,
        {
          format: VideoManipulator.VideoFormat.MP4,
          compress: 0.8 // 可根据需求调整压缩比例
        }
      );
      return transcodeResult.uri;
    }
    
  • 该方法无需额外配置Pod,iOS/Android双端通用,还支持视频压缩等扩展功能。

方案2:修复react-native-mov-to-mp4的iOS适配问题

如果必须使用该第三方库,按以下步骤修复:

2.1 解决iOS Pod未加载问题

  • 确保项目为bare workflow(若为managed workflow,需先执行 eject 或配置config plugin)
  • 打开iOS目录下的Podfile,添加以下代码:
    pod 'react-native-mov-to-mp4', :path => '../node_modules/react-native-mov-to-mp4'
    
  • 进入iOS目录执行:pod install

2.2 解决TypeScript类型声明报错

  • 在项目根目录创建react-native-mov-to-mp4.d.ts文件,内容如下:
    declare module 'react-native-mov-to-mp4' {
      export function convertMovToMp4(inputPath: string, outputPath: string): Promise<string>;
    }
    
  • 确认tsconfig.json中包含对.d.ts文件的扫描(默认配置已覆盖,若未生效可添加"include": ["src/**/*", "*.d.ts"])

内容的提问来源于stack exchange,提问作者Nitika Kohli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 19:25:07