我试图在我的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

谢谢!

最佳答案

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

因此,这就是最终产品的外观:

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

关于ios - VideoCore使用变量问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33205523/

10-10 14:21