【发布时间】:2015-08-29 05:34:42
【问题描述】:
我已经实现了从 URL 播放音频歌曲的 AVPlayer。在我(洗涤器)向前/向后播放歌曲之前,它工作正常。 UISlider 根据歌曲长度结束,完全可以正常工作。但是每当我尝试向前或向后播放歌曲时,UISlider 都无法正常工作。例如:我的歌曲长度是 2.46(分钟)。 UISlider 结束,但歌曲仍在播放。 (儿子还没有完成)。即使我做了硬编码设置滑块的最大值 = 2.46,但不工作。另一方面,如果我设置 sliderbar = 3.5 (or aruond 4) 的值,那么它工作正常。任何人都知道为什么会这样。提前谢谢!!!!!!
完整代码:http://www.mediafire.com/download/tcpno1y3x8ocmri/AVPlayer_Demo.zip 我的示例代码:
- (void)updateTime:(NSTimer *)timer {
currentTime = CMTimeGetSeconds(playerItem.currentTime);
duration = CMTimeGetSeconds(playerItem.duration);
[self.audioSliderBar setValue:(currentTime/duration)];
float minutes = floor(currentTime/60);
seconds =currentTime - (minutes * 60);
float duration_minutes = floor(duration/60);
duration_seconds =
duration - (duration_minutes * 60);
NSString *timeInfoString = [[NSString alloc]
initWithFormat:@"%0.0f:%0.0f",
minutes, seconds ];
self.audioCurrentTimeLabel.text = timeInfoString;
}
- (IBAction)audioPlayerValueChanged:(UISlider *)aSlider {
[player seekToTime:CMTimeMakeWithSeconds(duration_seconds*aSlider.value, 1)];
}
- (IBAction)touchDown:(id)sender {
[player pause];
[nsTimer2 invalidate];
}
- (IBAction)touchUp:(id)sender {
[player play];
nsTimer2=[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateTime:) userInfo:nil repeats:YES];
}
【问题讨论】:
标签: ios objective-c iphone avplayer uislider