我正在编写一个与Rhapsody 音乐服务 SDK交互的 iOS 应用程序。我被困在需要合并音乐文件的 RAD 和 EA 部分的地方。根据他们的文档:
返回曲目播放信息后,您现在可以开始检索 Rhapsody 音频数据。首先,将从 getTrackPlaybackInfos 方法返回的媒体 URL 属性加载到您的客户端中。大多数允许流式传输的 Rhapsody 格式都需要 Rhapsody 使用的称为 RAD/EA 的安全方法。RAD/EA 安全模型允许通过 HTTP 立即下载大部分曲目(称为音频的 RAD 部分)。然后客户端每 30 秒下载文件的一小部分加密部分(称为文件的 EA 部分)以构成整个音乐文件。
如果媒体 URL 包含 RAD,则调用 getEA 方法以获取基本音频 (EA)。使用从 cal 返回到 getTrackPlaybackInfos 的会话标识符、RAD 版本(3,除非您的 Rhapsody Direct 代表另有说明)、格式和比特率。您必须多次调用 getEA 方法才能播放整个音轨。position 参数包含 EA 块中开始检索音频数据的偏移量,count 参数包含要返回的实际字节数。例如,在第一次调用 getEA 时,您可以将 position 参数设置为 0,并将 count 参数设置为 4096。这将返回从轨道开头开始的 4096 字节的音频数据。在第二次获得 EA 时,
我可以很容易地找到 RAD 文件。但我不清楚的是如何将 RAD 和 EA 文件重新组合成可流式传输/可播放的媒体文件?我认为这是谷歌第一次让我失望。我什至找不到有关如何进行的提示。