【发布时间】:2014-06-10 05:45:38
【问题描述】:
我一直在寻找如何创建一个 VTCompressionSession(in swift)在2014 WWDC Video - 'Direct Access to Video Encoding and Decoding' 中提到。
以下代码适用于 Objective-C:
#import <Foundation/Foundation.h>
#import <VideoToolbox/VideoToolbox.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
VTCompressionSessionRef session;
VTCompressionSessionCreate(NULL, 500, 500, kCMVideoCodecType_H264, NULL, NULL, NULL, NULL, NULL, &session);
NSLog(@"created VTCompressionSession");
}
return 0;
}
但无论我尝试了什么,我都找不到将VTCompressionSessionCreate 导入到 swift 的方法。
import Foundation
import VideoToolbox
VideoToolbox.VTCompressionSessionCreate()
println("created VTCompressionSession")
此代码例如中断:Module 'VideoToolbox' has no member named 'VTCompressionSessionCreate'。
只需调用 VTCompressionSessionCreate 就会创建错误消息 Use of unresolved identifier 'VTCompressionSessionCreate'。
看起来 API 没有在 swift 中公开,因为我可以调用像 VTCompressionSessionEncodeFrame 这样的方法就好了。我错过了什么明显的东西吗?
【问题讨论】:
标签: objective-c macos cocoa swift xcode6