VideoCore使用Variables Issue

时间:2015-10-19 02:03:36

标签: ios swift videocore

我正在尝试在我的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和bitrate上遇到错误,无法使用类型'(videoSize:CGSize,frameRate:Int,bitrate:Int,useInterfaceOrientation:Bool)'的参数列表调用类型'VCSimpleSession'的初始值设定项'

我查看了VCSimpleSession.h文件,发现frameRate和bitrate都是int值,所以我很困惑为什么我收到这个错误。 (顺便说一句,语言是快速的)

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

谢谢!

1 个答案:

答案 0 :(得分:0)

我接近解决了我的问题。问题在于frameRate和比特率必须为Int32()而不是Int()

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

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