AudioFileStreamParseBytes waiting for a stream that has been optimized for network transmission. For example, if you exported a file using AVAssetExportSession , you should set it as follows:
AVAssetExportSession *exporter = [[AVAssetExportSession alloc] initWithAsset: songAsset presetName: AVAssetExportPresetPassthrough]; exporter.shouldOptimizeForNetworkUse = YES;
I think in your case you need to look at how MP3 is created and check if the flag is set.
If that doesn't work, look at Matt Gallagher's tutorial on this:
Stream and Play MP3 Stream
It covers issues that may cause failure to parse MP3 files.
source share