AVPlayer currentTime mise à jour pour un UISlider quand ViewController charge

Je suis en train de jouer des chansons en AVPlayer. J'ai créé une view controller pour mon media player et l'initialisation, et toutes les méthodes que j'utilise pour le lecteur (lecture, pause, répétition, lecture aléatoire) y sont dans la même vue-contrôleur.

- Je mettre à jour un curseur comme ceci:

[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(sliderUpdate:) userInfo:nil repeats:YES];`


- (void) sliderUpdate:(id) sender{
    int currentTime =   (int)((song.player.currentTime.value)/song.player.currentTime.timescale);
    slider.value=currentTime;
    NSLog(@"%i",currentTime);

    song.currentTime=currentTime;
    int currentPoint=(int)((song.player.currentTime.value)/song.player.currentTime.timescale);
    int pointMins=(int)(currentPoint/60);
    int pointSec=(int)(currentPoint%60);

    NSString *strMinlabel=[NSString stringWithFormat:@"%02d:%02d",pointMins,pointSec];
    lblSlidermin.text=strMinlabel;
    song.strslidermin=strMinlabel;
}

Une fois que je suis sortie de la viewcontroller et lorsque viennent à nouveau, la chanson est en cours de lecture, mais le problème est le curseur n'est pas mise à jour. J'ai donc créé une classe singleton pour attribuer chanson en cours de lecture détails. Aussi à l'intérieur du curseur de mise à jour, je asigned playerCurrentTime (slidercurrent valeur) pour une classe singleton variable. Et mon viewdidload méthode que j'ai assigné comme ceci:

if (song.isPlaying==NO) {
    [self prePlaySong];
}else{
    lblAlbum.text=song.currentAlbum;
    lblArtist.text=song.currentArtist;
    lblSong.text=song.currentSong;
    slider.value=song.currentTime;
    slider.maximumValue=song.sliderMax;
    slider.minimumValue=song.sliderMin;
    imgSong.image=song.songImage;
    [btnMiddle setBackgroundImage:[UIImage imageNamed:@"pause.png"] forState:UIControlStateNormal];
}

mais le curseur n'est pas mis à jour. Pourquoi et comment je peux résoudre ce problème?

Il suffit d'appeler la minuterie

OriginalL'auteur iDia | 2013-10-01