【问题标题】:Seek bar for AVPlayer rounding off time to 10 secondsAVPlayer 的搜索栏舍入时间为 10 秒
【发布时间】:2012-02-29 19:32:24
【问题描述】:

我正在制作一个 iPhone 应用程序并为 AVPlayer 制作了一个搜索栏。我用 UISlider 做的。 AVPlayer 适用于在线视频和音频。但是当我想更改滑块位置来设置 AVPlayer 的 currentTime 时,这个值会四舍五入到前十位附近(例如将值设置为 17 秒,AVPlayer 将其更改为 20 秒。)在线视频的问题。在线音频一切正常。

【问题讨论】:

    标签: iphone ios avplayer


    【解决方案1】:

    UISlider 具有名为“minValue”和“maxValue”的属性 一旦您知道要播放的媒体的长度,请确保这些属性的分辨率与媒体的长度相匹配。

    【讨论】:

    • 我是这样设置的:durationTime = playerItem.duration.value / playerItem.duration.timescale;开始时间 = 0.0;
    • 但是您的问题在于滑块分辨率,对吗?检查并查看传递给 AVPlayer 的值
    • -(IBAction) timeSliderValueChanged: (id) sender { CMTime newTime = CMTimeMakeWithSeconds(timeSlider.value, 600); //这里例如slider.value = 25 [player seekToTime: newTime]; //为 avplayer 设置 25 秒,但他开始玩 30 秒。最小值/最大值正确。 }
    【解决方案2】:

    你应该使用零容忍AVPlayerseek

    player.seek(to:
        CMTime(
            seconds: Double(value),
            preferredTimescale: CMTimeScale(NSEC_PER_SEC)
        ),
        toleranceBefore: CMTime.zero,
        toleranceAfter: CMTime.zero
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-26
      • 1970-01-01
      • 2014-08-05
      • 2023-04-04
      • 1970-01-01
      • 2018-10-25
      • 2022-08-18
      • 1970-01-01
      相关资源
      最近更新 更多