问题标签 [cmtime]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - addPeriodicTimeObserver Swift CMTIME
代码片段说,间隔将每 0.5 秒调用一次块
// 每半秒调用一次回调
如果您检查调试日志,并且结构间隔包含以下值。
值原来是 500000000
timeScale 原来是 1000000000
有人可以解释它如何给出精确的 0.5 秒吗?据我了解,每个 500000000 个单位 1/1000000000
ios - 当 currentTime 距离持续时间为 'n' 秒时,AVQueuePlayer 执行操作
我需要在距离完成一秒后添加 a CABasicAnimation
(playerItem 的持续时间 - 1 AVPlayerLayer
)AVQueuePlayer
。playerItem
这是一个基本的交叉渐变。我似乎无法弄清楚如何判断我何时到达了正确的时间。使用下面的代码,我添加了一个周期性时间观察器。有什么方法可以知道我的 playerItem 何时结束一秒钟?
ios - 无法将 Swift CMTimeRange 转换为 Float 或获取数字?
我有一个数据类型问题 - 在 Swift 中使用 AVPlayer 时,当我尝试获取时,我得到了一个 CMTimeRange:
用这个打印的是:
我已经尝试了所有成员并试图在这里获取 cmtimerange 键的值,但我只是得到错误。我需要最终值 1694 作为浮点数。
我该怎么做呢?
ios - CMTimeMakeWithSeconds 中的首选时间刻度
我正在实现自定义相机,为此我想设置曝光持续时间。
我设置滑块属性的代码是-
现在,每当更改滑块时,设置曝光时间时就会出现问题。
我的代码看起来像这样 -
但在
我对它感到困惑preferredTimescale
,它的价值应该是多少,它在 600 上运行良好,但什么是理想价值。
swift - iOS swift:我应该将 CMTimingInfo 与 H264 参数和 CMBlockBuffer 一起嵌入 Elementary Stream(通过网络发送)吗?
我使用以下 stackoverflow 帖子提取 h264 参数,因此我可以通过网络发送基本流,接收应用程序将重建 CMSampleBuffer。但是,AVSampleBufferDisplayLayer 上没有显示视频图像。
我退后一步,提取了 NAL 单元并在设备内部重建了 CMSampleBuffer。然后我发现我需要创建一个 CMTimingInfo 对象并将其作为 CMSampleBufferCreate 方法的参数之一。然后,当我将新创建的 CMSampleBuffer 排队到 AVSampleBufferDisplayLayer 时,就会显示视频图像。
所以我认为我应该将 CMTimingInfo 集成到基本流中并通过网络发送。但是,我看过 WWDC 2014 - Session 513,他们没有提到将 CMTimingInfo 包含到基本流中。
提前感谢您回答我的问题。
swift4 - 在 ios9.3 的 swift4.0 中使用 NSKeyedArchiver 归档 CMTime 时出错
以下代码archivedTimes()在 swift4 中成功构建。它在安装了 ios10.3 的设备上运行良好。
但是,在安装了 ios9.3 的设备上运行它时,它会崩溃说:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“*** -[NSKeyedArchiver encodeValueOfObjCType:at:]:此归档程序无法编码结构”
我的猜测是,这可能与新的 Codable 协议和旧的 NSCoder 协议之间的某些冲突有关。但我不知道是什么!
请注意,该问题与数组无关。因为归档一个简单的 CMTime 也会导致这样的错误。但是,我这样发布它,因为归档 CMTime 数组最终是我的目标。
ios - 检查 CMTime 是否在 CMTimeRange
我试图了解检查是否CMTime
在范围内的正确方法是什么。例子:
假设我们有一个持续时间为 20 秒的视频。我们将此视频分成两部分CMTimeRange
。
- 从 0 秒到 10
- 从 10 秒到 20
现在,对于任何给定CMTime
的(例如,视频进度)。我如何确定存在于哪个CMTimeRange
a中CMTime
?
ios - 将 CMTimeRange 拆分为多个 CMTimeRange 块
让我们假设我有一个从零开始
CMTimeRange
构建的 40 秒。start time
duration
我想通过X秒分隔符将其CMTimeRange
分成多个块。因此,块的 将与原始持续时间相同,并且每个将反映前一个块的。最后一个块将是剩余秒数的模数。total duration
duration
startTime
endTime
例如,对于40秒的视频,以及每块15秒的分隔符:
- 第一次
CMTimeRange
- 开始时间:0,持续时间:15 秒。 - 秒
CMTimeRange
- 开始时间:15,持续时间:15 秒。 - 第三
CMTimeRange
- 开始时间:30,持续时间:10秒。(left overs)
我试过的:
我尝试使用CMTimeSubtract
总持续时间并以递归方式再次使用结果,直到 CMTime 无效,但它似乎不起作用。
任何帮助将不胜感激。
最好的问候, 罗伊
ios - 尝试将 CMTime 存储为 Core Data 上的可转换属性
我之前使用过 Core Data 的可转换属性,但没有C
使用CMTime
.
我需要CMTime
使用可转换存储在核心数据上。
在 Model 对象上,我已将其声明为可转换的。
我知道这CMTime
是一个C
对象,我需要将其转换为 NSDictionary 并将其序列化,以便可以存储在 Core Data 上。
在NSManagedObject
课堂上,我有这个...
这?????
是我的问题。你看,该方法transformedValue:(id)value
接收值,id
但我需要一个CMTime
. 我不能简单地施放它。
此外,当我创建该实体的实例时,理论上我应该能够将值分配为:
而且我没有看到我怎么能做到这一点id
...
另外,在reverseTransformedValue:
我返回一个id
.
我不明白这个。我希望能够设置并接收CMTime