Introduction

Using ALSA applications are allowed to open the device blocking access for others. In such cases other applications throws exception like this one:

Device or resource busy

This issue can be solved using «dmix» ALSA native plugin.

Solution

Put the following to asoundrc file (i.e. ~/.asoundrc or /etc/asound.conf):

pcm.dmixed {
	type asym
	playback.pcm {
		type dmix
		ipc_key 5678293
		ipc_perm 0660
		ipc_gid audio
		slave {
			pcm {
				rate 48000 # can also be 44100
				type hw
				card Intel # your card
			}
		}
	}
}

pcm.!default {
	type plug
	slave.pcm "dmixed"
}

Most likely you have another audio-card device, change the line marked with «your card». To know the name you can look at /proc/asound/cards.

Application that still holds the output device should be restarted to take effect of new configuration.

Links