Задать вопрос

Chrome packaged app, webview. Почему не выводится видео с вебкамеры из флеш-приложения?

Пишу приложение «Chrome packaged app» со встроенным через webview контентом. Контент — страница с флеш-приложеним, которая загружается с сайта. Вроде ничего необычного, но попал в ступор по одному вопросу.


Флешка получает доступ к вебкамере и выводит изображение в объект Video:
private var video:Video;
private var cam:Camera;

...

video = new Video(320, 240);
stage.addChild(video);
		
cam = Camera.getCamera();
video.attachCamera(cam);


Этот код работает на сайте и в отладчике.

Когда флешка запрашивает доступ к вебкамере, webview генерирует событие «permissionrequest», на которое я отдаю разрешение:
webview.addEventListener('permissionrequest', function(e) {
		if (e.permission === 'media') {
			e.request.allow();
		}
	});


Но получив разрешение и нигде не ругнувшись, изображение с камеры в video так и не идёт. Monster Debugger показывает, что размеры видео при этом нулевые.


Разрешения в манифесте:
"permissions": [
	"storage",
	"contentSettings",
		
	"webview", "pointerLock", "geolocation", "videoCapture", "audioCapture"
]


Переписал на Haxe, результат тот же — на сайте всё отлично, при выводе через webview — ничего. Подскажите куда ещё можно тут копать.
  • Вопрос задан
  • 3003 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
VDG
@VDG Автор вопроса
Сам спросил, сам и отвечу. Оказалось следующее.

На тестируемом компьютере установлены тюнер и вебкамера. Оба нормально работают в флеше и нормально выбираются по именам/индексам как через AS3-код, так и через стандартное окно настроек плеера. Выяснил, что в браузере Хром в Настройки_контента->Мультимедиа по умолчанию выбран тюнер, и Хром с ним почему-то не работает, и это сказывается на работе и его десктопных приложений. Заменил на вебкамеру, и приложение заработало.

Есть второй косяк, видимо в хроме. В AS3-коде или через окно настроек плеера затребован доступ к конкретному устройству "cam = Camera.getCamera("0");", но хром даёт только к тому, который указан в настройках дефолтным.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы