Ошибка домена =NSOSStatusErrorDomain Code=560030580 "Операция не может быть завершена. (Ошибка OSStatus 560030580.)"

Я использовал AVPlayer для воспроизведения онлайн mp3 потока! Когда я приостанавливаю плеер

[AVPlayer pause];
AVAudioSession *session = [AVAudioSession sharedInstance];
session.delegate = nil;
NSError *error = nil;
[session setActive:NO error:&error];
NSLog([error description]);

Я встретил ошибку Error Domain=NSOSStatusErrorDomain Code=560030580 "Операция не может быть завершена. (Ошибка OSStatus 560030580.)"

Может кто-нибудь сказать мне, почему и как это решить?

Большое спасибо!!

2 ответа

Я тоже сталкиваюсь с этой проблемой. Я погуглил и вижу этот пост более одного раза. С форума кто-то сказал, код ошибки можно выяснить по AVAudioSession.h,

В моем случае проблема, кажется, race condition проблема. Это никогда не происходит на моем iPhone 5s, но обычно происходит на других устройствах, например: iPhone6 Plus,

Насколько я знаю, код ошибки 560030580 средства AVAudioSessionErrorCodeIsBusy,


От AVAudioSession.h, следующее определено.

typedef NS_ENUM(NSInteger, AVAudioSessionErrorCode)
{
    AVAudioSessionErrorCodeNone                         =  0,
    AVAudioSessionErrorCodeMediaServicesFailed          = 'msrv',           /* 0x6D737276, 1836282486   */
    AVAudioSessionErrorCodeIsBusy                       = '!act',           /* 0x21616374, 560030580    */
    AVAudioSessionErrorCodeIncompatibleCategory         = '!cat',           /* 0x21636174, 560161140    */
    AVAudioSessionErrorCodeCannotInterruptOthers        = '!int',           /* 0x21696E74, 560557684    */
    AVAudioSessionErrorCodeMissingEntitlement           = 'ent?',           /* 0x656E743F, 1701737535   */
    AVAudioSessionErrorCodeSiriIsRecording              = 'siri',           /* 0x73697269, 1936290409   */
    AVAudioSessionErrorCodeCannotStartPlaying           = '!pla',           /* 0x21706C61, 561015905    */
    AVAudioSessionErrorCodeCannotStartRecording         = '!rec',           /* 0x21726563, 561145187    */
    AVAudioSessionErrorCodeBadParam                     = -50,
    AVAudioSessionErrorInsufficientPriority             = '!pri',           /* 0x21707269, 561017449    */
    AVAudioSessionErrorCodeResourceNotAvailable         = '!res',           /* 0x21726573, 561145203    */
    AVAudioSessionErrorCodeUnspecified                  = 'what'            /* 0x77686174, 2003329396   */
} NS_AVAILABLE_IOS(7_0);

Согласно Apple https://developer.apple.com/documentation/avfoundation/avaudiosession/1616597-setactive:

Деактивация аудиосеанса, в котором запущены аудиообъекты, останавливает их, деактивирует сеанс и возвращает ошибку AVAudioSessionErrorCodeIsBusy.

Насколько я понимаю, это означает, что ваш звук все еще воспроизводится, и вы пытаетесь деактивировать сеанс - он будет активирован, но вы будете отмечены таким образом об этом факте.

Для меня это был ответ: отключиться от Airplay.

Другие вопросы по тегам