检查CMTime是否在CMTimeRange范围内

3

我正在尝试理解如何正确检查CMTime是否在范围内。例如:

假设我们有一个视频,持续时间为20秒。我们将该视频分成两个CMTimeRange

  • 从0秒到10秒
  • 从10秒到20秒

现在,对于任何给定的CMTime(例如视频进度),我该如何确定它存在于哪个CMTimeRange中?


1
if range.containsTime(time) 是什么意思? - undefined
@MartinR 我真不知道以前怎么没找到这个方法。哈哈。谢谢 Martin。你能发个答案让我批准吗? - undefined
1个回答

3

CMTimeRange拥有一个

func containsTime(_ time: CMTime) -> Bool

方法,所以您可以轻松检查。
if range.containsTime(time) {
    // ...
}

备注:文档似乎已经过时,全局函数CMTimeRangeContainsTime()已被导入为Swift的成员函数。


Marin R. 我知道这个问题有点离题。但是你知道是否有一种方便的方法可以将 CMTimeRange 分割成多个块吗? - undefined
@RoiMulia:我不知道。请查看https://developer.apple.com/documentation/coremedia/cmtimerange-qts,看看是否有任何方便的内容。 - undefined
谢谢。我会尽力弄清楚的。祝你有个愉快的一天,马丁! - undefined
嘿,马丁,我卡住了。我发布了一个关于这个问题的新问题:https://stackoverflow.com/questions/48787869/split-cmtimerange-into-multiple-cmtimerange-chunks 我知道你很忙,但万一你有一些好的方向:) 无论如何,谢谢! - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接