域 = AVFoundationErrorDomain ,代码 = -11828
domain = AVFoundationErrorDomain , code = -11828
我正在使用来自 CloudFront 的流 url。
样本URL:
https://d14nt81hc5bide.cloudfront.net/qyYj1PcUkYg2ALDfzAdhZAmb
在 Android 上,它工作正常,但在 iOS 上它说:
域 = AVFoundationErrorDomain ,代码 = -11828
来自苹果文档的错误代码 11828 是 AVErrorFileFormatNotRecognized。
无法打开媒体,因为它不是可识别的格式。
有人可以建议如何修复此错误吗?
如果响应的 URL 或 header 不包含有关媒体容器格式的信息(mp4
,mov
,AVFoundation 可能会很挑剔。 ..),这里就是这种情况(URL 中没有 'file extension',并且响应 header 中没有内容类型)。
其他媒体库和播放器似乎愿意只开始加载,然后通过检查传入数据来猜测格式,这可能就是它们在这种情况下起作用的原因。
不幸的是,至少据我所知,没有(可靠的)方法可以通过编程方式告诉 AVFoundation 期望的格式并继续进行。
正如您所说,此错误的产生是因为 AVFoundation 无法识别您的媒体格式。
上传媒体文件到服务器时尝试declare your mime type
更多关于 mime 类型的信息 here
more info: AWS streaming media content tutorial
我别无选择,只能让我的 CloudFront URL 附加 .mp3
。
然后它适用于 ios.
我正在使用来自 CloudFront 的流 url。
样本URL: https://d14nt81hc5bide.cloudfront.net/qyYj1PcUkYg2ALDfzAdhZAmb
在 Android 上,它工作正常,但在 iOS 上它说: 域 = AVFoundationErrorDomain ,代码 = -11828
来自苹果文档的错误代码 11828 是 AVErrorFileFormatNotRecognized。 无法打开媒体,因为它不是可识别的格式。
有人可以建议如何修复此错误吗?
如果响应的 URL 或 header 不包含有关媒体容器格式的信息(mp4
,mov
,AVFoundation 可能会很挑剔。 ..),这里就是这种情况(URL 中没有 'file extension',并且响应 header 中没有内容类型)。
其他媒体库和播放器似乎愿意只开始加载,然后通过检查传入数据来猜测格式,这可能就是它们在这种情况下起作用的原因。
不幸的是,至少据我所知,没有(可靠的)方法可以通过编程方式告诉 AVFoundation 期望的格式并继续进行。
正如您所说,此错误的产生是因为 AVFoundation 无法识别您的媒体格式。
上传媒体文件到服务器时尝试declare your mime type
更多关于 mime 类型的信息 here
more info: AWS streaming media content tutorial
我别无选择,只能让我的 CloudFront URL 附加 .mp3
。
然后它适用于 ios.