错误域= NSOSStatusErrorDomain代码= 560030580“操作无法完成。(OSStatus错误560030580.)”

时间:2013-05-08 11:42:45

标签: avplayer avaudiosession

我正在使用AVPlayer播放在线mp3流!当我暂停播放器时

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

我遇到了错误,错误域= NSOSStatusErrorDomain代码= 560030580“操作无法完成。(OSStatus错误560030580。)”

有谁能告诉我为什么以及如何解决它?

非常感谢!!

3 个答案:

答案 0 :(得分:4)

我也遇到了这个问题。我用谷歌搜索了这个帖子不止一次。有人说,the forum来自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);

答案 1 :(得分:0)

对我来说,这就是答案:与Airplay断开连接。

答案 2 :(得分:0)

根据Apple https://developer.apple.com/documentation/avfoundation/avaudiosession/1616597-setactive

停用具有运行音频对象的音频会话将停止 它们,停用会话并返回一个 AVAudioSessionErrorCodeIsBusy错误。

据我了解,这意味着您的音频仍在播放,并且您尝试停用该会话-该会话将被激活,但是您会以这种方式注意到这一事实。