首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MPMusicPlayerController systemMusicPlayer play skipToNextItem慢而慢

MPMusicPlayerController systemMusicPlayer play skipToNextItem慢而慢
EN

Stack Overflow用户
提问于 2017-02-11 12:24:48
回答 1查看 644关注 0票数 1

我正在使用MPMusicPlayerController systemMusicPlayer来播放音乐,但是跳过歌曲后,我注意到了明显的滞后。

以下是我测量到的“滞后”,有时速度更快:

  • 1.280796
  • 1.210124
  • 1.019931
  • 1.167739

跳过几首歌后,你听到声音之前的延迟会增加很多。

代码语言:javascript
复制
-(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];

}
代码语言:javascript
复制
-(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]);
}
EN

回答 1

Stack Overflow用户

发布于 2017-06-15 06:46:13

这似乎适用于我:

代码语言:javascript
复制
    MPMediaQuery *mediaQuery = [MPMediaQuery songsQuery];

   // filter out cloud items, cloud items cause delays
   [mediaQuery addFilterPredicate:[MPMediaPropertyPredicate
                                predicateWithValue:@NO
                                       forProperty:MPMediaItemPropertyIsCloudItem]];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42175833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档