J'ai fait jouer ma musique en arrière-plan, j'ai réussi à la faire devenir le lecteur multimédia en appelant BeginReceivingRemoteControlEvents. cependant, la méthode RemoteControlReceived n'est jamais appelée. la même logique dans l'objectif C fonctionne bien. Tous les échantillons ou les lignes directrices appréciées.en utilisant BeginReceivingRemoteControlEvents dans Monotouch
Répondre
Vous devez vous assurer qu'il est placé sur la vue Premier répondant et, dans le cas contraire, l'événement doit être transmis le long de la chaîne des répondeurs jusqu'à ce qu'il atteigne vos événements distants. Essayez d'imaginer les événements de contrôle à distance de la même manière que les touches du clavier. Par exemple, si l'application est centrée sur un bouton et que vous appuyez sur certaines touches du clavier, rien ne se passe, car un bouton n'écoute pas les touches. Une situation similaire se produit dans votre code. Essayez de créer un projet unique de base vu avec BeginReceivingRemoteControlEvents et la méthode override pour recevoir l'événement (je ne me souviens pas de ce qu'il est, RemoteEventReceived() ou quelque chose de similaire.) Cela devrait être déclenché lorsque vous appuyez sur un bouton distant.
(désolé je ne peux pas donner un exemple de code, pas devant mac à la minute)
Vous pouvez essayer d'utiliser un mécanisme plus tard pour écouter les événements de contrôle à distance. Par exemple, si vous voulez écouter le bouton du casque:
MPRemoteCommandCenter *commandCenter = [MPRemoteCommandCenter sharedCommandCenter];
[commandCenter.togglePlayPauseCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus(MPRemoteCommandEvent * _Nonnull event) {
NSLog(@"toggle button pressed");
return MPRemoteCommandHandlerStatusSuccess;
}];
ou, si vous préférez utiliser une méthode plutôt que d'un bloc:
[commandCenter.togglePlayPauseCommand addTarget:self action:@selector(toggleButtonAction)];
Pour arrêter:
[commandCenter.togglePlayPauseCommand removeTarget:self];
ou:
[commandCenter.togglePlayPauseCommand removeTarget:self action:@selector(toggleButtonAction)];
Vous ne ed pour ajouter ceci à la zone comprend de votre fichier:
@import MediaPlayer;
Cela fonctionne en arrière-plan, seulement si vous êtes une application audio en arrière-plan (à savoir vous devez définir ce mode d'arrière-plan dans les fonctionnalités de votre application).
Bonjour Ali, avez-vous trouvé une réponse à votre question? –
Nope :(Je suis toujours à la recherche ... –