Note please my blog entry on using pulse audio with pulse audio volume control (pavucontrol) : https://forums.opensuse.org/blogs/oldcpu/pulseaudio-basics-opensuse-pavucontrol-96/
wrt your question , to see if another application has seized the audio device and is refusing to share it, you need to list the files opened by the appropriate process.
Try looking at the open files associated with /dev/snd … ie …:
lsof /dev/snd/*
Try running that when sound is working ok. Also when it is not working ok. look for differences.
For with pulse audio, and functioning sound (but no media application running), what I get is:
oldcpu@corei7-920:~> lsof /dev/snd/*
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
pulseaudi 5072 oldcpu 22u CHR 116,9 0t0 9758 /dev/snd/controlC0
pulseaudi 5072 oldcpu 27u CHR 116,9 0t0 9758 /dev/snd/controlC0
pulseaudi 5072 oldcpu 33u CHR 116,3 0t0 9751 /dev/snd/controlC1
and then with smplayer playing (which is configured to use pulse audio on my pc)
oldcpu@corei7-920:~> lsof /dev/snd/*
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
pulseaudi 5072 oldcpu mem CHR 116,6 9755 /dev/snd/pcmC0D0p
pulseaudi 5072 oldcpu 22u CHR 116,9 0t0 9758 /dev/snd/controlC0
pulseaudi 5072 oldcpu 27u CHR 116,9 0t0 9758 /dev/snd/controlC0
pulseaudi 5072 oldcpu 33u CHR 116,3 0t0 9751 /dev/snd/controlC1
pulseaudi 5072 oldcpu 34u CHR 116,9 0t0 9758 /dev/snd/controlC0
pulseaudi 5072 oldcpu 46u CHR 116,6 0t0 9755 /dev/snd/pcmC0D0p
and by looking at ‘pavucontrol’ tabs one can see how smplayer is configured to use pulse.