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) |
建立 Unmanaged 物件的 Managed 標記法時所使用的建構函式;由執行時間呼叫。 |
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[]) |
設定適用于 |