Set UISlider.value to AVPlayer.currentTime

2019-04-07 11:01发布

I am trying to set a UISlider's Value to a AVPlayer's Current Time.

I am trying to use this code audioPlayer.currentTime = nowPlayingSlider.value;

I am getting this error:
Setter method is needed to assign to object using property assignment syntax
How do I get this to work.

3条回答
小情绪 Triste *
2楼-- · 2019-04-07 11:33

Maybe you have it the other way round?

To set the slider to the current place in the sound it should be:

[nowPlayingSlider setValue:[audioPlayer currentTime]];

To skip in the audio according to a change of the slider:

[audioPlayer setCurrentTime:nowPlayingSlider.value];

Let me know if it works.

查看更多
老娘就宠你
3楼-- · 2019-04-07 11:36

Here is how I handled this:

-(IBAction) timeScrubberChange:(id) sender{
CMTime t = CMTimeMake(self.nowPlayingTimeScrubber.value, 1);
self.nowPlayingCurrentTime.text = [self formatTimeCodeAsString: t.value];
self.nowPlayingDuration.text = [self formatTimeCodeAsString:(self.actualDuration - t.value)];
[self.avPlayer seekToTime:t];                                
}
查看更多
4楼-- · 2019-04-07 11:40

Sam, check this two methods:

-currentTime and -seekToTime:

Here

They are in AVPlayer class

查看更多
登录 后发表回答