使用expo-av播放视频遇AVPlayerItem错误码-11850的解决求助
请提供需要格式化的具体文本内容,我会按照你指定的Markdown规则进行格式处理。
如果是针对你之前提到的Expo-AV视频播放错误问题,整理后的Markdown格式内容如下:
Expo-AV 视频播放报错(错误码-11850)解决指南
问题代码
import { ResizeMode, Video } from "expo-av"; <Video source={{ uri: item.video }} className="w-52 h-72 rounded-[33px] mt-3 bg-white/10" resizeMode={ResizeMode.CONTAIN} useNativeControls shouldPlay onPlaybackStatusUpdate={(status) => { if (status.didJustFinish) { setPlay(false); } }} onError={(error) => console.error("Video Error:", error)} />
错误信息
视频错误:服务器配置不正确。- AVPlayerItem实例运行失败,错误码-11850,错误域"AVFoundationErrorDomain"。
解决方法
- 验证视频URL有效性:直接在浏览器或第三方视频播放器中打开
item.video对应的URL,确认视频可正常加载播放,排除URL失效、权限限制问题。 - 检查服务器字节范围请求支持:AVFoundation依赖服务器的
Range请求(断点续传)能力,用以下命令测试:
返回curl -I -H "Range: bytes=0-1" 你的视频URL206 Partial Content表示支持,返回200 OK则需调整服务器配置(如Nginx开启Accept-Ranges)。 - 确认视频格式兼容性:确保视频为iOS支持的格式(MP4、MOV等),编码采用H.264/H.265标准。
- 优化请求配置:在Video组件的source中添加缓存策略,避免加载异常:
source={{ uri: item.video, headers: { 'Cache-Control': 'no-cache' } }} - 排查HTTPS证书问题:若使用HTTPS链接,确认服务器证书未过期、信任链完整,避免证书验证失败导致加载错误。
内容的提问来源于stack exchange,提问作者Arun Vinod K
相关产品推荐
相关产品推荐

