Ошибка «Тайм-аут удаленного вызова» при попытке воспроизвести большую коллекцию музыкальных произведений с помощью MusicIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка «Тайм-аут удаленного вызова» при попытке воспроизвести большую коллекцию музыкальных произведений с помощью Music

Сообщение Anonymous »

Я использую MusicKit ApplicationMusicPlayer для воспроизведения музыки в своем приложении. Все работает нормально, пока я не проигрываю большие плейлисты, содержащие сотни песен. Когда я пытаюсь воспроизвести коллекцию песен, насчитывающую более 300 песен, я всегда получаю сообщение об ошибке:

"Не удалось подготовиться к воспроизведению" UserInfo ={NSDebugDescription=Подготовка к игре
не удалась, NUnderlyingError=0x121d42dc0 {Error
Domain=MPMusicPlayerControllerErrorDomain Code=9 «Время удаленного вызова истекло
» UserInfo={NSDebugDescription=Время ожидания удаленного вызова истекло}}} ))

Не имеет значения, загружены песни на устройство или нет.
Я знаю, что существует другой инициализатор для проигрывателя очередь, которая принимает экземпляры плейлиста, но в моем приложении пользователи могут выбрать сортировку треков плейлиста в другом порядке, чем по умолчанию, и это делает использование этого инициализатора невозможным для меня.
Я попробовал все, что мог придумать, я попытался вернуться к MPMusicPlayerController и передать ему массив MPMusicPlayerPlayParameters, но результат был тот же.
typealias QueueEntry = ApplicationMusicPlayer.Queue.Entry

let player = ApplicationMusicPlayer.shared

let entries: [QueueEntry] = tracks
.compactMap {
guard let song = $0 as? Song else { return nil }
return QueueEntry(song)
}
Task(priority: .high) { [player] in
do {
player.queue = .init(entries, startingAt: nil)
try await player.play() // prepareToPlay failed
} catch {
print(error)
}
}


Подробнее здесь: https://stackoverflow.com/questions/783 ... music-item
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»