AVAudioSession.Notifications.ObserveRouteChange 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
ObserveRouteChange(EventHandler<AVAudioSessionRouteChangeEventArgs>)
常數的 RouteChangeNotification 強型別通知。
public static Foundation.NSObject ObserveRouteChange (EventHandler<AVFoundation.AVAudioSessionRouteChangeEventArgs> handler);
static member ObserveRouteChange : EventHandler<AVFoundation.AVAudioSessionRouteChangeEventArgs> -> Foundation.NSObject
參數
張貼通知時叫用的方法。
傳回
權杖物件,可用來停止接收通知,方法是處置通知或傳遞至 RemoveObservers(IEnumerable<NSObject>)
備註
下列範例示範開發人員如何在其程式碼中使用此方法:
//
// Lambda style
//
// listening
notification = AVAudioSession.Notifications.ObserveRouteChange ((sender, args) => {
/* Access strongly typed args */
Console.WriteLine ("Notification: {0}", args.Notification);
Console.WriteLine ("Reason", args.Reason);
Console.WriteLine ("PreviousRoute", args.PreviousRoute);
});
// To stop listening:
notification.Dispose ();
//
//Method style
//
NSObject notification;
void Callback (object sender, AVFoundation.AVAudioSessionRouteChangeEventArgs args)
{
// Access strongly typed args
Console.WriteLine ("Notification: {0}", args.Notification);
Console.WriteLine ("Reason", args.Reason);
Console.WriteLine ("PreviousRoute", args.PreviousRoute);
}
void Setup ()
{
notification = AVAudioSession.Notifications.ObserveRouteChange (Callback);
}
void Teardown ()
{
notification.Dispose ();
}
適用於
ObserveRouteChange(NSObject, EventHandler<AVAudioSessionRouteChangeEventArgs>)
常數的 RouteChangeNotification 強型別通知。
public static Foundation.NSObject ObserveRouteChange (Foundation.NSObject objectToObserve, EventHandler<AVFoundation.AVAudioSessionRouteChangeEventArgs> handler);
static member ObserveRouteChange : Foundation.NSObject * EventHandler<AVFoundation.AVAudioSessionRouteChangeEventArgs> -> Foundation.NSObject
參數
- objectToObserve
- NSObject
要觀察的特定物件。
在發生通知時回應通知的處理常式。
傳回
權杖物件,可用來停止接收通知,方法是處置通知或傳遞至 RemoveObservers(IEnumerable<NSObject>)
備註
這個方法可以用來訂閱 RouteChangeNotification 通知。
// Listen to all notifications posted for any object
var token = AVAudioSession.Notifications.ObserveRouteChange ((notification) => {
Console.WriteLine ("Observed RouteChangeNotification!");
};
// Listen to all notifications posted for a single object
var token = AVAudioSession.Notifications.ObserveRouteChange (objectToObserve, (notification) => {
Console.WriteLine ($"Observed RouteChangeNotification for {nameof (objectToObserve)}!");
};
// Stop listening for notifications
token.Dispose ();