我正在尝试为kCMSampleAttachmentKey_DisplayImmediately我的每个样本设置CMSampleBuffer.
到目前为止,我已经试过越来越词典(Dictionary<NSObject, AnyObject>,NSDictionary,CFDictionary),并调用CMSetAttachment上都CMSampleBuffer和它的附件.
用于检索我使用的附件CMSampleBufferGetSampleAttachmentsArray.
任何想法如何在Swift中设置这些标志?
这是适用于Swift 4(应该与3配合使用)的解决方案(可能远非完美)。
func setSampleBufferAttachments(_ sampleBuffer: CMSampleBuffer) {
let attachments: CFArray! = CMSampleBufferGetSampleAttachmentsArray(sampleBuffer, true)
let dictionary = unsafeBitCast(CFArrayGetValueAtIndex(attachments, 0),
to: CFMutableDictionary.self)
let key = Unmanaged.passUnretained(kCMSampleAttachmentKey_DisplayImmediately).toOpaque()
let value = Unmanaged.passUnretained(kCFBooleanTrue).toOpaque()
CFDictionarySetValue(dictionary, key, value)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
869 次 |
| 最近记录: |