0

我正在尝试在我的 VCSimpleSession 中使用变量。我目前设置了宽度和高度,它们工作正常,但我无法让帧率和比特率工作。

来看看:

var session: VCSimpleSession!

var streamWidth:Int = Int(NSUserDefaults.standardUserDefaults().stringForKey("settingsWidth")!)!
var streamHeight:Int = Int(NSUserDefaults.standardUserDefaults().stringForKey("settingsHeight")!)!
var streamFramerate:Int = Int(NSUserDefaults.standardUserDefaults().stringForKey("settingsFramerate")!)!
var streamBitrate:Int = Int(NSUserDefaults.standardUserDefaults().stringForKey("settingsBitrate")!)!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    session = VCSimpleSession(videoSize: CGSize(width: streamWidth, height: streamHeight), frameRate: streamFramerate, bitrate: streamBitrate, useInterfaceOrientation: false)
    previewView.addSubview(session.previewView)
    session.previewView.frame = previewView.bounds
    session.delegate = self

}

我在 frameRate 和比特率上收到一个错误,即无法使用类型为“(videoSize:CGSize,frameRate:Int,比特率:Int,useInterfaceOrientation:Bool)”的参数列表调用类型“VCSimpleSession”的初始化程序

我查看了 VCSimpleSession.h 文件,发现 frameRate 和 bitrate 都是 int 值,所以我很困惑为什么会出现这个错误。(顺便说一句,语言是斯威夫特)

这是 GitHub 上 VideoCore 的链接:https ://github.com/jgh-/VideoCore

谢谢!

4

1 回答 1

0

我快要解决我的问题了。问题在于 frameRate 和比特率必须Int32()不是Int()

所以这就是最终产品的样子:

session = VCSimpleSession(videoSize: CGSize(width: streamWidth, height: streamHeight), frameRate: Int32(streamFramerate), bitrate: Int32(streamBitrate), useInterfaceOrientation: false)

于 2015-10-19T14:49:30.967 回答