Calling reset() on a QAudioOutput changes the state of the QAudioOutput to QAudio::StoppedState, but it doesn't emit the stateChanged signal. I've tested this on Linux and Windows 10, and it only seems to be a bug on Windows 10. On Linux, calling reset() changes state to QAudio::StoppedState and emits a stateChanged signal, as I would expect. I've not tested it on MacOS. Also, I discovered this while developing in Python3 with PyQt, but given the behavior of the bug, I strongly suspect it is a bug in the Qt libraries, not the PyQt bindings. I've not yet had any time to try testing this in C++. Thank you!