AVAudioSession.RouteChangeNotification Property
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.
Notification constant for RouteChange
[Foundation.Advice("Use AVAudioSession.Notifications.ObserveRouteChange helper method instead.")]
[Foundation.Field("AVAudioSessionRouteChangeNotification", "AVFoundation")]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 6, 0, ObjCRuntime.PlatformArchitecture.All, null)]
public static Foundation.NSString RouteChangeNotification { [ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 6, 0, ObjCRuntime.PlatformArchitecture.All, null)] get; }
member this.RouteChangeNotification : Foundation.NSString
Property Value
NSString constant, should be used as a token to NSNotificationCenter.
- Attributes
Remarks
This constant can be used with the NSNotificationCenter to register a listener for this notification. This is an NSString instead of a string, because these values can be used as tokens in some native libraries instead of being used purely for their actual string content. The 'notification' parameter to the callback contains extra information that is specific to the notification type.
To subscribe to this notification, developers can use the convenience AVAudioSession.Notifications.ObserveRouteChange method which offers strongly typed access to the parameters of the notification.
The following example shows how to use the strongly typed Notifications class, to take the guesswork out of the available properties in the notification:
//
// 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 ();
}
The following example shows how to use the notification with the DefaultCenter API:
// Lambda style
NSNotificationCenter.DefaultCenter.AddObserver (
AVAudioSession.RouteChangeNotification, (notification) => {Console.WriteLine ("Received the notification AVAudioSession", notification); }
// Method style
void Callback (NSNotification notification)
{
Console.WriteLine ("Received a notification AVAudioSession", notification);
}
void Setup ()
{
NSNotificationCenter.DefaultCenter.AddObserver (AVAudioSession.RouteChangeNotification, Callback);
}