Apakah ada program default di mana saya dapat memeriksa apakah perangkat audio saya diam?
Sunting: Diam, maksud saya jika ada sesuatu yang diputar pada itu (tidak hanya diaktifkan atau dibuka)
Sesuatu seperti ini:
if [[ device0 is silent ]] ; then
radio $RANDOM
fi
Sunting 2: Apa yang saya coba capai adalah skrip yang memutar radio dan dapat terus bermain ketika pemain gagal, misalnya jika koneksi internet turun dan pemain tidak pulih, saya akan membunuh pemain dan memulai lagi
sox
. Dalam kasus lain, Anda dapat mencobalsof|grep snd
. Jika tidak ada yang bisa Anda menghidupkan radio.Jawaban:
Jika Anda menggunakan PulseAudio (distribusi Linux berbasis Gnome cenderung menggunakan PulseAudio, Anda dapat memeriksa apakah ada yang berjalan dengan
ps -C pulseaudio
) dan Anda ingin tahu apakah beberapa aplikasi mengirim data apa pun ke "wastafel", Anda dapat melakukan:Masih dengan PulseAudio, jika Anda ingin memeriksa apakah output suara Anda dibisukan, mungkin ada yang lebih sederhana tetapi Anda bisa mendapatkan status "bisu" dari "wastafel" default menggunakan:
sumber
no
dalam situasi apa pun, bermain atau tidak)mplayer
), itu memberiState: CORKED
bukannyaState: RUNNING
dalam kasus itu sehingga masih akan bekerja Jika aplikasi memberi makan data keheningan (sedang bermain diam), maka saya kira itu masih akan ditampilkanRUNNING
, tetapi dalam kasus itu, saya tidak melihat alternatif lain selain menggunakan pamon pada perangkat monitor dari semua wastafel dan memeriksa kesunyian.Jika saya mengerti Anda dengan benar, berikut ini sebuah contoh:
Diam:
Saya mengaktifkan keberanian:
Untuk OSS chande
/dev/snd/timer
ke/dev/dsp
.Ini adalah metode yang sangat tergantung.
sumber
Dengan asumsi Anda menggunakan mixer ALSA untuk suara Anda, Anda dapat menggunakannya
amixer
untuk menanyakan informasi tentang perangkat audio. Perangkat audio biasanya memiliki beberapa saluran audio - atau kontrol - masing-masing yang dapat dibisukan dan dibisukan. Misalnya untuk memeriksa apakahMaster
kontrol dibisukan Anda akan melakukan sesuatu seperti:Gunakan
set
opsi untuk melakukan hal-hal pada kontrol. Lihatman amixer
untuk bantuan lebih lanjut.sumber
amixer
tidak berhasil, saya menguji lebih dari 15 menit dengan benar-benar tidak ada pemain yang dibuka, dan masih melaporkan "tidakjawaban htor mungkin akan bekerja, tetapi sangat mungkin bahwa "off" akan muncul di tempat lain di output, menyebabkan hasil yang salah. Berikut ini adalah pemeriksaan yang lebih ketat menggunakan awk GNU:
sumber
amixer
's baris terakhir tidak punya$6
: ‘Mono: Playback [pada]’. (amixer
versi 1.0.26) Mungkin$NF
akan lebih portabel.