I use the MPMusicPlayerControllerMusicPlayer system to play, but after skipping songs I notice a significant lag.
Here is my “lag” that I measured, at times it's faster:
- 1.280796
- 1.210124
- 1.019931
- 1.167739
After skipping several songs, the delay before the sound increases quite a bit.
-(void)viewDidLoad {
[[MPMusicPlayerController systemMusicPlayer] setQueueWithQuery:[MPMediaQuery songsQuery]];
[[MPMusicPlayerController systemMusicPlayer] prepareToPlay];
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter addObserver:self selector:@selector(handlePlaybackStateChanged:)
name:MPMusicPlayerControllerPlaybackStateDidChangeNotification object:nil];
[notificationCenter addObserver:self
selector:@selector(handleNowPlayingItemChanged:)
name:MPMusicPlayerControllerNowPlayingItemDidChangeNotification
object:[MPMusicPlayerController systemMusicPlayer]];
[[MPMusicPlayerController systemMusicPlayer] beginGeneratingPlaybackNotifications];
}
-(IBAction)playBtn:(id)sender {
if ([MPMusicPlayerController systemMusicPlayer].playbackState != MPMusicPlaybackStatePlaying) {
[[MPMusicPlayerController systemMusicPlayer] play];
} else {
[[MPMusicPlayerController systemMusicPlayer] pause];
}
}
-(void)skipTrack {
startTrackChange = [NSDate date];
[[MPMusicPlayerController systemMusicPlayer] skipToNextItem];
}
-(void)handleNowPlayingItemChanged:(id)notification {
NSLog(@"%f",[startTrackChange timeIntervalSinceNow]);
}
Wayne source
share