ios - VideoCore 使用变量问题

标签 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

}

我在帧速率和比特率方面遇到错误,即无法调用类型为“VCSimpleSession”的初始化程序,其参数列表类型为“(videoSize: CGSize, frameRate: Int, bitrate: Int, useInterfaceOrientation: Bool)”

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

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

谢谢!

最佳答案

我即将解决我的问题。问题在于帧速率和比特率需要是 Int32() 而不是 Int()

最终产品应该是这样的:

session = VCSimpleSession(videoSize:CGSize(宽度:streamWidth,高度:streamHeight),frameRate:Int32(streamFramerate),比特率:Int32(streamBitrate),useInterfaceOrientation:false)

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

相关文章:

ios - 是否可以在照片中搜索对象?

ios - Swift 实例成员问题

ios - 如何在 Swift 中为每一帧的流媒体和录制视频添加实时时间戳?

ios - 仅在 Apple Watch 上请求位置,无需配对手机上的代码

javascript - 在 Swift 中从 WebView 打开条形码扫描仪

ios - 如何创建自定义 "flip horizontally"推送转场,就像用于模态转场的那样?

iphone - 模糊的 NSZombie 控制台日志

ios - UIView 的循环 subview

iOS - 如何将 GADBannerView 添加到 UICollectionReusableView