/*!
@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
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 报以下错误 error: Invalid bitcode signature clang: error: link...
- 今天遇到了个有意思的后台,返回给我的数据是2个json,导致我这边解析报错error = Error Domain...
- 新项目中集成极光推送时抛出了如下异常信息提示,导致 registrationID 获取成功但依然推送消息失败; 异...
- 一波一波又一波啊,最近一路掉进去爬出来反反复复,嗯。。。又掉进来了,速战速决记录下继续前行。。 macOS 环境下...