The Raspberry Pi has two audio output modes: HDMI and headphone jack. You can switch between these modes at any time.
If your HDMI monitor or TV has built-in speakers, the audio can be played over the HDMI cable, but you can switch it to a set of headphones or other speakers plugged into the headphone jack. If your display claims to have speakers, sound is output via HDMI by default; if not, it is output via the headphone jack. This may not be the desired output setup, or the auto-detection is inaccurate, in which case you can manually switch the output.
There are three ways of setting the audio output.
Right-clicking the volume icon on the desktop taskbar brings up the audio output selector; this allows you to select between the internal audio outputs. It also allows you to select any external audio devices, such as USB sound cards and Bluetooth audio devices. A green tick is shown against the currently selected audio output device — simply left-click the desired output in the pop-up menu to change this. The volume control and mute operate on the currently selected device.
The following command, entered in the command line, will switch the audio output to HDMI:
amixer cset numid=3 2
Here the output is being set to 2
, which is HDMI. Setting the output to 1
switches to analogue (headphone jack). The default setting is 0
which is automatic.
Open up raspi-config by entering the following into the command line:
sudo raspi-config
This will open the configuration screen:
Select Option 8 Advanced Options
and press Enter
, then select Option A6: Audio
and press Enter
:
Now you are presented with the two modes explained above as an alternative to the default Auto
option. Select a mode, press Enter
and press the right arrow key to exit the options list, then select Finish
to exit the configuration tool.
In some rare cases, it is necessary to edit config.txt
to force HDMI mode (as opposed to DVI mode, which does not send sound). You can do this by editing /boot/config.txt
and setting hdmi_drive=2
, then rebooting for the change to take effect.