2015-08-31 4 views
0

Je travaille sur une application. J'utilise AVPlayer pour l'audio. Je veux contrôler l'audio à partir des boutons de l'écran de contrôle. Je ne sais pas comment m'inscrire aux événements à distance.MPNowPlayingInfoCenter AVPlayer

+2

Qu'est-ce que vous avez essayé jusqu'à présent? Pouvez-vous fournir un code pour commencer? Avez-vous lu [ce tutoriel] (http://code.tutsplus.com/tutorials/ios-sdk_background-audio--mobile-6833) déjà? – user1438038

+0

Vérifiez également la liste ici pour vous assurer que vous avez satisfait à toutes les exigences http://stackoverflow.com/a/30085578/1107580 –

Répondre

0

Mon exemple implémente cette fonctionnalité: https://github.com/martijn00/XamarinMediaManager/blob/master/MediaManager/MediaManager.Plugin.iOSUnified/MediaManagerImplementation.cs

Le code que vous devez utiliser est:

  player.ReplaceCurrentItemWithPlayerItem(streamingItem); 
      streamingItem.AddObserver(this, new NSString("status"), NSKeyValueObservingOptions.New, player.Handle); 
      streamingItem.AddObserver(this, new NSString("loadedTimeRanges"), NSKeyValueObservingOptions.Initial | NSKeyValueObservingOptions.New, player.Handle); 

      player.CurrentItem.SeekingWaitsForVideoCompositionRendering = true; 
      player.CurrentItem.AddObserver(this, (NSString)"status", NSKeyValueObservingOptions.New | 
       NSKeyValueObservingOptions.Initial, StatusObservationContext.Handle); 

      NSNotificationCenter.DefaultCenter.AddObserver(AVPlayerItem.DidPlayToEndTimeNotification, async (notification) => 
      { 
       await PlayNext(); 
      }, player.CurrentItem); 

      player.Play();