Freigeben über


AVAudioSession.Notifications.ObserveRouteChange Methode

Definition

Überlädt

ObserveRouteChange(EventHandler<AVAudioSessionRouteChangeEventArgs>)

Stark typisierte Benachrichtigung für die RouteChangeNotification Konstante.

ObserveRouteChange(NSObject, EventHandler<AVAudioSessionRouteChangeEventArgs>)

Stark typisierte Benachrichtigung für die RouteChangeNotification Konstante.

ObserveRouteChange(EventHandler<AVAudioSessionRouteChangeEventArgs>)

Stark typisierte Benachrichtigung für die RouteChangeNotification Konstante.

public static Foundation.NSObject ObserveRouteChange (EventHandler<AVFoundation.AVAudioSessionRouteChangeEventArgs> handler);
static member ObserveRouteChange : EventHandler<AVFoundation.AVAudioSessionRouteChangeEventArgs> -> Foundation.NSObject

Parameter

handler
EventHandler<AVAudioSessionRouteChangeEventArgs>

Methode, die aufgerufen wird, wenn die Benachrichtigung bereitgestellt wird.

Gibt zurück

Tokenobjekt, das verwendet werden kann, um den Empfang von Benachrichtigungen zu beenden, indem es entweder entfernt oder an übergeben wird RemoveObservers(IEnumerable<NSObject>)

Hinweise

Das folgende Beispiel zeigt, wie Entwickler diese Methode in ihrem Code verwenden können:

//
// 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 ();
}

Gilt für:

ObserveRouteChange(NSObject, EventHandler<AVAudioSessionRouteChangeEventArgs>)

Stark typisierte Benachrichtigung für die RouteChangeNotification Konstante.

public static Foundation.NSObject ObserveRouteChange (Foundation.NSObject objectToObserve, EventHandler<AVFoundation.AVAudioSessionRouteChangeEventArgs> handler);
static member ObserveRouteChange : Foundation.NSObject * EventHandler<AVFoundation.AVAudioSessionRouteChangeEventArgs> -> Foundation.NSObject

Parameter

objectToObserve
NSObject

Das spezifische zu beobachtende Objekt.

handler
EventHandler<AVAudioSessionRouteChangeEventArgs>

Der Handler, der auf die Benachrichtigung reagiert, wenn sie auftritt.

Gibt zurück

Tokenobjekt, das verwendet werden kann, um den Empfang von Benachrichtigungen zu beenden, indem es entweder entfernt oder an übergeben wird RemoveObservers(IEnumerable<NSObject>)

Hinweise

Diese Methode kann verwendet werden, um Benachrichtigungen zu abonnieren 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 ();

Gilt für: