【问题标题】:Objective-c, UISlider in AVPlayer not working fine, after scrubberObjective-c,AVPlayer 中的 UISlider 无法正常工作,在洗涤器之后
【发布时间】: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


    【解决方案1】:

    您正在计算时间duration_seconds*aSlider.value,但滑块值不是从 0..1 开始。您应该使用 aSlider.value 或保留当前代码但更改滑块 min/max = (0,1)。

    【讨论】:

    • @ yar1 vn ,正如你告诉我的那样,我已经尝试过(两种想法),但两种想法都行不通。你有什么想法吗!!!!
    • 你有我可以玩的测试项目吗?发布一个下载链接(可能到 github),以便我可以帮助您找到更好的解决方案
    • 好的,让我做,然后我会分享它的链接,谢谢
    • 您的项目无法运行,无法播放任何内容
    猜你喜欢
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    • 2016-01-15
    相关资源
    最近更新 更多