AVAudioSession.Notifications.ObserveRouteChange Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
ObserveRouteChange(EventHandler<AVAudioSessionRouteChangeEventArgs>) |
Strongly typed notification for the RouteChangeNotification constant. |
ObserveRouteChange(NSObject, EventHandler<AVAudioSessionRouteChangeEventArgs>) |
Strongly typed notification for the RouteChangeNotification constant. |
ObserveRouteChange(EventHandler<AVAudioSessionRouteChangeEventArgs>)
Strongly typed notification for the RouteChangeNotification constant.
public static Foundation.NSObject ObserveRouteChange (EventHandler<AVFoundation.AVAudioSessionRouteChangeEventArgs> handler);
static member ObserveRouteChange : EventHandler<AVFoundation.AVAudioSessionRouteChangeEventArgs> -> Foundation.NSObject
Parameters
Method to invoke when the notification is posted.
Returns
Token object that can be used to stop receiving notifications by either disposing it or passing it to RemoveObservers(IEnumerable<NSObject>)
Remarks
The following example shows how developers can use this method in their code:
//
// 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 ();
}
Applies to
ObserveRouteChange(NSObject, EventHandler<AVAudioSessionRouteChangeEventArgs>)
Strongly typed notification for the RouteChangeNotification constant.
public static Foundation.NSObject ObserveRouteChange (Foundation.NSObject objectToObserve, EventHandler<AVFoundation.AVAudioSessionRouteChangeEventArgs> handler);
static member ObserveRouteChange : Foundation.NSObject * EventHandler<AVFoundation.AVAudioSessionRouteChangeEventArgs> -> Foundation.NSObject
Parameters
- objectToObserve
- NSObject
The specific object to observe.
The handler that responds to the notification when it occurs.
Returns
Token object that can be used to stop receiving notifications by either disposing it or passing it to RemoveObservers(IEnumerable<NSObject>)
Remarks
This method can be used to subscribe for RouteChangeNotification notifications.
// 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 ();