Как настроить прослушиватель MPErrorDomain

Я пытаюсь понять, как обрабатывать ошибки в obj-c на MediaPlayer, и у нас есть кто-то, кто проделал некоторую работу, чтобы сделать это для нас на AVPlayer, но способ обработки на AVPlayer отличается от того, что я вижу в документации, чем то, как обрабатываются ошибки в MPMusicPlayerController.

Существует что-то, называемое MPErrorDomain, которое является типом ErrorDomain.

https://developer.apple.com/documentation/mediaplayer/mperrordomain?language=objc

Нужно ли создавать наблюдателя для прослушивания, когда возникает этот тип объекта ошибки?

Я действительно просто хочу понять, как обрабатывать, когда возникает одна из этих ошибок.

https://developer.apple.com/documentation/mediaplayer/mperrorcode?language=objc

В конечном итоге я хочу обработать эти коды ошибок https://developer.apple.com/documentation/mediaplayer/mperrorcode?language=objc


person Cameron Cintron    schedule 29.10.2019    source источник
comment
Что такое медиаплеер? Вы имеете в виду MPMusicPlayerController?   -  person matt    schedule 29.10.2019
comment
Да, я имел в виду это, я отредактирую исходный пост. Это подпадает под структуру MediaPlayer   -  person Cameron Cintron    schedule 29.10.2019
comment
Да, но слова имеют точное значение, когда вы программируете. :)   -  person matt    schedule 29.10.2019


Ответы (1)


Нужно ли создавать наблюдателя для прослушивания, когда возникает этот тип объекта ошибки?

Нет. Вы просто делаете что-то и либо получаете ошибку, либо нет.

Некоторые методы имеют параметры ошибки в своих обработчиках завершения:

https://developer.apple.com/documentation/mediaplayer/mpmusicplayercontroller/2582424-preparetoplay

https://developer.apple.com/documentation/mediaplayer/mpmusicplayerapplicationcontroller/2815055-perform

Кроме того, вы будете знать, что у вас есть ошибка, потому что консоль сообщит об этом (во время отладки с помощью Xcode).

person matt    schedule 29.10.2019
comment
Если я выйду из обработчика завершения ошибок в PrepareToPlay, как мне преобразовать его в тип MPErrorCode? - person Cameron Cintron; 30.10.2019
comment
Я не знаю, что вы имеете в виду под обращением. Если вы получаете ошибку, это NSError. У него есть домен и код. Коды - это просто целые числа. Конвертировать нечего. - person matt; 30.10.2019
comment
Я посмотрел, что мы делаем, и увидел, что у нас уже есть код для обработки ошибки в обработчиках завершения для preparetoplay, но, похоже, он не выдает ошибки каждый раз. Ошибки возникают, когда мы вызываем play для запуска музыкального проигрывателя. - person Cameron Cintron; 30.10.2019
comment
Ну, в Objective C вы можете создать обработчик исключений, очевидно. Однако обычным делом является написание кода, который не генерирует исключений. С другой стороны, я считаю, что музыкальный проигрыватель выдает много глупостей, за исключением того, что они не влияют на функциональность, поэтому я их игнорирую. Во всяком случае, мы сейчас далеко от темы того, что вы спросили. - person matt; 30.10.2019