Anda dapat mengubah volume master di dalam terminal itu sendiri dengan menggunakan perintah yang ditunjukkan di bawah ini.
amixer -D pulse sset Master 5%+
Namun, ketika saya mencoba menjalankan kode berikut dengan Python , kesalahan berikut akan ditampilkan.
No protocol specified
xcb_connection_has_error() returned true
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
amixer: Mixer attach pulse error: Connection refused
Dan di sini adalah kode yang menghasilkan kesalahan di atas.
os.system("amixer -D pulse sset Master 5%+")
Bagaimana seseorang mengatasi kesalahan itu?
Kesalahan "tidak dapat terhubung" dapat berarti: pulseaudio tidak berjalan atau ada masalah izin. "pactl" mungkin lebih tepat untuk mengendalikan pulseaudio. Coba tentukan output apa yang ingin Anda kendalikan dengan menjalankan: "pactl list sinks". Tinjau output dari perintah itu untuk menentukan nomor wastafel. Kemudian jalankan sesuatu seperti "pactl set-sink-volue 3 + 5%" (di mana "3" adalah wastafel # di mesin saya untuk "Built-in Audio Analog Stereo"). Satu hal yang perlu diperhatikan: angka-angka wastafel dapat berubah di seluruh reboot, jadi ada baiknya untuk meneliti bagaimana mencapai hal yang sama dengan nama-nama wastafel daripada angka-angka wastafel.
—
joat
Saya telah mencoba pactl juga tetapi mendapatkan kesalahan yang sama. @ Joat
—
Ghatak Sena
Pulseaudio sedang berjalan? Apakah Anda (atau skrip Anda) menjalankan pactl / amixer sebagai pengguna yang masuk (bukan root)? Hanya itu yang bisa saya pikirkan.
—
joat
Tentu saja itu bekerja di terminal tetapi masalah utama saya adalah tidak bekerja dengan kode Python. @ Joat
—
Ghatak Sena
Itu harus menjadi masalah izin. 'import os; os.system ("pactl set-sink-mute 3 1")' berfungsi jika saya menjalankannya di terminal atau dalam skrip. Ketika Anda menjalankan amixer, apakah Anda harus memilih kartu suara sebelum melakukan hal lain?
—
joat