有没有人知道当模拟器相机启动时是否可以打开一些个人图片?
我有一个基于图像分析的应用程序,我希望当我点击相机按钮时,相机不会打开默认的Android模拟器移动图像,而是打开我设置为默认图像的某个图像。因此,当我选择拍照时,它将仅显示该图像,并且当我拍摄照片时,该图像将保存到图库中,而不是Android默认图像。
有没有人知道当模拟器相机启动时是否可以打开一些个人图片?
我有一个基于图像分析的应用程序,我希望当我点击相机按钮时,相机不会打开默认的Android模拟器移动图像,而是打开我设置为默认图像的某个图像。因此,当我选择拍照时,它将仅显示该图像,并且当我拍摄照片时,该图像将保存到图库中,而不是Android默认图像。
设备 - 使用主机计算机网络摄像头或内置摄像头
如果你只需要将静态图像放入相机中,从Android Studio 3.2开始,你可以将静态图像放入虚拟场景中:
正如在 Android 开发者博客的 这篇文章 中所讨论的那样。请注意,您需要将相机位置移动到餐厅才能查看您的图像(转身并使用 Alt-w 向前移动)。
终于完成了!
poster custom
size 2 2
position 0 0 -1.8
rotation 0 0 0
default custom.png
emulator @Phone -no-snapshot -no-boot-anim
(将'Phone'替换为您的avd的名称!(参见:emulator -list-avds)现在,您的相机默认位置前方就有一个纹理。
大小 1 1 位置 0.1 -0.1 -1.9
- masewo2022年更新:
使用OBS的最佳方法是创建虚拟摄像头,您可以播放视频或显示图片。
步骤1: 从此网站下载OBS Studio,并创建一个虚拟摄像头,添加要播放的视频。
步骤2: 更改Android AVD中的配置,将前置和后置摄像头更改为webcam0。
我在过去的一天里一直在解决一个问题,最终找到了一个解决方案,可以帮助其他人。(在MacOSX上,使用Android Studio模拟器)
问题:尝试将OBS Studio用作模拟器的虚拟相机时,模拟器无法识别OBS虚拟相机,在设备管理器相机设置中唯一的选项是内置的webcam0
。并且安卓模拟器上的相机应用程序无法识别虚拟相机设备。
解决方案:
安装OBS Studio并运行它,第一次启动虚拟摄像头时,这将自动在/Library/CoreMediaIO/Plug-Ins/DAL
安装CoreMediaIO DAL插件并创建虚拟网络摄像头设备。
进入Android Studio安装的模拟器文件夹cd ~/Library/Android/sdk/emulator
,使用命令./emulator -webcam-list
检查可用的网络摄像头列表,您应该看到两个可用的网络摄像头;内置摄像头webcam0
和obs虚拟设备webcam1
。
通过打开终端并运行nano ~/.android/avd/{AVD NAME}/config.ini
编辑您的avd配置文件以使用webcam1
,向下滚动并修改hw.camera.back = webcam1
一行,按Ctrl+O写出并按Ctrl+X退出nano。
确保您的OBS虚拟设备在OBS Studio程序中已启动。
通过指定虚拟相机来通过命令行运行模拟器,进入模拟器文件夹cd ~/Library/Android/sdk/emulator
并运行./emulator -avd {AVD NAME} -camera-back webcam1
现在设备将启动,当您打开相机应用程序时,您应该看到OBS虚拟设备输入。如果没有,请按以下步骤操作,因为这是我的主要问题。
如果相机应用程序显示错误,并且即使按照上述步骤操作后仍无法看到OBS虚拟设备,则对我有效的解决方案是重置相机访问权限。对我来说,模拟器以前曾从系统请求访问相机,而内置的webcam0
是avd的相机源。模拟器需要许可才能使用系统中的虚拟设备webcam1
,但由于已经获得了内置相机webcam0
的许可,因此不会再次请求。这导致在模拟器中打开相机应用程序时出现错误,因为它无法访问源。
要解决此问题,您必须关闭模拟器和Android Studio,并运行tccutil reset Camera
(请注意,这将重置所有应用程序的相机权限,您可以通过运行tccutil reset Camera com.WHATEVERBUNDLE.YOURAPPID
仅重置Android Studio /特定应用程序的权限)。
重置相机权限后,再次使用上述第4步启动模拟器,打开相机应用程序时,您应该会收到Mac系统的提示,允许其访问Android Studio的相机,然后您应该会看到预期的OBS虚拟相机输入。
注意:我发现在通过命令行运行模拟器一次之后,您可以正常运行模拟器,并且相机设置将持续存在。看起来唯一的解决方案是使用远程摄像头。
这是一种方法:http://www.tomgibara.com/android/camera-source
虽然不是我正在寻找的东西,但我认为它可以用于测试。如果将条形码放在相机前正确位置,甚至可能会与此配合使用。
从以下网址下载源代码。它可以在仿真器中作为另一个画廊工作。 在传递拍摄照片的意图时,请选择此画廊。它看起来像三星手机的3D画廊... 它将返回默认图像... 在仿真器中。还有一件事,它只能在3.0版本之后正常工作。