首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RubyMotion AVCaptureDevice错误

RubyMotion AVCaptureDevice错误
EN

Stack Overflow用户
提问于 2014-03-20 23:57:47
回答 1查看 126关注 0票数 0

我目前正在用自己的方式进入RubyMotion,并尝试使用iPhone的相机手电筒。我已经在我的Rakefile中“导入”了AVFoundation框架,但似乎有些地方不对劲。你知道有没有更简单的方法处理这个问题的gem?我看过rubymotion-wrappers.com,但找不到一个。提前谢谢。

这是当应用程序崩溃时我得到的错误:

uninitialized constant Torch::AVMediaTypeVideo (NameError)

错误所在的行是这一行(来自下面的类,第3行):

flashlight = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)

这是我的火把课

代码语言:javascript
复制
class Torch
  def torchOn
    flashlight = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)
    check = flashlight.lockForConfiguration(nil)
    if check
      flashlight.setTorchMode(AVCaptureModeOn)
      flashlight.unlockForConfiguration
    end
  end

  def torchOff
    flashlight = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)
    check = flashlight.lockForConfiguration(nil)
    if check
      flashlight.setTorchMode(AVCaptureModeOff)
      flashlight.unlockForConfiguration
    end
  end
end

这是我添加相应框架的Rakefile部分:

代码语言:javascript
复制
# -*- coding: utf-8 -*-
$:.unshift("/Library/RubyMotion/lib")
require 'motion/project/template/ios'
require 'rubygems'

begin
  require 'bundler'
  Bundler.require
rescue LoadError
end

Motion::Project::App.setup do |app|
  # Use `rake config' to see complete project settings.
  app.name = 'hellworld'

  app.frameworks += [
      'AVFoundation'
  ]

end
EN

回答 1

Stack Overflow用户

发布于 2014-03-21 13:49:37

看起来你使用的模式只是缺少了“Flash”或“Torch”部分。我能找到的两个是:

代码语言:javascript
复制
AVCaptureFlashModeOn
AVCaptureTorchModeOn

其中一个应该是有效的。

https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVCaptureDevice_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40009520-CH1-DontLinkElementID_2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22538489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档