我在 Expo 和 React Native 中创建了一个 IPTV 播放器应用程序,它可以播放来自世界各地的直播流(频道)。我正在使用 expo-av 的视频模块来播放这些视频。直播流在 Android 设备上播放正常,但在 IOS 上失败并出现错误
The server is not correctly configured. - The AVPlayerItem instance has failed with the error code -11850 and domain "AVFoundationErrorDomain".
。有时视频无法播放,也没有抛出任何异常。
以下是频道直播的示例链接:http://line.xyz.live/7531601783/8396847476/193257
我尝试将以下几行添加到 info.plist 文件中,但似乎没有任何效果。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoadsForMedia</key>
<true/>
</dict>
如果您使用非安全网址,则已将包添加为域例外,如下所示:
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>org.reactjs.native.example</key>
<string></string>
</dict>
</dict>
另一个原因是检查视频类型。除了 HLS 之外,另一种类型是 video/mp2t,但 Expo-av 不支持它。你必须使用react-native-video包或vlc-player。