This is a tool to help x86 Android emulators such as NOX, LDPlayer, etc., select a camera.
You may find that NOX Player, LDPlayer, or similar Android emulators do not provide a camera selection feature, which means that when using DeepFaceLive or other virtual cameras, you need to disable the hardware camera from Device Manager first.
This project hooks into the DirectShow camera enumeration function, allowing the Android emulator to only select the camera you want to use.
P.S. So far, it has only been tested on NoxPlayer (7.0.6.1), LDPlayer (9.1.23.0), and Memu Player (9.1.8.0).
P.S. OBS Virtual Camera can be find, but I dont know why that cant use.
OS: Windows 10
NOX Player: 7.0.6.1
LDPLayer: 9.1.23.0
MEmu Player: 9.1.8.0
The fastest way is to download the Release (Download), and you'll be ready to use it.
The following are the targets for DLL injection. Except for NOX, other emulators are handled through separate programs.
Emulator | DLL Inject Target |
NOX Player 7.0.6.1 | Nox/bin/Nox.exe |
LDPLayer 9.1.23.0 | LDPlayer/LDPlayer9/ldcam.exe |
MEmu Player 9.1.8.0 | Microvirt/MEmu/screenrecord.exe |
Demo and use:go to youtube
If you want to compile everything manually, you can refer to this.
Visual Studio 2022 (download)
Go 1.23.0 (download)
Wails 2.9.2 (install)
Detours (github)
An9VCamPicker => A DLL project that implements hooking of the DirectShow API. (C++20)
An9VCamPickerUI => A GUI for communicating with the DLL. (Go 1.23.0)
LsCamera => Enable Golang to enumerate the current system's camera list. (c++11+)
Go to the An9VCamPicker project and use git clone to clone the Detours project.
Then, open the 'x86 Native Tools Command Prompt for VS 2022' command prompt.
cd An9VCamPicker/Detours
nmake -f makefile
Wait for compile. Check An9VCamPicker/Detours/bin.X86/setdll.exe exist. Check An9VCamPicker/Detours/lib.X86/detours.lib exist.
Open An9VCamPicker.sln
Set compile setting "Release", "X86".
Compile it.
P.S. If you encounter issues such as 'detours.lib' or missing include or lib files, you need to set the project's include path and lib path to the Detours directory you just compiled.
Check An9VCamPicker/Release/An9VCamPicker.dll exist.
Go to the LsCamera project and open LsCamera.sln
Set compile setting "Release", "X64".
Compile it.
Check LsCamera\x64\Release\LsCamera.exe exist.
Go to the An9VCamPickerUI project
cd An9VCamPickerUI
go install github.com/wailsapp/wails/v2/cmd/[email protected]
wails build
Check An9VCamPickerUI/build/bin/An9VCamPickerUI.exe exist.
Now copy the following files into the same folder.
- An9VCamPicker/Detours/bin.X86/setdll.exe
- An9VCamPicker/Release/An9VCamPicker.dll
- LsCamera\x64\Release\LsCamera.exe
- An9VCamPickerUI/build/bin/An9VCamPickerUI.exe
Enjoy