spatialaudio / python-sounddevice

:sound: Play and Record Sound with Python :snake:
https://python-sounddevice.readthedocs.io/
MIT License
1.02k stars 149 forks source link

Please add PaWasapi_UpdateDeviceList #484

Closed Swiftgti closed 1 year ago

Swiftgti commented 1 year ago

Please for windows make a distribution with PaWasapi_UpdateDeviceList enabled, its possible? Thanks

mgeier commented 1 year ago

Is #486 enough or do you also need a high-level Python API for that?

Swiftgti commented 1 year ago

Hi, I modified sounddevice and build a new FFI with function PaWasapi_UpdateDeviceList , BUT PortAudio can't open new streams for new devices detected, for that must be used the UpdateAvailableDeviceList that is in the fork of jitsi. It's a PortAudio fork powered with necessary features like the hotplug capabilities. There is any way to use PortAudio of jitsi ? or support it like an option? or move the project to use that fork? Have a nice day.

mgeier commented 1 year ago

There is any way to use PortAudio of jitsi ?

Yes, but I don't know what's the best way to do that on Windows (which I assume that you are using).

You might be able to put a portaudio.dll file somewhere in your binary search path. Alternatively, you can just replace the file _sounddevice_data/portaudio-binaries/libportaudio64bit.dll.

Here are some older comments about the "hotplug" fork:

https://github.com/spatialaudio/python-sounddevice/issues/125#issuecomment-514065063

https://github.com/spatialaudio/python-sounddevice/issues/382#issuecomment-986019480

or support it like an option?

It should already be possible, but this should be tested and documented.

or move the project to use that fork?

The fork doesn't seem well maintained, so no.

But you could try to help the PortAudio team to include that feature into the official PortAudio codebase.