Кто занял звук?


ramok аватар

ramok - Posted on 17 Август 2007

Некоторые программы все еще работают со звуком через OSS блокируя доступ к /dev/dsp, не давая другим программам работать со звуком. Глобальное решение проблемы сводится к использованию правильно настроенному ALSA и/или аудио серверов.

Но иногда и использующая ALSA программа может занять необходимые ресурсы и не давать
проигрывать звук другим программам. В обоих случаях можно опять воспользоваться
fuser что бы найти процесс занявший звук и убить его.

У меня иногда из-за такого в firefox пропадает звук. Проблему можно
решить так же как и в примере ниже проверив кто занял файлы в /dev/snd/*

В приведенном примере делается попытка проиграть .mp3 в mplayer, но xmms занял все.
xmms я не пользуюсь обычно, но он незаметно вызвался из firefox когда случайно
клацнул на линке звукового файла. Что и было выяснено Ж:-)

ramok@~mp3/Irish/ mplayer *.mp3
mplayer: /usr/lib/libtheora.so.0: no version information available (required by mplayer)
MPlayer dev-SVN-rUNKNOWN-4.1.3 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Celeron(R) CPU 2.80GHz (Family: 15, Model: 4, Stepping: 1)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
This codecs.conf is too old and incompatible with this MPlayer release! at line 6
Can't open joystick device /dev/input/js0: No such file or directory
Can't init input joystick
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
 
Playing Track15.mp3.
Audio file file format detected.
Clip info:
 Title: Track15
 Artist: Track15
 Album: The rhythmic celtic dance
 Year:     
 Comment: Track 15
 Genre: Unknown
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
- using device default
- using device default
ALSA lib pcm_dmix.c:864:(snd_pcm_dmix_open) unable to open slave

[AO_ALSA] alsa-lib: pcm_hw.c:1242:(snd_pcm_hw_open) open /dev/snd/pcmC0D0p \ 
    failed: Device or resource busy
[AO_ALSA] alsa-lib: pcm_dmix.c:864:(snd_pcm_dmix_open) unable to open slave
[AO_ALSA] Playback open error: Device or resource busy

Could not open/initialize audio device -> no sound.
Audio: no sound
Video: no video
 
 
Exiting... (End of file)
ramok@~mp3/Irish/ fuser /dev/snd/pcmC0D0p
/dev/snd/pcmC0D0p:   30980
ramok@~mp3/Irish/ ps aux GI 30980
komar    30980  0.0  0.1  68744  1600 pts/1    Sl   Jul08   0:18 /usr/bin/xmms \
             http://vysotsky.km.ru/russ/page/phonogramm/0100--/0128/00_0128_01.mp3
komar    31585  0.0  0.0   3824   740 pts/7    R+   16:51   0:00 grep -i 30980
ramok@~mp3/Irish/ kill 30980
ramok@~mp3/Irish/ ps aux GI 30980
komar    31734  0.0  0.0   3820   736 pts/7    S+   16:53   0:00 grep -i 30980
ramok@~mp3/Irish/

PS
GI это макрос "| grep -i"

0
Ваша оценка: Ничего