2017-01-30 12 views
0

У меня есть на основе флэш-as3 веб-видео рекордер, который публикует веб-камера видео потока и сделать это, я использую следующие коды:В флешке as3 веб-камера, как получить недавно подключенное имя веб-камеры во время выполнения?

var camera:Camera = Camera.getCamera(0); 
var arr:Array = Camera.names; 
if(camera != null) 
{ 
    videoWidth = topBorderContainer.width; 
    videoHeight = topBorderContainer.height; 
    camera.setMode(videoWidth, videoHeight, 30, false); 
    camera.setQuality(0, 100); 
    if (camera) 
    { 
     videoDisplay.videoObject.attachCamera(camera); 
    } 
} 

Но проблема в том, что если я подключить новую камеру для документов во время выполнения и запустив мой инструмент веб-камеры, тогда Camera.names вернет ранее подключенное имя камеры, вместо того, чтобы возвращать имя новой камеры.

И чтобы получить новое имя веб-камеры документа, мне нужно снова перезапустить приложение.

Но я не знаю, как получить недавно подключенное имя камеры документа во время выполнения, поэтому, если кто-нибудь знает, как получить имя недавно подключенного имени камеры во время выполнения, пожалуйста, помогите мне решить.

+0

_ «Если я подключаю новую камеру документа во время выполнения и запускаю инструмент веб-камеры, то Camera.names возвращает ранее подключенное имя камеры, вместо того, чтобы возвращать имя новой камеры.» _ Что вы делаете для обнаружения новая камера (для обновления списка имен камер)? Вам нужно поставить 'Camera.getCamera (0);' в функцию, которую вы можете запускать всякий раз, когда вам нужно так: checkCamera(); '... где' function checkCamera(): void' имеет логику для получения имен и т. д. –

+0

Hi @ VC.One, на самом деле моя проблема в том, что если я отсоединяю ранее подключенную камеру документа и подключаю новую камеру документа во время выполнения, и если я запускаю инструмент веб-камеры, то также получаю ранее подключенный документ вместо того, чтобы получать имя текущей камеры, из-за которой я не получаю никаких видеоизображений в своем инструменте веб-камеры, поскольку предыдущий уже отключен. Поэтому мой вопрос заключается в том, как обновлять имя камеры как текущую, потому что 'Camera.getCamera (0)' все еще возвращает предыдущую (я только подключаюсь к одной камере) – Ashish

ответ

1

Весьма вероятно, что вы не будете в состоянии тянуть трюк:.

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Camera.html#getCamera()

«Сканирование аппаратных средств для камер требуется время Когда среда выполнения находит хотя бы одну камеру, оборудование не сканируется снова на время жизни экземпляра проигрывателя.Однако, если среда выполнения не находит никаких камер, она будет сканировать каждый раз, когда вызывается getCamera. Это полезно, если камера присутствует, но отключена, если ваш SWF-файл содержит Try Опять кнопка, которая вызывает getCamera, Flash Player может найти камеру, не перезагружая файл SWF. "

Возможно, что Flash Player относится к работникам (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/Worker.html) в качестве отдельных экземпляров Flash Player и, таким образом, новый рабочий сможет получить доступ к обновленному списку камер. Возможно, вы захотите попробовать.

+0

_ "... Если ваше приложение SWF предоставляет« Try Again » Кнопка '', вызывающая функцию с помощью 'getCamera', Flash Player может попытаться найти камеру без перезагрузки SWF-файла." _ разве это не решение? –

+0

@ VC.Один не совсем. Речь идет о том, что камера не присутствовала (отключена или отключена) во время первого вызова getCamera (...). Как только FP обнаружит какой-либо действительный объект Camera (что является затруднительным для вопроса OP), он не будет сканировать камеры снова. Или так они говорят. – Organis

+0

Привет @Organis, на самом деле моя проблема в том, что если я отсоединяю ранее подключенную камеру документа и подключаю новую камеру документа во время выполнения, и если я запускаю свой инструмент для веб-камеры, то также получаю ранее подключенное имя камеры документа вместо получение связанного в настоящее время имени камеры документа, из-за которого я не получаю никаких видеоизображений в своем инструменте веб-камеры, поскольку предыдущий уже отключен. Итак, есть ли у вас какие-либо знания, как обновить камеру для документов, чтобы я получил имя камеры, подключенную к сети (я подключаю одну веб-камеру за раз). – Ashish