Saving buffer data of AVPlayer

avplayer, cocoa-touch, ios, iphone

Solution

You could supply a `resourceLoader` delegate to take over control of the resource loading process from `AVPlayer` and then supply it the data as and when it requests and becomes available. The resource loader is a property on `AVURLAsset`. I've documented a full solution on my blog but the main idea is to switch the protocol of your URL to something custom so AVURLAsset's resource loader requires your application's assistance in loading that URL. Then when you get the `AVAssetResourceLoaderDelegate` callbacks, start downloading the file and try to respond to the pending requests received from those delegate callbacks as and when you have data. This will allow progressive loading/playback of the content without having to run a full blown HTTP server in your app or resorting to other complicated solutions.

Problem

I am playing audio from my server using AVPlayer in my application. Now I want that when it completely buffer the audio then I can save that data in the application to play it later. So how can I access buffer data and save it for later use?

Original source

Related problems