Полностью остановить и перезапустить Vuforia камеру в Android, останавливается работает, но перезагрузка не - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь полностью остановить экземпляр камеры Vuforia / Unity, когда пользователь нажимает на кнопку, а затем перезапустить его еще раз при нажатии на другую кнопку.

В приложении мне нужно показать пользователюплеер Vuforia / Unity с некоторыми функциями AR.Когда пользователь нажимает на кнопку, камера должна переключиться, по причинам, которые могут быть сделаны не в самой Vuforia / Unity, а скорее, для запуска фронтальной камеры Camera2.

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

Проблема с телефонами Samsung может быть найдена здесь (https://us.community.samsung.com/t5/Galaxy-Note-Phones/Dual-Camera-Mode/td-p/471366)и здесь (https://us.community.samsung.com/t5/Galaxy-S9/Dual-Camera-mode-missing-on-the-S9/td-p/307101/page/3)

Итак, чтобы это исправить, мне нужно полностью остановить камеру Vuforia / Unity, запустить фронтальную камеру и после этого выполнить шаги в обратном порядке. Первые шаги работают, но перезапускКамера Vuforia / Unity не работает, и я думаю, что я что-то упустил.

При попытке остановить камеру Vuforia / Unity я использовал

fun stopCamera(){
    CameraDevice.getInstance().stop()
    CameraDevice.getInstance().deinit()
}

И перезапустить

fun startCamera(){
    CameraDevice.getInstance().init()
    CameraDevice.getInstance().start()
}

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

1 Ответ

0 голосов
/ 07 июля 2019

Казалось невозможным перезапустить камеру изнутри самого андроида.В итоге мы использовали две разные сцены в единстве и переключались между ними.Таким образом, мы можем заставить камеру выключиться и перезапустить.

...