I have implemented seeking as discussed here ( AVAssetReader Seeking), however there is of course a noticeable delay while the AVAssetReader is torn down and a new one constructed (since you cannot change the timeRange property once you have begun reading data).
I can imagine that seeking forward in time could be done rather cleanly by just reading the data and skipping it, but seeking backwards in time would always be constrained by this problem...
Any ideas how I can optimize this so the user enjoys scrubbing through an audio track?