Инициализация AVAudioPlayer: код ошибки -50 - PullRequest
12 голосов
/ 07 декабря 2009

Недавно я столкнулся с проблемой, которую не нашел нигде в Интернете. Я инициализировал AVAudioPlayer для воспроизведения аудиофайла и получил следующую ошибку:

Error Domain=NSOSStatusErrorDomain Code=-50 "Operation could not be completed. (OSStatus error -50.)

Как оказалось, я допустил ошибку, создав свой NSURL для отправки в аудиоплеер методом init, в результате чего объект NSURL был нулевым. Глупая ошибка, которую довольно легко найти при отладке, но я решил перечислить ее здесь на тот случай, если кто-то другой сделает то же самое.

Ответы [ 3 ]

9 голосов
/ 08 декабря 2009

«Ошибка OSStatus -50» означает paramErr, код ошибки Mac старого стиля, указывающий на неверный параметр.

7 голосов
/ 19 октября 2011

По поводу комментария от Бриньяра: Справочник по классу Apple NSURL, описывающий URLWithString состояния

Чтобы создать NSURL-объекты для путей в файловой системе, используйте fileURLWithPath: isDirectory: вместо этого.

Я обнаружил, что использование URLWithString для путей файловой системы генерирует ошибку, о которой сообщает pix0r, и, следовательно, может быть другим объяснением для кода ошибки = -50

1 голос
/ 07 декабря 2009

Убедитесь, что ваш NSURL действителен, иначе вы получите код ошибки -50 «Операция не может быть завершена».

...