AVAudioSession 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
协调音频播放或捕获会话。
[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
- 继承
- 属性
注解
应用程序开发人员应使用检索到的单一 SharedInstance()实例对象。
由于 iOS 设备的音频硬件在所有应用之间共享,因此音频设置只能是“首选” (查看 SetPreferred*
方法) 并且应用程序开发人员必须考虑到这些首选项被重写的用例。
应用与其他应用和系统服务的交互由音频类别决定。 可以使用 SetCategory(String, String, AVAudioSessionRouteSharingPolicy, AVAudioSessionCategoryOptions, NSError) 方法对此进行设置
还应控制模式 (使用 SetMode(NSString, NSError) 来描述应用程序如何使用音频。
与 AV Foundation 中常见的一样,中的 AVAudioSession 许多方法是异步的,属性可能需要一些时间才能反映其最终状态。 应用程序开发人员应熟悉异步编程技术。
AVAudioSession,如 AVCaptureSession 和 AVAssetExportSession 是和 之间的一个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) |
方法
事件
BeginInterruption |
已过时.
开发人员不应使用此已弃用的方法。 相反,他们应使用 ObserveInterruption(NSObject, EventHandler<AVAudioSessionInterruptionEventArgs>)。 |
CategoryChanged |
已过时.
一个指示 Category 已更改的事件。 |
EndInterruption |
已过时.
开发人员不应使用此已弃用的方法。 相反,他们应使用 ObserveInterruption(NSObject, EventHandler<AVAudioSessionInterruptionEventArgs>)。 |
InputAvailabilityChanged |
已过时.
指示输入的可用性已更改的事件。 |
InputChannelsChanged |
已过时.
已弃用。 不再引发此事件。 |
OutputChannelsChanged |
已过时.
已弃用。 不再引发此事件。 |
SampleRateChanged |
已过时.
指示 SampleRate 已更改的事件。 |
扩展方法
GetDebugDescription(INSObjectProtocol) |
协调音频播放或捕获会话。 |
GetAccessibilityCustomRotors(NSObject) |
获取适用于 |
SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[]) |
设置适用于 |