Tombol diam membisukan Alsa dan PulseAudio, namun hanya bersuara Alsa


20

Ketika saya menekan tombol mute pada keyboard saya, saluran master Alsa dan saluran master PulseAudio dimatikan, menekannya lagi hanya membunyikan saluran master alsa, saluran master pulseaudio tetap tidak bersuara. Hasil: tidak ada suara. Bagaimana cara memperbaikinya?

Jawaban:


11

Jalankan perintah ini:

amixer -D pulse set Master 1+ unmute

12
Bisakah Anda menjelaskan apa perintah ini agar pengguna lain tahu?
Pasang kembali Monica - ζ--

1
Untuk apa 1+ itu? Saya tidak dapat menemukan penjelasan di halaman manual amixer.
jarno

menggunakan toggle bukannya unmute berguna jika Anda mengikat perintah ke kunci perangkat kerasamixer -D pulse set Master 1+ toggle
Pol Alvarez Vecino

20

itu jauh lebih simpel.

amixer -D pulse set Master Playback Switch toggle

atur ini sebagai hotkey ke "Mute \ Unmute". kontrol volume dapat dibiarkan apa adanya.

Mint 15 Mate - mengetahuinya sendiri, bekerja dengan baik untuk saya.


Apa pun itu - bekerja dengan baik di linux lengkung. Suara diam dan tidak suara berhasil. Sekarang saya mengikat perintah ini pada perintah bisu di laptop saya, karena yang standar tidak mengaktifkan suara semua saluran. TERIMA KASIH
Erikas

Ini bekerja untuk saya dengan Ubuntu 14.04 + i3, jawaban yang diterima tidak bekerja.
Ingo Bürk

1
amixer -D pulse set Master toggleakan melakukan. Amixer mengharapkan nama kontrol mixer sederhana untuk perintah set atau sset, dan bahkan jika itu menerima nama kontrol mixer lengkap, Anda harus mengutip nama multi-kata seperti itu. Anda dapat menggunakan pengubah opsional playbackdalam perintah seperti ini:, amixer -D pulse set Master playback toggletetapi tidak perlu, jika Mastertidak memiliki kemampuan menangkap juga. Dengan menggunakan pengubah opsional, Anda juga dapat mengontrol ke saluran mana perintah berlaku, jika sistem Anda mampu mengelilingi suara.
jarno

5

Saya memiliki masalah yang sama menjalankan desktop MATE pada Linux Mint Debian Edition (201204).

Tindakan "Volume naik" tidak dapat mengaktifkan suara volume. Saya menyadari bahwa masalahnya adalah dengan Pulseaudio, tetapi paket mate-media-gstreamerdan di mate-settings-daemon-gstreamermana diinstal secara default. Dengan menginstal mate-media-pulsedan mate-settings-daemon-pulse(yang dihapus mate-media-gstreamerdan mate-settings-daemon-gstreamer) dan tadam ... "Volume naik" tindakan mampu mengaktifkan lagi volume!

Saya harap ini juga akan bekerja untuk Anda!


Bekerja untuk saya (pada Debian Jessie) dan solusi ini permanen, sedangkan solusi AFAIU yang melibatkan amixer -D pulse set Master xxxadalah satu tembakan, atau perlu dipetakan secara manual ke jalan pintas. Solusi yang diajukan di sini terlihat seperti seharusnya.
Jérôme

2

Ini adalah masalah dengan pulseaudio, perintah untuk alsa atau amixer tidak akan mengirim unmute ke pulsa dengan benar. Ketika perintah alsa mengirim sinyal bisu, itu adalah perintah sakelar (kirim perintah yang sama ke mute / unmute).

Sekarang di pulseaudio mereka memiliki kode mute dan unmute yang terpisah! Banyak yang melaporkan bahwa mencopot pemasangan pulseaudio akan menyelesaikan masalah, tetapi bagi sebagian orang itu bukan jawaban yang benar-benar dapat diterima (seperti saya, karena pulsa berguna untuk banyak aplikasi).

Jadi untuk menyelesaikan ini kita perlu membuat skrip,

1- Membuat dokumen kosong baru di editor teks seperti gedit atau mousepad,

2- Tempel kode ini di dalam dokumen, Soruce of code: 2

#!/bin/bash
#### Create ~/.pulse/mute if not exists
ls ~/.pulse/mute &> /dev/null
if [[ $? != 0 ]]
then
    echo "false" > ~/.pulse/mute
fi

####Create ~/.pulse/volume if not exists
ls ~/.pulse/volume &> /dev/null
if [[ $? != 0 ]]
then
    echo "65536" > ~/.pulse/volume
fi

CURVOL=`cat ~/.pulse/volume`     #Reads in the current volume
MUTE=`cat ~/.pulse/mute`          #Reads mute state

if [[ $1 == "increase" ]]
then
    CURVOL=$(($CURVOL + 3277)) #3277 is 5% of the total volume, you can change this to suit your needs.
    if [[ $CURVOL -ge 65536 ]]
    then
        CURVOL=65536        
    fi
elif [[ $1 == "decrease" ]]
then
    CURVOL=$(($CURVOL - 3277))
    if [[ $CURVOL -le 0 ]]
    then
        CURVOL=0        
    fi
elif [[ $1 == "mute" ]]
then
    if [[ $MUTE == "false" ]]
    then
        pactl set-sink-mute 0 1
        echo "true" > ~/.pulse/mute
    exit    
    else
        pactl set-sink-mute 0 0
        echo "false" > ~/.pulse/mute    
    exit
    fi
fi

pactl set-sink-volume 0 $CURVOL
echo $CURVOL > ~/.pulse/volume # Write the new volume to disk to be read the next time the script is run.

3 - Beri nama file "volume" (tidak perlu ekstensi) letakkan di suatu tempat Anda dapat menemukan dan tidak akan menghapusnya seperti folder rumah Anda

4- Membuat file dapat dieksekusi dengan mengklik kanan pada file, pergi ke Properties, lalu tab Izin, dan gunakan kotak centang untuk menandainya executable, ini akan memungkinkan skrip dijalankan. mark-file-as-executable-gui

5- Selanjutnya kita perlu menautkan perintah ke keyboard, perintah untuk kode meningkat, berkurang, dan bisu.

Jadi buka pengaturan keyboard - bagaimana-cara-mengubah-keyboard-pintasan-in-xubuntu , Di area pintasan keyboard, klik tambahkan, lalu buka, Buka file "volume" yang kami buat, lalu tambahkan perintah untuk kode setelah volume, baca volume meningkat , atau volume bisu dll. tetapi dengan lokasi di mana file kode sebelumnya seperti "/ home / nama pengguna / volume bisu"

Kemudian tetapkan ke keyboard dengan menekan tombol itu, atau jika kunci sudah digunakan,
~ Kemungkinan besar ~ temukan mereka dan ganti perintah.

Pintasan kunci kemungkinan disebut XF86AudioRaiseVolume, XF86AudioLowerVolume, XF86AudioMute . Karena hanya bisu yang rusak, konsentrasikan upaya Anda untuk mengubahnya terlebih dahulu.

Bug: 1


Saya baru saja XF86AudioMutememetakan perintah amixer set Master toggle. Tombol naik dan turun vol dipetakan mirip dengan amixerperintah.
Chan-Ho Suh

@ Chan-HoSuh Anda mengalami masalah yang sama? Anda bisa memanggil perintah bisu dari skrip ini jika Anda mau, karena alasan tertentu pulsa mencegat bisu di mesin saya, amixer mengirimkan toggle, yang diartikan sebagai hanya bisu oleh pulsa, atau hanya memotong tombol tekan? Saya menggunakan skrip yang mirip yang menampilkan bilah volume sebelum :(, tapi ini membisukan dan membunyikan, dan sekarang mereka memiliki notifikasi, jadi semuanya baik-baik saja, toggle adalah cara mengaturnya sebelumnya.
Mateo

Salah satu perbaikan kecil pada skrip adalah juga memaksa unmute pada kenaikan / penurunan volume. Saya juga menambahkan 'paplay /usr/share/sounds/ubuntu/stereo/message.ogg' untuk mendapatkan umpan balik tentang volume.
dma

Mungkin berbeda sebelumnya, tetapi dengan pulseaudio 4.0 Anda dapat menggunakan perintah seperti pactl set-sink-volume 0 +5%, pactl set-sink-volume 0 -5%dan pactl set-sink-mute 0 toggleuntuk meningkatkan volume, menurunkan volume dan mengubah volume, masing-masing.
jarno

@ Jarno ya, ini untuk menyelesaikan masalah tertentu (bug) sehingga kemungkinan diperbaiki / tidak relevan, tetapi tetap menjadi hack kecil yang bagus jika tidak ada yang berhasil
Mateo


1

Bekerja untuk saya pada jam 12.10:

    #!/bin/sh
    amixer -c 0 sset Master,0 mute
    sleep 5
    amixer -D pulse set Master 1+ unmute

1

Untuk pengguna KDE dan kmix, jika Anda menggunakan skrip ini, Anda masih memiliki umpan balik visual yang berfungsi:

#! /bin/bash

DBUS=qdbus 2> /dev/null

case "$1" in
  volup)
        pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo 0
        ${DBUS} org.kde.kmix /kmix/KMixWindow/actions/increase_volume com.trolltech.Qt.QAction.trigger
        ;;
  voldn)
        pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo 0
        ${DBUS} org.kde.kmix /kmix/KMixWindow/actions/decrease_volume com.trolltech.Qt.QAction.trigger
        ;;
  mute)
        ${DBUS} org.kde.kmix /kmix/KMixWindow/actions/mute com.trolltech.Qt.QAction.trigger
        pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo $(${DBUS} org.kde.kmix /Mixers/0/Master_0 org.kde.KMix.Control.mute | sed 's/false/0/g;s/true/1/g')
        ;;
  *)
    echo "Usage: mixctl <volup|voldn|mute>" >&2
    exit 1
    ;;
esac

exit 0

Pemakaian:

1) Simpan sebagai ~ / bin / mixctl
2) Hapus peta pintas keyboard kmix default untuk Volume Naik / Volume Turun dan Bisu
3) Buat tiga pintasan keyboard khusus baru bernama 'Volume Naik', 'Volume Turun', dan 'Bisukan'
- > jenis shortcut: command
-> karena perintah menggunakan ~ / bin / mixctl volup , ~ / bin / mixctl voldn dan ~ / bin / mixctl masing-masing bisu


1

Saya memiliki masalah yang sama pada beberapa mesin Xubuntu 12.04 yang ditingkatkan ke XFCE 4.10. Berikut adalah cara yang sangat cepat untuk menyelesaikan masalah ini dari baris perintah (atau dengan bashskrip).

Tidak seperti solusi sebelumnya yang menawarkan skrip stop-gap, solusi ini sepenuhnya mengembalikan fungsi tombol mute / unmute.

Cukup terbitkan dua perintah berikut sekali, untuk menyelesaikan masalah sekali dan untuk semua:

$ xfconf-query --channel xfce4-mixer --property /active-card --set PlaybackInternalAudioAnalogStereoPulseAudioMixer --reset
$ xfconf-query --create --channel xfce4-keyboard-shortcuts --property /commands/custom/XF86AudioMute --type string --set 'amixer -D pulse set Master 1+ toggle'

1

Saya menemukan solusi sederhana yang berfungsi baik untuk saya di forum ini . Secara detail, Anda perlu menambahkan ini ke /etc/asound.conf:

pcm.pulse {
    type pulse
}
ctl.pulse {
    type pulse
}
pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

Dan kemudian mengatur pintasan keyboard untuk tombol bisu dengan perintah:

amixer set Master toggle

0

Anda dapat menggunakan pengaturan keyboard untuk mengatur tombol bisu untuk menjalankan perintah yang ditemukan di SINI . Meskipun metode pertama yang terdaftar di link ini tidak berguna bagi saya, yang kedua karya besar untuk XFCE4: $ pactl set-sink-mute 0 toggle. Anda juga dapat membuat skrip atau peluncur untuk menjalankan perintah pada klik mouse.

FYI, jika Anda menggunakan sesuatu seperti Cinnamon (dan mungkin desktop berbasis gnome lainnya) saran di atas191961 di atas tampaknya lebih baik, karena applet suara kayu manis mengenali volume yang dibisukan: amixer -D pulse set Master Playback Switch toggle(jika Anda suka perintah terakhir ini, silakan pilih / jawab jawabannya, bukan milikku.)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.