У меня была другая ситуация, и я только отвечаю здесь (и на другой вопрос SO), чтобы помочь будущим поисковикам с этим сообщением об ошибке.Это не отвечает на первоначальный вопрос.
Мое приложение воспроизводит звук или песню, но при первом кодировании оно может воспроизводить оба.И в тестировании я всегда тестировал с песней.Я проиграл песню обычным способом:
self.musicQuery = [MPMediaQuery songsQuery];
[_musicQuery addFilterPredicate:[MPMediaPropertyPredicate predicateWithValue:selectedSongID forProperty:MPMediaItemPropertyPersistentID comparisonType:MPMediaPredicateComparisonEqualTo]];
[_musicQuery setGroupingType:MPMediaGroupingTitle];
[_myPlayer setQueueWithQuery:_musicQuery];
[_myPlayer play];
Прошли недели, и я начал тестировать со звуком, играя с AVAudioPlayer.Мое приложение начало зависать в течение 5 секунд, и я получаю сообщение MediaPlayer: Message PlayState timeout в консоли.
Оказывается, что передача пустого запроса вызывает остановкуи сообщение.Исправлена логика моего приложения, чтобы проигрывать песню только тогда, когда песня для воспроизведения исправила ее.