Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 什么是CMSampleBuffer';什么样的演示时间代表什么?_Ios_Swift_Avfoundation_Avassetwriter - Fatal编程技术网

Ios 什么是CMSampleBuffer';什么样的演示时间代表什么?

Ios 什么是CMSampleBuffer';什么样的演示时间代表什么?,ios,swift,avfoundation,avassetwriter,Ios,Swift,Avfoundation,Avassetwriter,我们的应用程序使用AVFoundation捕获视频、显示、操作,并使用其示例缓冲区导出视频。我试图理解CMSampleBufferGetPresentationTimeStamp(:)CMTime实际上代表什么 例如,当视频捕获开始时,第一个示例的演示时间为93小时5分钟。我不明白这个值是从哪里来的。使用第一个示例的演示时间启动AVAssetWriter会话会在视频播放开始前创建93小时的黑色帧。它基于马赫时间,即上次重新启动后的滴答数。您可以使用以下代码创建此类CMTime: mach_t

我们的应用程序使用AVFoundation捕获视频、显示、操作,并使用其示例缓冲区导出视频。我试图理解
CMSampleBufferGetPresentationTimeStamp(:)
CMTime实际上代表什么


例如,当视频捕获开始时,第一个示例的演示时间为93小时5分钟。我不明白这个值是从哪里来的。使用第一个示例的演示时间启动AVAssetWriter会话会在视频播放开始前创建93小时的黑色帧。

它基于马赫时间,即上次重新启动后的滴答数。您可以使用以下代码创建此类CMTime:

  mach_timebase_info_data_t timeInfo;
  mach_timebase_info(&timeInfo);
  CMTime time = CMTimeMake(mach_absolute_time() * timeInfo.numer / timeInfo.denom, 1000000000);
或者使用此选项将其转换为秒数。

double seconds=CACurrentMediaTime()

您能发布示例
CMTime
返回值为93小时吗?@JAL以下是以秒为单位的表示:
347851.930463783
。。。CMTime表示:
{value=347957883945123,timescale=100000000}
谢谢您的回答!它满足了我的需要:)。但是你能再解释一下你在那里使用的公式吗?为什么时间尺度是100000000。