小编Loq*_*uen的帖子

React Native Expo Audio 无法在 iOS 上播放

我正在尝试构建一个简单的音频播放器,从我们的服务器加载文件并播放它。目前这段代码可以在 Android 上运行,但在 iOS 上不起作用,会抛出错误

AVPlayerItem 实例失败,错误代码为 -11850,域为“AVFoundationErrorDomain”

据我所知,这是 iOS 在尝试加载音频文件时需要文件扩展名的问题。我们在 React Web 应用程序上使用完全相同的服务器路由,没有任何问题,它能够在简单的音频 html 元素中加载文件。Android 也可以使用下面的 React Native 代码运行:

const loadNewPlaybackInstance = async playing => {
  const source = { uri: url } // defined as `${api}/api/v1/voicemail?s3_email_id=${s3_email_id}`
  // This returns a voicemail.wav file 

  const initialStatus = {
    shouldPlay: playing,
    rate: 1.0,
    volume: volume,
    isMuted: false,
  }

  try {
    const { sound } = await Audio.Sound.createAsync(
      source,
      initialStatus,
      onPlaybackStatusUpdate,
    )
    setPlaybackInstance(sound)

    updateScreenForLoading(false)
  } catch (error) {
    console.error(error.message)
  }
}
Run Code Online (Sandbox Code Playgroud)

我发现了另一个问题,但没有真正的答案。 …

avaudioplayer ios react-native expo expo-av

5
推荐指数
1
解决办法
2592
查看次数

标签 统计

avaudioplayer ×1

expo ×1

expo-av ×1

ios ×1

react-native ×1