Hello!
I’m experimenting with using an app’s output audio as a source for call audio, instead of the mic.
The device I’m using is a PinephonePro running PMOS (postmarketOS) Edge.
I have been able to send audio from an app (so far I’ve tested with Amberol) to Sound Recorder no problem, with two different methods:
- Destroy the existing links for Amberol and Sound Recorder, and then create links between them:
# Delete existing Sound Recorder links
pw-link -l -I | grep "Sound Recorder" | grep "|->" | awk '{print $1}' | xargs -n 1 pw-link -d
# Delete existing Amberol links
pw-link -l -I | grep "Amberol" | grep "|<-" | awk '{print $1}' | xargs -n 1 pw-link -d
# Link Amberol's FL to Sound Recorder's FL
pw-link -L Amberol:output_FL "Sound Recorder:input_FL"
# Link Amberol's FR to Sound Recorder's FR
pw-link -L Amberol:output_FR "Sound Recorder:input_FR"
- Create a virtual mic (from here):
pw-loopback --capture-props='node.target=Amberol' --playback-props='media.class=Audio/Source node.name=virtmic node.description="VirtualMic"'
This method is pretty neat, as I can then just select “VirtualMic” as the input device in settings, open up Sound Recorder, and it will record the music instead of the mic.
The problem I’m having is, whereas these above methods work for Sound Recorder (and other apps), they don’t work for gnome-calls.
When a phone call is started, the input will get switched to the real mic.
If I select “Virtual Mic” as the input during the call, it doesn’t affect the call, which continues to use the real mic.
I also don’t understand why gnome-calls doesn’t show up in qpwgraph like other apps (see screenshot below).
Is it possible to make gnome-calls receive audio from another app?
If so, how?
Let me know if you have any questions! TIA.