美文网首页
iOS AudioSession Error Code

iOS AudioSession Error Code

作者: Youzhicha | 来源:发表于2022-08-15 10:58 被阅读0次
    
    /*!
        @file       AudioSessionTypes.h
        @framework  CoreAudioTypes.framework
        @copyright  (c) 2009-2019 by Apple, Inc., all rights reserved.
        @abstract   Definitions for types used by AVAudioSession.
    */
    
    #ifndef CoreAudioTypes_AudioSessionTypes_h
    #define CoreAudioTypes_AudioSessionTypes_h
    
    #include <CoreFoundation/CFAvailability.h>
    
    // Types which are binary-compatible with NS(U)Integer but without pulling in objc headers.
    #if __LP64__ || 0 || NS_BUILD_32_LIKE_64
    typedef long AVAudioInteger;
    typedef unsigned long AVAudioUInteger;
    #else
    typedef int AVAudioInteger;
    typedef unsigned int AVAudioUInteger;
    #endif
    
    #ifdef __OBJC__
     // Needed for apinotes.
    @class AVAudioSession;
    #endif
    
    /*!
        @enum    AVAudioSessionErrorCode
        @brief    Error codes returned from the AVAudioSession API.
        @var        AVAudioSessionErrorCodeNone
            Operation succeeded.
        @var        AVAudioSessionErrorCodeMediaServicesFailed
            The app attempted to use the audio session during or after a Media Services failure.  App
            should wait for a AVAudioSessionMediaServicesWereResetNotification and then rebuild all
            its state.
        @var        AVAudioSessionErrorCodeIsBusy
            The app attempted to set its audio session inactive or change its AVAudioSessionIOType,
            but it is still actively playing and/or recording.
        @var        AVAudioSessionErrorCodeIncompatibleCategory
            The app tried to perform an operation on a session but its category does not support it.
            For instance, if the app calls setPreferredInputNumberOfChannels: while in a playback-only
            category.
        @var        AVAudioSessionErrorCodeCannotInterruptOthers
            The app's audio session is non-mixable and trying to go active while in the background.
            This is allowed only when the app is the NowPlaying app.
        @var        AVAudioSessionErrorCodeMissingEntitlement
            The app does not have the required entitlements to perform an operation.
        @var        AVAudioSessionErrorCodeSiriIsRecording
            The app tried to do something with the audio session that is not allowed while Siri is
            recording.
        @var        AVAudioSessionErrorCodeCannotStartPlaying
            The app is not allowed to start recording and/or playing, usually because of a lack of audio
            key in its Info.plist.  This could also happen if the app has this key but uses a category
            that can't record and/or play in the background (AVAudioSessionCategoryAmbient,
            AVAudioSessionCategorySoloAmbient, etc.).
        @var        AVAudioSessionErrorCodeCannotStartRecording
            The app is not allowed to start recording, usually because it is starting a mixable
            recording from the background and is not an Inter-App Audio app.
        @var        AVAudioSessionErrorCodeBadParam
            An illegal value was used for a property.
        @var        AVAudioSessionErrorInsufficientPriority
            The app was not allowed to set the audio category because another app (Phone, etc.) is
            controlling it.
        @var        AVAudioSessionErrorCodeResourceNotAvailable
            The operation failed because the device does not have sufficient hardware resources to
            complete the action. For example, the operation requires audio input hardware, but the
            device has no audio input available.
        @var         AVAudioSessionErrorCodeExpiredSession
            The operation failed because the associated session has been destroyed.
        @var        AVAudioSessionErrorCodeUnspecified
            An unspecified error has occurred.
        @var        AVAudioSessionErrorCodeSessionNotActive
            The operation failed because the session is not active.
     */
    typedef CF_ENUM(AVAudioInteger, 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,
        AVAudioSessionErrorCodeInsufficientPriority = '!pri',  // 0x21707269, 561017449
        AVAudioSessionErrorCodeResourceNotAvailable = '!res',  // 0x21726573, 561145203
        AVAudioSessionErrorCodeUnspecified = 'what',           // 0x77686174, 2003329396
        AVAudioSessionErrorCodeExpiredSession = '!ses',        // 0x21736573, 561210739
        AVAudioSessionErrorCodeSessionNotActive = 'inac',      // 0x696e6163, 1768841571
    };
    
    enum {
        AVAudioSessionErrorInsufficientPriority API_DEPRECATED_WITH_REPLACEMENT("AVAudioSessionErrorCodeInsufficientPriority", ios(7.0, 12.0)) API_UNAVAILABLE(macos) = AVAudioSessionErrorCodeInsufficientPriority
    };
    
    #endif // CoreAudioTypes_AudioSessionTypes_h
    

    相关文章

      网友评论

          本文标题:iOS AudioSession Error Code

          本文链接:https://www.haomeiwen.com/subject/ezwkgrtx.html