我需要知道AAC 音频文件的统一类型标识符是什么。
上下文:我正在构建一个使用 HLS 播放 DRM'd AAC 文件的音频播放器应用程序。我想支持离线播放,但我不想使用 AVFoundation 的离线内容(通过AVAssetDownloadTask
),因为它会在需要回收磁盘空间时从我下面删除文件(根据这个 WWDC 2016 session)。因此,我自己下载文件,并在需要时使用(在此处AVAssetResourceLoaderDelegate
演练)从磁盘而不是网络提供文件。但玩家只是永远缓冲。我尝试在不涉及 HLS 的情况下提供一个普通的、未加密的 AAC 文件,但它以同样的方式失败了。我尝试了一个普通的、未加密的 MP3 文件,它可以工作。我将提供的UTI从正确更改为loadingRequest.contentInformationRequest.contentType
resourceLoader:shouldWaitForLoadingOfRequestedResource:
audio.mp3
audio.aac
它以同样的方式失败了。由此我推断我需要的是 AAC 文件的正确 UTI。
更新:有趣的是,public.aifc-audio
并public.aac-audio
努力播放未加密的 AAC 音频文件,但不是涉及 HLS 的加密文件。