草庐IT

ios - NSValue(CMTime : ) in swift 3?

我有这个代码vartimes=[NSValue]()fortimeintimePoints{times.append(NSValue(CMTime:time))}我得到一个错误,他们在swift3中什么都不是CMTime我真的找不到cm时间的任何参数.. 最佳答案 检查thereferenceofNSValue.init(time:CMTime)使用NSValue(time:time)。再来一个。如果你想将[CMTime]转换成[NSValue],你可以这样写:lettimes=timePoints.map(NSValue.init

swift - 如何检查 CMTime 在 Swift 中是否有效?

在Obj-C中,我可以为此使用预处理器宏CMTIME_IS_VALID。在Swift中,预处理器宏不存在,所以我不能使用它。还有其他简单的方法来做这个检查吗?当然,我可以重写下面宏的定义,但是有没有更好的方法呢?#defineCMTIME_IS_VALID(time)((Boolean)(((time).flags&kCMTimeFlags_Valid)!=0)) 最佳答案 您可以使用只读计算属性isValid定义自定义扩展:extensionCMTime{varisValid:Bool{return(flags&.Valid)!=

ios - 在 AVPlayer seekToTime 中使用秒数

这应该是一个简单的。我有一个播放视频文件的AVPlayer,我希望能够跳转到特定时间,但我在理解CMTime的工作原理时遇到了一些问题。我需要以秒为单位指定时间。例如:如果我想跳转到10.8秒,我想做这样的事情:[self.avPlayer.currentItemseekToTime:CMTimeMakeWithSeconds(10.8,1];但我没有得到我想要的结果。 最佳答案 http://warrenmoore.net/understanding-cmtime可能会让您更清楚地了解CMTime。如果您将行改为阅读...[sel

ios - 在 AVPlayer seekToTime 中使用秒数

这应该是一个简单的。我有一个播放视频文件的AVPlayer,我希望能够跳转到特定时间,但我在理解CMTime的工作原理时遇到了一些问题。我需要以秒为单位指定时间。例如:如果我想跳转到10.8秒,我想做这样的事情:[self.avPlayer.currentItemseekToTime:CMTimeMakeWithSeconds(10.8,1];但我没有得到我想要的结果。 最佳答案 http://warrenmoore.net/understanding-cmtime可能会让您更清楚地了解CMTime。如果您将行改为阅读...[sel

objective-c - AVAssetWriterInputPixelBufferAdaptor 和 CMTime

我正在使用AVAssetWriterInputPixelBufferAdaptor将一些帧写入视频,并且行为w.r.t.时间不是我所期望的。如果我只写一帧:[videoWriterstartSessionAtSourceTime:kCMTimeZero];[adaptorappendPixelBuffer:pxBufferwithPresentationTime:kCMTimeZero];这让我得到了一个长度为零的视频,这正是我所期望的。但如果我继续添加第二帧://3000/600=5sec,right?CMTimenextFrame=CMTimeMake(3000,600);[ada

objective-c - AVAssetWriterInputPixelBufferAdaptor 和 CMTime

我正在使用AVAssetWriterInputPixelBufferAdaptor将一些帧写入视频,并且行为w.r.t.时间不是我所期望的。如果我只写一帧:[videoWriterstartSessionAtSourceTime:kCMTimeZero];[adaptorappendPixelBuffer:pxBufferwithPresentationTime:kCMTimeZero];这让我得到了一个长度为零的视频,这正是我所期望的。但如果我继续添加第二帧://3000/600=5sec,right?CMTimenextFrame=CMTimeMake(3000,600);[ada

iphone - AVPlayer - 将秒数添加到 CMTime

如何将当前播放时间增加5秒?实际上这是我的代码:CMTimecurrentTime=music.currentTime;我不能使用CMTimeGetSeconds(),因为我需要CMTime格式。感谢您的回答...编辑:如何为CMTime设置变量? 最佳答案 这是一种方法:CMTimeMakeWithSeconds(CMTimeGetSeconds(music.currentTime)+5,music.currentTime.timescale); 关于iphone-AVPlayer-将

iphone - AVPlayer - 将秒数添加到 CMTime

如何将当前播放时间增加5秒?实际上这是我的代码:CMTimecurrentTime=music.currentTime;我不能使用CMTimeGetSeconds(),因为我需要CMTime格式。感谢您的回答...编辑:如何为CMTime设置变量? 最佳答案 这是一种方法:CMTimeMakeWithSeconds(CMTimeGetSeconds(music.currentTime)+5,music.currentTime.timescale); 关于iphone-AVPlayer-将

ios - 试图了解 CMTime

我看过一些examplesofCMTime(三个单独的链接),但我还是不明白。我将AVCaptureSession与AVCaptureVideoDataOutput一起使用,我想设置输出的最大和最小帧速率。我的问题是我只是不理解CMTime结构。显然CMTimeMake(value,timeScale)应该每1/timeScale秒给我一个值帧,总共value/timeScale秒,还是我弄错了?为什么没有在任何地方记录它以解释它的作用?如果它确实能像那样工作,我如何让它拥有无限数量的帧?如果它真的很简单,我很抱歉,但还没有点击。 最佳答案

ios - 试图了解 CMTime

我看过一些examplesofCMTime(三个单独的链接),但我还是不明白。我将AVCaptureSession与AVCaptureVideoDataOutput一起使用,我想设置输出的最大和最小帧速率。我的问题是我只是不理解CMTime结构。显然CMTimeMake(value,timeScale)应该每1/timeScale秒给我一个值帧,总共value/timeScale秒,还是我弄错了?为什么没有在任何地方记录它以解释它的作用?如果它确实能像那样工作,我如何让它拥有无限数量的帧?如果它真的很简单,我很抱歉,但还没有点击。 最佳答案