Попробуйте поместить document.getElementById
в setTimeout()
Например.
setTimeout(function(){
console.log(document.getElementById('whatever'));
}, 100);
Если это сработает, тогда это просто проблема синхронизации.
Необходимо проверить документацию Получения QTKit.
На Leopard можно достигнуть все это по мосту RubyCocoa:
require 'osx/cocoa'
OSX.require_framework("/System/Library/Frameworks/QTKit.framework")
OSX::QTCaptureDevice.inputDevices.each do |device|
puts device.localizedDisplayName
end
У меня нет Mac здесь, но существует некоторая Документация здесь:
Похоже, что необходимо пройти API QuickTime. Там, как предполагается, Демонстрационный Проект под названием "MungGrab", который мог быть достойный внимания согласно этому потоку.
Существует названная утилита командной строки isightcapture
это делает более или менее, что Вы хотите сделать. Вы могли, вероятно, получить код от разработчика (его адрес электронной почты находится в readme, который Вы получаете при загрузке утилиты).
Одной вещью, которая не была упомянута до сих пор, является IKPictureTaker, который является частью Набора Изображения. Это придумает стандартную ОС, обеспеченную панель для снимания хотя со всей возможной функциональностью фильтра, и т.д. включенной. Я не уверен, является ли это тем, что Вы хотите.
Я предполагаю, что можно использовать его с других языков также, полагая, что существуют вещи как мосты какао, но у меня нет опыта с ними.
Поиск с помощью Google также придумал другой вопрос на stackoverflow, который, кажется, решает эту проблему.
Если Вы вводите по абсолютному адресу вокруг списков рассылки Apple, можно найти, что некоторый код делает это в Java также. Здесь простой пример, подходящий для получения отдельных кадров, и здесь более сложный, это достаточно быстро для отображения живого видео.
Кроме ObjC, можно использовать привязку PyObjC или RubyCocoa для доступа к нему также. Если бы Вы не придирчивы, о котором языке, я сказал бы, используют Ruby, поскольку PyObjC ужасно плохо документируется (даже официальная страница Apple на нем относится к старой версии, не той, которая шла с Leopard OS X),
Кварцевый Компоновщик является, вероятно, самым легким способом получить доступ к нему, и .quartz файлы могут быть, встраивают в приложения довольно легко (и данные, переданные по каналу к ObjC или такому)
Кроме того, я предполагаю, что должен быть пример или два из этого в/Developer/Examples/
Из связанного вопроса, в котором конкретно указывалось, что решение является питоническим, вы должны попробовать библиотеку camiface motmot от Эндрю Стро. Он также работает с камерами FireWire, но он также работает с isight, который вам нужен.
Из учебника:
import motmot.cam_iface.cam_iface_ctypes as cam_iface
import numpy as np
mode_num = 0
device_num = 0
num_buffers = 32
cam = cam_iface.Camera(device_num,num_buffers,mode_num)
cam.start_camera()
frame = np.asarray(cam.grab_next_frame_blocking())
print 'grabbed frame with shape %s'%(frame.shape,)