Как возобновить звук с помощью Mpmusicplayer после паузы аудио в swift 4.1 (IOS 11) - PullRequest
0 голосов
/ 06 июля 2018

Я работаю над приложением для воспроизведения аудио с помощью «MpmusicPlayer» и хочу возобновить его после паузы.

Я использую «self.appMusicPlayer.currentPlaybackTime», но он не работает в swift 4.1 (IOS 11).

Есть ли другой способ возобновить звук после паузы с помощью MpMusicPlayer?

1 Ответ

0 голосов
/ 06 июля 2018

Кажется, что это проблема с iOS 11, с которой некоторые люди сталкивались при установке currentPlaybackTime после вызова play(). На этом форуме разработчиков Apple была опубликована работа, , но, пожалуйста, найдите код ниже (спасибо RunLoop).

Я только что столкнулся с этой проблемой. Мне удалось обойти это со следующим кодом.

Создает фоновый поток, который постоянно проверяет currentPlaybackTime игрока. Как только currentPlaybackTime не время, когда я установил его, я установил currentPlaybackTime обратно в что я хотел.

Это похоже на ужасный взлом, но пока у меня работает.

MPMusicPlayerController *player = [MPMusicPlayerController systemMusicPlayer];  
player.currentPlaybackTime = _startTime;  
[player play];  

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul);  
dispatch_async(queue, ^{  
  while(true) {  
    if (player.currentPlaybackTime != _startTime) {  
      player.currentPlaybackTime = _startTime;  
      break;  
    }  
  }  
});
...