/dev/dsp is the audio device provided by the OSS sound drivers. OSS driver usage is usually limited to one program at a time,. If the sound card is in use by another application (even if that application uses a different sound driver, like the ALSA drivers), newly started audio playing programs will not be able to use the sound card.
OSS is deprecated in the Linux kernel - modern programs should use the ALSA drivers, which allow sharing the sound card between multiple apps. However, OSS is often provided for backwards compatibility with programs which were written before ALSA became popular.
How to fix it? All applications which give you a choice of sound driver should be set to use ALSA. Many apps provide this option (e.g. audacity, xmms, skype), although they may default to OSS... change these settings.
If you have an application which only supports OSS drivers, you
might be able to use a program called
aoss to emulate the OSS drivers, but actually use ALSA drivers, and so play nice with other ALSA apps. I use this method to run RealPlayer, which only supports OSS drivers. aoss is not 100% reliable, but with recent versions of ALSA it seems to work for most programs. To use aoss, just prefix the running of the program with aoss.. e.g. if you usually run RealPlayer like this:
Code:
realplay http://somesite.com/somemedia.ram
...then you would run it like this:
Code:
aoss realplay http://somesite.com/somemedia.ram
Of course, you need aoss installed. On Ubuntu it is part of the alsa-oss package.