11

我正在使用来自 CloudFront 的流式传输 url。

示例 URL: https ://d14nt81hc5bide.cloudfront.net/qyYj1PcUkYg2ALDfzAdhZAmb

在 Android 上,它工作正常,但在 iOS 上它说: domain = AVFoundationErrorDomain , code = -11828

从苹果文档错误代码 11828 是 AVErrorFileFormatNotRecognized。无法打开该媒体,因为它不是可识别的格式。

有人可以建议如何解决此错误吗?

4

3 回答 3

1

如果 URL 或响应的标头不包含有关媒体容器格式的信息(mp4, mov,...),则 AVFoundation 可能会很挑剔,这里就是这种情况(URL 中没有“文件扩展名”,也没有内容类型在响应标头中)。
其他媒体库和播放器似乎愿意开始加载,然后通过检查传入的数据来猜测格式,这可能是他们在这种情况下工作的原因。

不幸的是,至少据我所知,没有(可靠的)方法可以以编程方式告诉 AVFoundation 期望的格式并继续执行该格式。

于 2019-03-26T16:58:48.987 回答
1

正如您所提到的,此错误上升是因为AVFoundation无法识别您的媒体格式。

将媒体文件上传到服务器时尝试声明您的 MIME 类型

更多关于 mime 类型在这里

更多信息:AWS 流媒体内容教程

于 2019-04-03T10:32:04.970 回答
0

我别无选择,只能.mp3附加我的 CloudFront URL。然后它适用于ios。

于 2019-04-13T05:19:13.043 回答