実際にAVAudioPlayerで曲を再生している間に、Sliderが曲の実行に合わせて進行するようにしました。また、現在の曲が再生されている位置から、前方または後方にシークする場合も作成しました。しかし、問題は、スライダーを特定の位置にシークした後、進行せず、そこで停止しますが、それでも曲がその位置から実行されていることです。
以下のコード:
引用符
myTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(updateMyProgressOfCurrentPlayingSong:) userInfo:nil repeats:YES];
-(void)updateMyProgressOfCurrentPlayingSong:(NSTimer *)theTimer{
//For Current Song Playing Slider
float progr = [mediaPlayer currentTime]/[mediaPlayer duration];
self.audioCurrentPlayingSlider.value = progr;
}
//For Slider Value change
-(IBAction)audioCurrentSongPlayingSlider:(id)sender {
[myTimer invalidate];
myTimer = nil;
[self.audioCurrentPlayingSlider setMinimumValue:0.0];
[self.audioCurrentPlayingSlider setMaximumValue:[mediaPlayer duration]];
[mediaPlayer setCurrentTime:[self.audioCurrentPlayingSlider value]];
[myTimer methodForSelector:@selector(updateMyProgressOfCurrentPlayingSong:)];
}
引用符