无法从 "screens/HomeScreen.js" 解析 "expo-av"

Unable to resolve "expo-av" from "screens/HomeScreen.js"

我最近将我的 expo-cli 升级到 2.21.2Expo SDK v33 版本以获得音频后台播放的支持。但是,我在 运行 代码时遇到错误。考虑下面附加的代码片段,

import { Audio } from 'expo-av';
Audio.setAudioModeAsync({
    staysActiveInBackground : true,
    playsInSilentModeIOS: true,
    interruptionModeIOS: INTERRUPTION_MODE_IOS_DUCK_OTHERS,
    shouldDuckAndroid : true,
});

项目配置 app.json 刚刚在 ios、

中修改了 infoPlist
"infoPlist": {
    "UIBackgroundModes": [
      "audio"
    ]
  }

无法找出设置或项目中的问题?

您可能忘记在 package.json 中的依赖项中添加 expo-av :

npm install expo-av
# OR yarn add expo-av

从 SDK 33 开始,expo 发布了包 expo-codemod,旨在转换应用程序升级时的大部分此类更改。 https://www.npmjs.com/package/expo-codemod

例如,安装后,您可以执行类似这样的操作来自动修复新导入并相应地升级您的 package.json :

npx expo-codemod sdk33-imports ./src