How to change the master volume in PulseAudio programmatically?
You can change the master volume within the terminal itself by using the command shown underneath.
amixer -D pulse sset Master 5%+
However, when I tried to execute the following code in Python, the following error is shown.
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
And here is the code producing the error above.
os.system("amixer -D pulse sset Master 5%+")
How does one resolve that error?
python pulse-audio
add a comment |
You can change the master volume within the terminal itself by using the command shown underneath.
amixer -D pulse sset Master 5%+
However, when I tried to execute the following code in Python, the following error is shown.
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
And here is the code producing the error above.
os.system("amixer -D pulse sset Master 5%+")
How does one resolve that error?
python pulse-audio
The "unable to connect" error can mean: pulseaudio is not running or permissions issues exist. "pactl" may be more appropriate for controlling pulseaudio. Try determine what output you're trying to control by running: "pactl list sinks". Review the output of that command to determine the sink number. Then run something like "pactl set-sink-volue 3 +5%" (where "3" is the sink # on my machine for "Built-in Audio Analog Stereo"). One point to note: sink numbers can change across reboots, so it is worthwhile to research how to accomplish the same thing with sink names instead of sink numbers.
– joat
Jan 26 at 13:55
I have tried pactl also but getting same errors.@joat
– Ghatak Sena
Jan 26 at 13:57
Pulseaudio is running? Are you (or your script) running pactl/amixer as the logged in user (not root)? That's about all that I can think of.
– joat
Jan 26 at 14:14
Of course it's working in terminal but my main issue is that it's not working with Python code.@joat
– Ghatak Sena
Jan 26 at 14:21
It's must be a permissions issue. 'import os;os.system("pactl set-sink-mute 3 1")' works if I run it in a terminal or in a script. When you run amixer, do you have to select the sound card before doing anything else?
– joat
Jan 26 at 23:10
add a comment |
You can change the master volume within the terminal itself by using the command shown underneath.
amixer -D pulse sset Master 5%+
However, when I tried to execute the following code in Python, the following error is shown.
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
And here is the code producing the error above.
os.system("amixer -D pulse sset Master 5%+")
How does one resolve that error?
python pulse-audio
You can change the master volume within the terminal itself by using the command shown underneath.
amixer -D pulse sset Master 5%+
However, when I tried to execute the following code in Python, the following error is shown.
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
And here is the code producing the error above.
os.system("amixer -D pulse sset Master 5%+")
How does one resolve that error?
python pulse-audio
python pulse-audio
edited Jan 26 at 17:37
user979752
asked Jan 26 at 13:21
Ghatak SenaGhatak Sena
61
61
The "unable to connect" error can mean: pulseaudio is not running or permissions issues exist. "pactl" may be more appropriate for controlling pulseaudio. Try determine what output you're trying to control by running: "pactl list sinks". Review the output of that command to determine the sink number. Then run something like "pactl set-sink-volue 3 +5%" (where "3" is the sink # on my machine for "Built-in Audio Analog Stereo"). One point to note: sink numbers can change across reboots, so it is worthwhile to research how to accomplish the same thing with sink names instead of sink numbers.
– joat
Jan 26 at 13:55
I have tried pactl also but getting same errors.@joat
– Ghatak Sena
Jan 26 at 13:57
Pulseaudio is running? Are you (or your script) running pactl/amixer as the logged in user (not root)? That's about all that I can think of.
– joat
Jan 26 at 14:14
Of course it's working in terminal but my main issue is that it's not working with Python code.@joat
– Ghatak Sena
Jan 26 at 14:21
It's must be a permissions issue. 'import os;os.system("pactl set-sink-mute 3 1")' works if I run it in a terminal or in a script. When you run amixer, do you have to select the sound card before doing anything else?
– joat
Jan 26 at 23:10
add a comment |
The "unable to connect" error can mean: pulseaudio is not running or permissions issues exist. "pactl" may be more appropriate for controlling pulseaudio. Try determine what output you're trying to control by running: "pactl list sinks". Review the output of that command to determine the sink number. Then run something like "pactl set-sink-volue 3 +5%" (where "3" is the sink # on my machine for "Built-in Audio Analog Stereo"). One point to note: sink numbers can change across reboots, so it is worthwhile to research how to accomplish the same thing with sink names instead of sink numbers.
– joat
Jan 26 at 13:55
I have tried pactl also but getting same errors.@joat
– Ghatak Sena
Jan 26 at 13:57
Pulseaudio is running? Are you (or your script) running pactl/amixer as the logged in user (not root)? That's about all that I can think of.
– joat
Jan 26 at 14:14
Of course it's working in terminal but my main issue is that it's not working with Python code.@joat
– Ghatak Sena
Jan 26 at 14:21
It's must be a permissions issue. 'import os;os.system("pactl set-sink-mute 3 1")' works if I run it in a terminal or in a script. When you run amixer, do you have to select the sound card before doing anything else?
– joat
Jan 26 at 23:10
The "unable to connect" error can mean: pulseaudio is not running or permissions issues exist. "pactl" may be more appropriate for controlling pulseaudio. Try determine what output you're trying to control by running: "pactl list sinks". Review the output of that command to determine the sink number. Then run something like "pactl set-sink-volue 3 +5%" (where "3" is the sink # on my machine for "Built-in Audio Analog Stereo"). One point to note: sink numbers can change across reboots, so it is worthwhile to research how to accomplish the same thing with sink names instead of sink numbers.
– joat
Jan 26 at 13:55
The "unable to connect" error can mean: pulseaudio is not running or permissions issues exist. "pactl" may be more appropriate for controlling pulseaudio. Try determine what output you're trying to control by running: "pactl list sinks". Review the output of that command to determine the sink number. Then run something like "pactl set-sink-volue 3 +5%" (where "3" is the sink # on my machine for "Built-in Audio Analog Stereo"). One point to note: sink numbers can change across reboots, so it is worthwhile to research how to accomplish the same thing with sink names instead of sink numbers.
– joat
Jan 26 at 13:55
I have tried pactl also but getting same errors.@joat
– Ghatak Sena
Jan 26 at 13:57
I have tried pactl also but getting same errors.@joat
– Ghatak Sena
Jan 26 at 13:57
Pulseaudio is running? Are you (or your script) running pactl/amixer as the logged in user (not root)? That's about all that I can think of.
– joat
Jan 26 at 14:14
Pulseaudio is running? Are you (or your script) running pactl/amixer as the logged in user (not root)? That's about all that I can think of.
– joat
Jan 26 at 14:14
Of course it's working in terminal but my main issue is that it's not working with Python code.@joat
– Ghatak Sena
Jan 26 at 14:21
Of course it's working in terminal but my main issue is that it's not working with Python code.@joat
– Ghatak Sena
Jan 26 at 14:21
It's must be a permissions issue. 'import os;os.system("pactl set-sink-mute 3 1")' works if I run it in a terminal or in a script. When you run amixer, do you have to select the sound card before doing anything else?
– joat
Jan 26 at 23:10
It's must be a permissions issue. 'import os;os.system("pactl set-sink-mute 3 1")' works if I run it in a terminal or in a script. When you run amixer, do you have to select the sound card before doing anything else?
– joat
Jan 26 at 23:10
add a comment |
1 Answer
1
active
oldest
votes
Finally, I got a solution to my own problem which is shown below
import subprocess
proc = subprocess.Popen('/usr/bin/amixer sset Master 5%', shell=True, stdout=subprocess.PIPE)
proc.wait()
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1398700%2fhow-to-change-the-master-volume-in-pulseaudio-programmatically%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Finally, I got a solution to my own problem which is shown below
import subprocess
proc = subprocess.Popen('/usr/bin/amixer sset Master 5%', shell=True, stdout=subprocess.PIPE)
proc.wait()
add a comment |
Finally, I got a solution to my own problem which is shown below
import subprocess
proc = subprocess.Popen('/usr/bin/amixer sset Master 5%', shell=True, stdout=subprocess.PIPE)
proc.wait()
add a comment |
Finally, I got a solution to my own problem which is shown below
import subprocess
proc = subprocess.Popen('/usr/bin/amixer sset Master 5%', shell=True, stdout=subprocess.PIPE)
proc.wait()
Finally, I got a solution to my own problem which is shown below
import subprocess
proc = subprocess.Popen('/usr/bin/amixer sset Master 5%', shell=True, stdout=subprocess.PIPE)
proc.wait()
answered Jan 27 at 11:34
Ghatak SenaGhatak Sena
61
61
add a comment |
add a comment |
Thanks for contributing an answer to Super User!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1398700%2fhow-to-change-the-master-volume-in-pulseaudio-programmatically%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
The "unable to connect" error can mean: pulseaudio is not running or permissions issues exist. "pactl" may be more appropriate for controlling pulseaudio. Try determine what output you're trying to control by running: "pactl list sinks". Review the output of that command to determine the sink number. Then run something like "pactl set-sink-volue 3 +5%" (where "3" is the sink # on my machine for "Built-in Audio Analog Stereo"). One point to note: sink numbers can change across reboots, so it is worthwhile to research how to accomplish the same thing with sink names instead of sink numbers.
– joat
Jan 26 at 13:55
I have tried pactl also but getting same errors.@joat
– Ghatak Sena
Jan 26 at 13:57
Pulseaudio is running? Are you (or your script) running pactl/amixer as the logged in user (not root)? That's about all that I can think of.
– joat
Jan 26 at 14:14
Of course it's working in terminal but my main issue is that it's not working with Python code.@joat
– Ghatak Sena
Jan 26 at 14:21
It's must be a permissions issue. 'import os;os.system("pactl set-sink-mute 3 1")' works if I run it in a terminal or in a script. When you run amixer, do you have to select the sound card before doing anything else?
– joat
Jan 26 at 23:10