I'm writing an iOS app that interacts with the Rhapsody music service SDK. I'm stuck at the point where I need to combine the RAD and EA portions of the music file. According to their docs:
After the track playback information has been returned, you can now begin retrieving the Rhapsody audio data. First, load the media URL property returned from the getTrackPlaybackInfos method into your client. Most of the Rhapsody formats allowed for streaming require a security method used by Rhapsody called RAD/EA. The RAD/EA security model allows for immediate download via HTTP of the majority of the track (known as the RAD portion of the audio). The client then downloads a small encrypted portion of the file (known as the EA portion of the file) every 30 seconds to constitute the entire music file.
If the media URL contains a RAD, call the getEA method to get the essential audio (EA). Use the session identifier, RAD version (3, unless otherwise told by your Rhapsody Direct representative), format, and bit rate returned from the cal to getTrackPlaybackInfos. You must call the getEA method multiple times to play back the entire audio track. The position parameter contains the offset in the EA block at which to start retrieving the audio data, and the count parameter contains the actual number of bytes to be returned. For example, on the first call to getEA, you would set the position parameter to 0 and could set the count parameter to 4096. This would return 4096 bytes of audio data starting at the beginning of the track. On the second cal to get EA, you would then set the position parameter to 4096 and the count parameter to 4096. On the third call, the position parameter would be 8192 and the count parameter 4096. Continue calling the getEA method until the entire track has played.
I can find the RAD file easy enough. But what I'm not clear on is how I re-combine the RAD and EA files into a streamable/playable media file? I think this is the 1st time Google has failed me. I cannot even find a hint about how to proceed.