У меня есть проект на python, который использует PySide2 для работы с пользовательским интерфейсом на основе Qt, а также QSoundEffect для воспроизведения звуков.Как я выяснил, я могу создавать и воспроизводить два звука одновременно, но когда я изменяю громкость одного, это меняет общую громкость для всех звуков.
Это считается ошибкой, см., Например, здесь: https://forum.qt.io/topic/46996/qsoundeffect-setvolume-setting-whole-app-volume/10.
Итак, я решил создать один звук с помощью QSoundEffect, а другой - с помощью модуля ctypes модуля python, напрямую вызывая Windows DLL, например:
from ctypes import c_buffer, windll
...
windll.winmm.mciSendStringA(....)
, это также работает и двазвуки воспроизводятся вместе, но, к моему удивлению, QSoundEffect.setVolume () по-прежнему контролирует громкость обоих звуков.
В принципе, я могу смешивать звуки по-разному, но не могу управлять их громкостью по отдельности.
Так что это не ошибка Qt, это что-то еще.
С другой стороны, если вы спросите на форумах MSDN, люди скажут вам, что низкоуровневый Win API не имеет концепции отдельных звуков исведение, вам нужно сделать это вручную, хотя я определенно могу микшировать звуки здесь.
Я - НЕ - спрашиваю о том, как правильно воспроизводить звуки в python и - НЕ - looking для решения или сторонней библиотеки, я знаю, что их много.
Я хочу понять, почему так происходит и что за звуковая подсистема Win (из-за отсутствия лучшего термина) яв этом случае, может быть, кто-то достаточно опытный в этом вопросе может пролить свет на это для меня.