/PhantomMic

LSPosed module to simulate microphone input from an audio file

Primary LanguageC++

Phantom Mic

An LSPosed (Xposed/Edxposed) module to simulate microphone input 🎤 from a pre-recorded audio file, useful for automating audio calls

Demo Video
demo_adapted.mp4

Tested Apps

Application Status
Facebook Messenger ✔ Working
Discord ✔ Working
Telegram ✔ Working
Whatsapp ** ✔ Working
Google Chrome ✔ Working
IMO ✔ Working
.. You tell me!

App ** : Recordings folder defaults to Android/data/app_id/files/Recordings because chose folder dialog doesn't work

Note: your app might work if it's not on the list, let us know if you tried it!

Usage Guide

  • Enable the module for your target app

  • Open your target app, you'll be prompted to choose a folder it for the module files

  • Inside the chosen folder, copy all your audio files to be played (*.mp3, *.wav, etc)

  • Inside the chosen folder create a new file phantom.txt, write the name of your target audio file (without extension is also fine) and save it. The file can be left empty if you want to use your microphone as normal.

    Note: If the target records audio to a file, there is a chance the module won't work. This is intentional because the main purpose is using it in calls.

    Bonus Tip: use an app like MacroDroid or Tasker to automate the process

Example

Folder Structure

CHOSEN_FOLDER
|_ music.mp3
|_ whatevername.wav
|_ sample.aac
|_ phantom.txt

Inside phantom.txt

music.mp3

Requirements

  • Android 7+

  • [Root] LSPosed / Edxposed

  • [No Root] LSPatch theoretically works but not tested

Module not working ?

Please open a github issue.

  • If the app is labelled as "Working" in Tested Apps. Please attach libaudioclient.so, you can copy it from /system/lib or `/system/lib64, alongside logs.

  • Otherwise send play store version of the app and explain how I can test it

Developer Notes

The app relies on native hooking AudioRecord.cpp, feel free to take a look at the source code!

Links

XDA Thread