我的 NGINX 网络服务器已启用字节范围,add_header Accept-Ranges bytes;
并且我可以通过 curl 成功获取播客剧集的字节范围:
$ curl -I -r 200-300 https://konradhoeffner.de/kirdiemtg/2019-01-02-muldrotha.aac
HTTP/2 206
server: nginx/1.21.6
date: Fri, 19 Aug 2022 13:22:49 GMT
content-type: application/octet-stream
content-length: 101
last-modified: Fri, 19 Aug 2022 11:21:17 GMT
etag: "62ff722d-3119b7f"
content-range: bytes 200-300/51485567
但是,当使用 Pocket Cast Android 应用程序处理包含完全相同的 AAC 文件 URL 的 RSS 文件时,Pocket Cast 会报告“无法搜索。文件标头似乎无效。”。标头中有什么问题,我该如何在 NGINX 配置中修复此问题?
答案1
通过将 AAC 文件包装在带有 .m4a 扩展名的 MPEG-4 容器内并等待 Pocket Cast 更新 RSS 提要来解决此问题。
根据Android 开发者指南,Android 都支持 .aac 和 .m4a,而且都应该是可搜索的,所以我不知道为什么会这样,我认为应用程序就是那样编程的。