7
votes

iOS 7 rembobiner des chansons sur l'écran de verrouillage à l'aide d'Avplayer

Je n'ai pas trouvé la façon dont comment rembobiner la chanson de l'écran de verrouillage iOS 7. Le curseur de volume est disponible, tous les boutons fonctionnent correctement, mais le curseur supérieur n'est pas disponible!

Avplayer est la classe que j'utilise.

Toute aide est appréciée!


0 commentaires

4 Réponses :


11
votes

Vous aurez besoin de la configurer dans les "informations de lecture maintenant".

Chaque fois que l'élément (piste) change, faites quelque chose comme p> xxx pré>

chaque fois que le Changements de taux de lecture (lecture / pause), faire p> xxx pré>

Vous pouvez obtenir l'heure de lecture actuelle comme ceci: p>

- (NSTimeInterval)currentPlaybackTime {
  CMTime time = self.player.currentTime;
  if (CMTIME_IS_VALID(time)) {
    return time.value / time.timescale;
  }
  return 0;
}


7 commentaires

Ceci est pour si vous utilisez le MediaPlayer, ils utilisent Avplayer.


mpnowplayinginfo peut être utilisé avec n'importe quel joueur. Le faire de cette façon avec Avplayer .


Je le fais de la même manière mais le curseur de progrès n'est toujours pas disponible ... je le fais mal?


Désolé, cela ne répond pas à la question de savoir comment rendre la barre de curseur glacible pour contrôler la position dans la piste lors de l'écran verrouillé. Le lecteur de musique par défaut a la capacité de la coche verticale est plus grande et peut être glissée. Il s'agit d'une interface et de conflits maladroits avec la diapositive pour déverrouiller la fonctionnalité et il est très difficile de saisir la minuscule petite marque (pouce de progression), mais c'est une fonctionnalité disponible avec l'application par défaut qui ne semble pas avoir une interface pour Applications musicales développées sur mesure. -rrh


partiellement valide. Le temps est parfaitement synchronisé avec le joueur. Mais dragge est toujours un problème.


Hé, le transfert ne fonctionne pas avec le code ci-dessus automatiquement sur Lockscreen. Devrions-nous aussi changer l'heure du joueur par Self.Player.CurrentTime =? Quelque chose en mettant en œuvre un NSTIMER et en l'arrêtant à la recherche?


On dirait que cette réponse manque la durée de la piste, à condition que nous parlions d'un support de longueur fini.



1
votes

Je ne peux pas sembler trouver un moyen d'ajouter la fonctionnalité de glisser la barre de progression pour frotter la chanson en cours de lecture, mais que la barre de progression à montrer est partiellement couverte par Chris ci-dessus, mais vous devez passer la chanson Durée, ainsi que les autres informations pour obtenir la barre de progression à apparaître. Ainsi, en plus de ce que Chris a souligné, vous devez ajouter ce qui suit à la nsmutmédictionnement:

[player setRate:10]


0 commentaires

1
votes

Voici comment vous faites cette chose avec la timeline curseur strong>:

Tout d'abord le NowplayingInfo code> doit être défini correctement. Vous pouvez trouver comment faire cela n'importe où (N'oubliez pas la clé mpnowplayinginfopropertyplayBackrate code>); p>

second est de définir l'action pour "glissement": p>

[yourPlayer seekTo:event.positionTime completionHandler:^(BOOL finished) {
    [self updatePlaybackRateMetadata];
}];


0 commentaires

2
votes

Vous devez vous inscrire à différents événements tels que ci-dessous dans Swift

@objc func handleChangePlaybackPositionRemoteCommandActions(event:MPChangePlaybackPositionCommandEvent) -> MPRemoteCommandHandlerStatus
{
    print("handleChangePlaybackPositionRemoteCommandActions : \(event.positionTime)")
    self.appDelegate.audioPlayer?.seek(to: CMTime(seconds: event.positionTime, preferredTimescale: (self.appDelegate.audioPlayer?.currentItem?.currentTime().timescale)!))

    MPNowPlayingInfoCenter.default().nowPlayingInfo![MPNowPlayingInfoPropertyElapsedPlaybackTime] = event.positionTime

    return MPRemoteCommandHandlerStatus.success
}


0 commentaires