我正在使用MPMusicPlayerController systemMusicPlayer来播放音乐,但是跳过歌曲后,我注意到了明显的滞后。
以下是我测量到的“滞后”,有时速度更快:
跳过几首歌后,你听到声音之前的延迟会增加很多。
-(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]);
}发布于 2017-06-15 06:46:13
这似乎适用于我:
MPMediaQuery *mediaQuery = [MPMediaQuery songsQuery];
// filter out cloud items, cloud items cause delays
[mediaQuery addFilterPredicate:[MPMediaPropertyPredicate
predicateWithValue:@NO
forProperty:MPMediaItemPropertyIsCloudItem]];https://stackoverflow.com/questions/42175833
复制相似问题