无法打开音频设备/ dev / dsp

时间:2012-02-12 10:36:34

标签: c unix

Getting compilation errors whn included a third party library

这是与上述链接相同的示例。当我试图执行可执行文件“编译”时,它告诉“无法打开音频设备/ dev / dsp”

b@cheetah-desktop:~/flite-1.4-release/Learning_through_examples$ ./compile 
./compile: error while loading shared libraries: libflite.so.1: cannot open shared object file: No such file or directory
b@cheetah-desktop:~/flite-1.4-release/Learning_through_examples$ export LD_LIBRARY_PATH=/home/b/flite-1.4-release/build/i386-linux-gnu/lib/
b@cheetah-desktop:~/flite-1.4-release/Learning_through_examples$ ./compile 
oss_audio: failed to open audio device /dev/dsp

3 个答案:

答案 0 :(得分:5)

它试图与您的声卡通信(在编译期间?)。你的系统是什么?大多数新的Linux发行版不提供OSS(开放式声音系统)兼容性层,因为对OSS声音设备/dev/dsp的访问仅限于一个程序。如果您正在运行PulseAudio,您可以使用padsp(请参阅其联机帮助页)或(相同的)export LD_PRELOAD=libpulsedsp.so来打包调用并运行您的程序。 libpulsedsp.so将以/dev/dsp打开并透明地模拟OSS。

答案 1 :(得分:2)

您的用户无权打开/ dev / dsp。

执行chmod o+rw /dev/dsp或向用户组添加权限。

答案 2 :(得分:-2)

从终端安装以下内容:

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install pavucontrol linux-sound-base alsa-base alsa-utils lightdm ubuntu-desktop linux-image-uname -r libasound2
sudo apt-get -y --reinstall install linux-sound-base alsa-base alsa-utils lightdm ubuntu-desktop linux-image-uname -r libasound2; killall pulseaudio
rm -r ~/.pulse*
ubuntu-support-status
sudo usermod -aG cat /etc/group | grep -e '^pulse:' -e '^audio:' -e '^pulse-access:' -e '^pulse-rt:' -e '^video:' | awk -F: '{print $1}' | tr '\n' ',' | sed 's:,$::g' whoami

sudo apt-get install pulseaudio    
sudo apt-get install libpulse-dev
sudo apt-get install osspd

可能需要一段时间,但它对我来说非常适合。