Amarok Wiki: How to change the audio output to.

How can I change where the audio is output to?

Using xine’s ALSA output pluggin, you can output to a specific device (or all devices).

Finding the names of your cards

Find out the name of your soundcards with the command:
cat /proc/asound/cards
In the example below, the first card (card 0) is called "Live" and the second card (card 1) called "Headset":
oliver@panda:~$ cat /proc/asound/cards
0 [Live ]: EMU10K1 - SBLive! Value [CT4832]
SBLive! Value [CT4832] (rev.8, serial:0x80271102) at 0xd000, irq 5
1 [Headset ]: USB-Audio - Logitech USB Headset
Logitech Logitech USB Headset at usb-0000:00:04.2-2, full speed

Using a specific soundcard: method 1

Enter the word "plughw:" and the name of your card in the box labelled "device used for stereo output:" in the xine-engine configuration tab. For example:
plughw:Headset

Alternatively, I had to use this entry to make my USB headphones work.

hw:Headset,0

Using a specific soundcard: method 2

Set up an ~/.asoundrc (user only) or /etc/asound.conf (system wide) file that aliases your hardware devices, and then insert that alias in the "device used for stereo output:" box in the xine-engine configuration tab. Alternatively, you can directly enter the alsa device (hw:0,0 or hw:1,0 and so on). If you choose this latter (alternate) method, be aware that ALSA’s corresponding plugfoo (e.g. plughw:0,0 or plughw:1,0 and so on) routing through alsa-lib is much preferred.
Here is a sample ~/.asoundrc for a machine that has an onboard Intel AC97 codec and a usb-audio device:
pcm.intel8x0 {
type plug
slave.pcm "hw:0"
}

ctl.intel8x0 {
type hw
card 0
}

pcm.usb-audio {
type plug
slave.pcm "hw:1"
}

ctl.usb-audio {
type hw
card 1
}

now enter "usb-audio" in the xine-engine setup screen and output should go to the usb-audio device (with alsa-lib properly handling sample rate conversion, channels, and so on).

Using all your soundcards at once

This example allows Amarok to play music through all your sound devices at the same time.

1. Copy the following text into the file ~/.asoundrc (change ‘Live’ and ‘Headset’ to the names of your sound devices – or you can just use the card numbers ‘0’ and ‘1’):
# This creates a 2-channel interleaved pcm stream based on
# two 2-channel slave devices.

pcm.both {
type route;
slave.pcm {
# create a virtual 4-channel device from two sound devices
type multi;
slaves.a.pcm "plughw:Live";
slaves.a.channels 2;
slaves.b.pcm "plughw:Headset";
slaves.b.channels 2;
bindings.0.slave a;
bindings.0.channel 0;
bindings.1.slave a;
bindings.1.channel 1;
bindings.2.slave b;
bindings.2.channel 0;
bindings.3.slave b;
bindings.3.channel 1;
}

# Map two channels of input to four channels of output
ttable.0.0 1;
ttable.1.1 1;
ttable.0.2 1;
ttable.1.3 1;
}

# Some programs will be unhappy if there is no mixer to talk to,
# so we set this to one of the cards.
# This could be any card (Headset or Live in this example).

ctl.both {
type hw;
card Headset;
}
2. Save the .asoundrc file and restart Amarok.
3. Edit the box labelled "device used for stereo output:" in the xine-engine configuration tab so it reads:
plug:both

Other tips

To use a dmixed virtual device, ensure that the "sound card can do mmap" checkbox is unchecked.

Image:Xine-config.jpg

Read: 924

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注