AVAudioSession 类

定义

协调音频播放或捕获会话。

[Foundation.Register("AVAudioSession", true)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.WatchOS, 3, 0, ObjCRuntime.PlatformArchitecture.All, null)]
public class AVAudioSession : Foundation.NSObject
type AVAudioSession = class
    inherit NSObject
继承
AVAudioSession
属性

注解

应用程序开发人员应使用检索到的单一 SharedInstance()实例对象。

由于 iOS 设备的音频硬件在所有应用之间共享,因此音频设置只能是“首选” (查看 SetPreferred* 方法) 并且应用程序开发人员必须考虑到这些首选项被重写的用例。

应用与其他应用和系统服务的交互由音频类别决定。 可以使用 SetCategory(String, String, AVAudioSessionRouteSharingPolicy, AVAudioSessionCategoryOptions, NSError) 方法对此进行设置

还应控制模式 (使用 SetMode(NSString, NSError) 来描述应用程序如何使用音频。

与 AV Foundation 中常见的一样,中的 AVAudioSession 许多方法是异步的,属性可能需要一些时间才能反映其最终状态。 应用程序开发人员应熟悉异步编程技术。

AVAudioSession,如 AVCaptureSessionAVAssetExportSession 是和 之间的一个InputDataSourcesOutputDataSources协调对象。

可以使用 中的 AVAudioSession.Notifications便捷方法注册到音频系统发布的一些通知。

void Setup ()
{
	AVAudioSession.SharedInstance ().Init ();
	NSError error;
	if (!AVAudioSession.SharedInstance ().SetCategory (AVAudioSessionCategory.Playback, out error)) {
		ReportError (error);
		return;
	}
	AVAudioSession.Notifications.ObserveInterruption (ToneInterruptionListener);

	if (!AVAudioSession.SharedInstance ().SetActive (true, out error)) {
		ReportError (error);
		return;
	}

	void ToneInterruptionListener (object sender, AVAudioSessionInterruptionEventArgs interruptArgs)
	{
		//
	}
}

构造函数

AVAudioSession(IntPtr)

创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。

AVAudioSession(NSObjectFlag)

在派生类上调用 的构造函数,以跳过初始化并仅分配 对象。

属性

AvailableCategories

获取一个数组,其中包含设备可以提供的会话类别的说明。

AvailableInputs

获取一个数组,该数组包含 AVAudioSessionPortDescription列出设备上的可用音频源的 。

AvailableModes

获取包含可用音频会话模式的数组。

Category

应用的弱类型音频分类,用于平衡其需求与设备上的其他应用。

CategoryAmbient

表示与常量 AVAudioSessionCategoryAmbient 关联的值

CategoryAudioProcessing

开发人员不应使用此已弃用的属性。

CategoryMultiRoute

表示与常量 AVAudioSessionCategoryMultiRoute 关联的值

CategoryOptions

的选项 Category

CategoryPlayAndRecord

表示与常量 AVAudioSessionCategoryPlayAndRecord 关联的值

CategoryPlayback

表示与常量 AVAudioSessionCategoryPlayback 关联的值

CategoryRecord

表示与常量 AVAudioSessionCategoryRecord 关联的值

CategorySoloAmbient

表示与常量 AVAudioSessionCategorySoloAmbient 关联的值

Class

协调音频播放或捕获会话。

(继承自 NSObject)
ClassHandle

此类的句柄。

CurrentHardwareInputNumberOfChannels

应用程序开发人员不应使用此已弃用的属性。 请改用 InputNumberOfChannels

CurrentHardwareOutputNumberOfChannels

应用程序开发人员不应使用此已弃用的属性。 请改用 OutputNumberOfChannels

CurrentHardwareSampleRate

应用程序开发人员不应使用此已弃用的属性。 请改用 SampleRate

CurrentRoute

活动输入-输出路由。

DebugDescription

此对象的开发人员有意义的说明。

(继承自 NSObject)
Delegate

充当类委托的 AVFoundation.IAVAudioSessionDelegate 模型类的实例。

Description

对象的说明,即 ToString 的 Objective-C 版本。

(继承自 NSObject)
Handle

处理指向非托管对象表示形式的 (指针) 。

(继承自 NSObject)
InputAvailable

是否有任何输入路由支持音频。

InputDataSource

当前选定的输入 AVAudioSessionDataSourceDescription

InputDataSources

可用于当前输入端口的数据源。

InputGain

输入增益为 0 到 1 的浮点值。

InputGainSettable

确定输入增益是否可用。

InputIsAvailable

应用程序开发人员不应使用此已弃用的 。 请改用 InputAvailable

InputLatency

输入延迟(以秒为单位)。

InputNumberOfChannels

当前输入路由的通道数。

InterruptionNotification

中断的通知常量

IOBufferDuration

当前缓冲区的持续时间(以秒为单位)。

IsDirectBinding

协调音频播放或捕获会话。

(继承自 NSObject)
IsProxy

协调音频播放或捕获会话。

(继承自 NSObject)
MaximumInputNumberOfChannels

可用于当前输入路由的最大通道数。

MaximumOutputNumberOfChannels

可用于当前输出路由的最大通道数。

MediaServicesWereLostNotification

MediaServicesWereLost 的通知常量

MediaServicesWereResetNotification

MediaServicesWereReset 的通知常量

Mode

音频的配置模式,它提供对 Category 属性的精细控制。

ModeDefault

表示与常量 AVAudioSessionModeDefault 关联的值

ModeGameChat

表示与常量 AVAudioSessionModeGameChat 关联的值

ModeMeasurement

表示与常量 AVAudioSessionModeMeasurement 关联的值

ModeMoviePlayback

表示与常量 AVAudioSessionModeMoviePlayback 关联的值

ModeSpokenAudio

表示与常量 AVAudioSessionModeSpokenAudio 关联的值。

ModeVideoChat

表示与常量 AVAudioSessionModeVideoChat 关联的值

ModeVideoRecording

表示与常量 AVAudioSessionModeVideoRecording 关联的值

ModeVoiceChat

表示与常量 AVAudioSessionModeVoiceChat 关联的值

OrientationLeft

表示与常量 AVAudioSessionOrientationLeft 关联的值

OrientationRight

表示与常量 AVAudioSessionOrientationRight 关联的值

OtherAudioPlaying

另一个应用程序当前是否正在播放音频。

OutputDataSource

当前选定的输出数据源。

OutputDataSources

一个 数组 AVAudioSessionDataSourceDescription,列出当前输出路由的可用源。

OutputLatency

输出延迟(以秒为单位)。

OutputNumberOfChannels

输出路由中的当前通道数。

OutputVolume

当前卷。

PortAirPlay

表示与常量 AVAudioSessionPortAirPlay 关联的值

PortBluetoothA2DP

表示与常量 AVAudioSessionPortBluetoothA2DP 关联的值

PortBluetoothHfp

表示与常量 AVAudioSessionPortBluetoothHFP 关联的值

PortBluetoothLE

表示与常量 AVAudioSessionPortBluetoothLE 关联的值

PortBuiltInMic

表示与常量 AVAudioSessionPortBuiltInMic 关联的值

PortBuiltInReceiver

表示与常量 AVAudioSessionPortBuiltInReceiver 关联的值

PortBuiltInSpeaker

表示与常量 AVAudioSessionPortBuiltInSpeaker 关联的值

PortCarAudio

表示与常量 AVAudioSessionPortCarAudio 关联的值

PortHdmi

表示与常量 AVAudioSessionPortHDMI 关联的值

PortHeadphones

表示与常量 AVAudioSessionPortHeadphones 关联的值

PortHeadsetMic

表示与常量 AVAudioSessionPortHeadsetMic 关联的值

PortLineIn

表示与常量 AVAudioSessionPortLineIn 关联的值

PortLineOut

表示与常量 AVAudioSessionPortLineOut 关联的值

PortUsbAudio

表示与常量 AVAudioSessionPortUSBAudio 关联的值

PreferredHardwareSampleRate

所需的音频采样率。

PreferredInput

音频路由的首选输入端口。

PreferredIOBufferDuration

应用程序所需的缓冲区大小(以秒为单位)。

PreferredSampleRate

应用的首选采样率,以 Hz 为单位。

PromptStyle

协调音频播放或捕获会话。

RecordPermission

获取一个值,该值描述当前授予的录制权限状态。

RetainCount

返回对象的当前 Objective-C 保留计数。

(继承自 NSObject)
RouteChangeNotification

RouteChange 的通知常量

RouteSharingPolicy

协调音频播放或捕获会话。

SampleRate

当前硬件采样率,以 Hz 为单位。

SecondaryAudioShouldBeSilencedHint

获取一个布尔值,该值指示另一个应用是否正在播放音频。

Self

协调音频播放或捕获会话。

(继承自 NSObject)
SilenceSecondaryAudioHintNotification

SilenceSecondaryAudioHint 的通知常量

Superclass

协调音频播放或捕获会话。

(继承自 NSObject)
SuperHandle

用于表示此 NSObject 基类中方法的句柄。

(继承自 NSObject)
VoicePrompt

协调音频播放或捕获会话。

WeakDelegate

可以响应此类型的委托协议的对象

Zone

协调音频播放或捕获会话。

(继承自 NSObject)

方法

AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr)

使用 NSString keyPath) 注册一个对象,以便在外部 (观察到该对象。   观察到的更改将调度到观察者的 对象 ObserveValue(NSString, NSObject, NSDictionary, IntPtr) 方法。

(继承自 NSObject)
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr)

使用字符串 keyPath) 注册一个对象,以便在外部 (观察到该对象。   观察到的更改将调度到观察者的 对象 ObserveValue(NSString, NSObject, NSDictionary, IntPtr) 方法。

(继承自 NSObject)
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>)

注册一个对象,以便使用任意方法在外部观察。

(继承自 NSObject)
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>)

注册一个对象,以便使用任意方法在外部观察。

(继承自 NSObject)
AwakeFromNib()

从 nib 文件加载对象后调用。 替代器必须调用 base。AwakeFromNib () 。

(继承自 NSObject)
BeginInvokeOnMainThread(Action)

协调音频播放或捕获会话。

(继承自 NSObject)
BeginInvokeOnMainThread(Selector, NSObject)

在主 UI 线程上异步调用指定的代码。

(继承自 NSObject)
Bind(NSString, NSObject, String, NSDictionary)

协调音频播放或捕获会话。

(继承自 NSObject)
Bind(String, NSObject, String, NSDictionary)
已过时.

协调音频播放或捕获会话。

(继承自 NSObject)
BindingInfo(String)
已过时.

协调音频播放或捕获会话。

(继承自 NSObject)
BindingOptionDescriptions(String)
已过时.

协调音频播放或捕获会话。

(继承自 NSObject)
BindingValueClass(String)
已过时.

协调音频播放或捕获会话。

(继承自 NSObject)
CommitEditing()

协调音频播放或捕获会话。

(继承自 NSObject)
CommitEditing(NSObject, Selector, IntPtr)

协调音频播放或捕获会话。

(继承自 NSObject)
ConformsToProtocol(IntPtr)

调用以确定此对象是否实现指定的协议。

(继承自 NSObject)
Copy()

执行基础 Objective-C 对象的副本。

(继承自 NSObject)
DangerousAutorelease()

协调音频播放或捕获会话。

(继承自 NSObject)
DangerousRelease()

协调音频播放或捕获会话。

(继承自 NSObject)
DangerousRetain()

协调音频播放或捕获会话。

(继承自 NSObject)
DidChange(NSKeyValueChange, NSIndexSet, NSString)

指示对多关系的索引发生了更改。

(继承自 NSObject)
DidChange(NSString, NSKeyValueSetMutationKind, NSSet)

协调音频播放或捕获会话。

(继承自 NSObject)
DidChangeValue(String)

指示对指定的键进行了更改。

(继承自 NSObject)
Dispose()

释放 NSObject 对象使用的资源。

(继承自 NSObject)
Dispose(Boolean)

释放 AVAudioSession 对象使用的资源。

DoesNotRecognizeSelector(Selector)

指示此对象无法识别指定的选择器。

(继承自 NSObject)
Equals(NSObject)

协调音频播放或捕获会话。

(继承自 NSObject)
Equals(Object)

协调音频播放或捕获会话。

(继承自 NSObject)
ExposedBindings()

协调音频播放或捕获会话。

(继承自 NSObject)
GetBindingInfo(NSString)

协调音频播放或捕获会话。

(继承自 NSObject)
GetBindingOptionDescriptions(NSString)

协调音频播放或捕获会话。

(继承自 NSObject)
GetBindingValueClass(NSString)

协调音频播放或捕获会话。

(继承自 NSObject)
GetDictionaryOfValuesFromKeys(NSString[])

检索指定键的值。

(继承自 NSObject)
GetHashCode()

为当前实例生成哈希代码。

(继承自 NSObject)
GetMethodForSelector(Selector)

协调音频播放或捕获会话。

(继承自 NSObject)
GetNativeField(String)
已过时.

协调音频播放或捕获会话。

(继承自 NSObject)
GetNativeHash()

协调音频播放或捕获会话。

(继承自 NSObject)
GetPreferredInputNumberOfChannels()

检索首选数量的输入通道。

GetPreferredOutputNumberOfChannels()

检索首选数量的输出通道。

Init()

协调音频播放或捕获会话。

(继承自 NSObject)
InitializeHandle(IntPtr)

协调音频播放或捕获会话。

(继承自 NSObject)
InitializeHandle(IntPtr, String)

协调音频播放或捕获会话。

(继承自 NSObject)
Invoke(Action, Double)

协调音频播放或捕获会话。

(继承自 NSObject)
Invoke(Action, TimeSpan)

协调音频播放或捕获会话。

(继承自 NSObject)
InvokeOnMainThread(Action)

协调音频播放或捕获会话。

(继承自 NSObject)
InvokeOnMainThread(Selector, NSObject)

同步调用主 UI 线程上的指定代码。

(继承自 NSObject)
IsEqual(NSObject)

协调音频播放或捕获会话。

(继承自 NSObject)
IsKindOfClass(Class)

协调音频播放或捕获会话。

(继承自 NSObject)
IsMemberOfClass(Class)

协调音频播放或捕获会话。

(继承自 NSObject)
MarkDirty()

将常规对等对象 (IsDirectBinding 为 true) 提升为 toggleref 对象。

(继承自 NSObject)
MutableCopy()

创建指定 NSObject 的可变副本。

(继承自 NSObject)
ObjectDidEndEditing(NSObject)

协调音频播放或捕获会话。

(继承自 NSObject)
ObserveValue(NSString, NSObject, NSDictionary, IntPtr)

指示相对于此对象的指定 keyPath 处的值已更改。

(继承自 NSObject)
OverrideOutputAudioPort(AVAudioSessionPortOverride, NSError)

请求临时更改输出音频端口。

PerformSelector(Selector)

协调音频播放或捕获会话。

(继承自 NSObject)
PerformSelector(Selector, NSObject)

协调音频播放或捕获会话。

(继承自 NSObject)
PerformSelector(Selector, NSObject, Double)

在当前实例上调用选择器,如果 obj 不为 null,则将其作为其单个参数传递。

(继承自 NSObject)
PerformSelector(Selector, NSObject, Double, NSString[])

协调音频播放或捕获会话。

(继承自 NSObject)
PerformSelector(Selector, NSObject, NSObject)

协调音频播放或捕获会话。

(继承自 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean)

协调音频播放或捕获会话。

(继承自 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[])

协调音频播放或捕获会话。

(继承自 NSObject)
PrepareForInterfaceBuilder()

协调音频播放或捕获会话。

(继承自 NSObject)
RemoveObserver(NSObject, NSString)

阻止指定观察程序接收指定 keyPath 的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, NSString, IntPtr)

停止指定的观察程序接收指定 keyPath 和上下文的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, String)

阻止指定观察程序接收指定 keyPath 的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, String, IntPtr)

停止指定的观察程序接收指定 keyPath 和上下文的更改值的进一步通知。

(继承自 NSObject)
RequestRecordPermission(AVPermissionGranted)

向应用用户提供标准 UI,请求记录权限。

RespondsToSelector(Selector)

此对象是否识别指定的选择器。

(继承自 NSObject)
SetActive(Boolean)

激活或停用应用程序的音频会话。

SetActive(Boolean, AVAudioSessionFlags, NSError)

应用程序开发人员不应使用此已弃用的方法。

SetActive(Boolean, AVAudioSessionSetActiveOptions)

激活和停用应用程序的音频会话。

SetActive(Boolean, AVAudioSessionSetActiveOptions, NSError)

激活和停用应用程序的音频会话。

SetActive(Boolean, NSError)

激活或停用应用程序的音频会话。

SetAggregatedIOPreference(AVAudioSessionIOType, NSError)

协调音频播放或捕获会话。

SetCategory(AVAudioSessionCategory)

请求对 Category进行更改。

SetCategory(AVAudioSessionCategory, AVAudioSessionCategoryOptions)

请求对 Category进行更改。

SetCategory(NSString)

弱类型;请求对 Category进行更改。

SetCategory(NSString, NSError)

弱类型;请求对 Category进行更改。

SetCategory(String, AVAudioSessionCategoryOptions, NSError)

弱类型;请求对 Category进行更改。

SetCategory(String, String, AVAudioSessionCategoryOptions, NSError)

协调音频播放或捕获会话。

SetCategory(String, String, AVAudioSessionRouteSharingPolicy, AVAudioSessionCategoryOptions, NSError)

协调音频播放或捕获会话。

SetInputDataSource(AVAudioSessionDataSourceDescription, NSError)

选择指定的 dataSource

SetInputGain(Single, NSError)

请求特定的增益级别。

SetMode(NSString, NSError)

请求特定模式。

SetNativeField(String, NSObject)
已过时.

协调音频播放或捕获会话。

(继承自 NSObject)
SetNilValueForKey(NSString)

将指定键的值设置为 null。

(继承自 NSObject)
SetOutputDataSource(AVAudioSessionDataSourceDescription, NSError)

选择特定的输出 dataSource

SetPreferredHardwareSampleRate(Double, NSError)

应用程序开发人员不应使用此已弃用的方法。 请改用 M:AVFoundation.AVAudioSession.SetPreferredSampleRate (Double,out NSError)

SetPreferredInput(AVAudioSessionPortDescription, NSError)

设置首选输入数据源。

SetPreferredInputNumberOfChannels(nint, NSError)

协调音频播放或捕获会话。

SetPreferredIOBufferDuration(Double, NSError)

设置 IO 缓冲区的首选持续时间(以秒为单位)。

SetPreferredOutputNumberOfChannels(nint, NSError)

协调音频播放或捕获会话。

SetPreferredSampleRate(Double, NSError)

设置首选采样率(以 Hz 为单位)。

SetValueForKey(NSObject, NSString)

将键指定的属性的值设置为指定的值。

(继承自 NSObject)
SetValueForKeyPath(IntPtr, NSString)

创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。

(继承自 NSObject)
SetValueForKeyPath(NSObject, NSString)

设置可以使用键路径访问的属性的值。

(继承自 NSObject)
SetValueForUndefinedKey(NSObject, NSString)

指示尝试将值写入未定义的键。 如果未重写,则引发 NSUndefinedKeyException。

(继承自 NSObject)
SetValuesForKeysWithDictionary(NSDictionary)

将此 NSObject 的值设置为指定字典中的值。

(继承自 NSObject)
SharedInstance()

返回共享 AVAudioSession 对象的工厂方法。

ToString()

返回当前实例的值的字符串表示形式。

(继承自 NSObject)
Unbind(NSString)

协调音频播放或捕获会话。

(继承自 NSObject)
Unbind(String)
已过时.

协调音频播放或捕获会话。

(继承自 NSObject)
ValueForKey(NSString)

返回与指定键关联的属性的值。

(继承自 NSObject)
ValueForKeyPath(NSString)

返回可以使用键路径访问的属性的值。

(继承自 NSObject)
ValueForUndefinedKey(NSString)

指示尝试读取未定义键的值。 如果未重写,则引发 NSUndefinedKeyException。

(继承自 NSObject)
WillChange(NSKeyValueChange, NSIndexSet, NSString)

指示指定键中指定索引的值即将更改。

(继承自 NSObject)
WillChange(NSString, NSKeyValueSetMutationKind, NSSet)

协调音频播放或捕获会话。

(继承自 NSObject)
WillChangeValue(String)

指示指定键的值即将更改。

(继承自 NSObject)

事件

BeginInterruption
已过时.

开发人员不应使用此已弃用的方法。 相反,他们应使用 ObserveInterruption(NSObject, EventHandler<AVAudioSessionInterruptionEventArgs>)

CategoryChanged
已过时.

一个指示 Category 已更改的事件。

EndInterruption
已过时.

开发人员不应使用此已弃用的方法。 相反,他们应使用 ObserveInterruption(NSObject, EventHandler<AVAudioSessionInterruptionEventArgs>)

InputAvailabilityChanged
已过时.

指示输入的可用性已更改的事件。

InputChannelsChanged
已过时.

已弃用。 不再引发此事件。

OutputChannelsChanged
已过时.

已弃用。 不再引发此事件。

SampleRateChanged
已过时.

指示 SampleRate 已更改的事件。

扩展方法

GetDebugDescription(INSObjectProtocol)

协调音频播放或捕获会话。

GetAccessibilityCustomRotors(NSObject)

获取适用于 this 对象的 对象的数组UIAccessibilityCustomRotor

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

设置适用于 this 对象的 对象数组UIAccessibilityCustomRotor

适用于

另请参阅