Arbeits Ich habe den folgenden Code:AVPlayer seekToTime: rückwärts nicht
AVPlayerItem *currentItem = [AVPlayerItem playerItemWithURL:soundURL];
[self.audioPlayer replaceCurrentItemWithPlayerItem:currentItem];
[self.audioPlayer play];
wo soundURL
ein remoteURL
ist. Es funktioniert gut. Die spielt die Musik perfekt. Ich habe einen Fortschrittsbalken und ich aktualisiere ihn basierend auf der aktuellen Zeit des Spielers.
Alles funktioniert gut. Mein Problem ist, wenn ich den Fortschrittsbalken nach vorne verschiebe, startet die audioplayer
von der neuen Position, aber wenn ich die progressbar
ziehen wird es nicht von der neuen Position in der Tat beginnt es von der vorherigen Position fortgesetzt. Hier ist meine Fortschrittsbalken ziehen Start und Stop-Code:
- (IBAction)progressBarDraggingStart:(id)sender
{
if (self.audioPlayer.rate != 0.0)
{
[self.audioPlayer pause];
}
}
- (IBAction)progressBarDraggindStop:(id)sender
{
CMTime newTime = CMTimeMakeWithSeconds(self.progressBar.value, 1);
[self.audioPlayer seekToTime:newTime];
[self.audioPlayer play];
}
Kann mir jemand helfen, dieses Problem zu beheben?
Haben Sie versucht, mit 'seekToTime: completionHandler:' oder 'seekToTime: toleranceBefore: toleranceAfter:'? – Corey
@corey: Ja, ich habe beide versucht, aber kein Glück. Das Fertigstellungsflag completionHandler gibt false zurück. Wissen Sie, wie Sie warten müssen, bis das fertige Flag im Beendigungshandler wahr wird? –