我正在尝试使用我的编程脚本控制音量。如何在 Fedora 15、Ubuntu linux 中执行以下操作?
注意:请注意,我使用网络 USB 麦克风/扬声器和模拟麦克风/扬声器。我想向所有人申请以确保。
除了扬声器和普通麦克风之外,我还有一套不错的无线耳机,我不时使用。
我想编写一个脚本来在一个输入和输出源和另一个之间切换,本质上是在我的耳机和我的扬声器+麦克风之间切换。
我想在这之间改变:

...和这个:

有没有办法让我编写两个输入和输出之间的传输脚本?基本上我正在寻找这样的东西:
CURRENT_INPUT="$(get-current-input-name)"
CURRENT_OUTPUT="$(get-current-output-name)"
if [ "$CURRENT_INPUT" == "Vengeance 2000" ]; then
set-current-input "HD Pro Webcam C920"
else
set-current-input "Vengeance 2000"
fi
if ["$CURRENT_OUTPUT" == "Vengeance 2000" ]; then
set-current-output "Built-in Audio"
else
set-current-output "Vengeance 2000"
fi
Run Code Online (Sandbox Code Playgroud)
有没有办法编写这个脚本?
最近我一直在探索迷人的 /dev 文件夹。我想将一些随机数据写入音频设备以产生一些噪音。
我正在使用 ALSA。
所以我指示 cat 将一些随机数据通过管道传输到 /dev 文件夹中的播放文件...
cat file-of-random-data > /dev/snd/pcmC0D0p
Run Code Online (Sandbox Code Playgroud)
然后我收到了来自 cat 的似乎是错误的信息
cat: write error: File descriptor in bad state
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题,以便我可以从我的声卡中听到一些美妙的静态播放?
我正在关注Arch 初学者指南。
我正在运行 Arch。现在我正在处理安装后说明,其中的第一部分是取消扬声器的静音。这就是我的问题所在。
首先,我安装了 alsamixer
pacman -S alsa-utils
Run Code Online (Sandbox Code Playgroud)
那么这个
amixer sset Master unmute
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
amixer: Unable to find simple control 'Master',0
Run Code Online (Sandbox Code Playgroud)
我不知道如何继续。
编辑:
# cat/proc/asound/cards
0 [MID]: Hda-Intel - HDA Intel MID
HDA Intel MID at 0xf7e14000 irq 63
1 [PCH]: Hda-Intel - HDA Intel PCH
HDA Intel PCH at 0xf7e10000 irq 59
# amixer -c1 sset Master unmute
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87 …Run Code Online (Sandbox Code Playgroud) 我已经在互联网上寻找了一种干净的方法来将我的计算机的音频输出(即我从扬声器中听到的)重新路由到我的麦克风输入。
可能,我想在低级别执行此操作(例如使用 ALSA)。
我基本上在寻找相当于
pacmd move-sink-input #index #sink
Run Code Online (Sandbox Code Playgroud)
获取一些音频输入并将其通过管道传输到麦克风。
如果还不清楚,我的最终目标是,例如在 Youtube 上播放视频,让我的朋友通过 Skype 收听。我想要那种灵活性。
我正在阅读并试图理解为什么有人想要使用 Pulse Audio 而我却无法理解。我读了这个https://www.linux.com/news/hardware/drivers/8100-why-you-should-care-about-pulseaudio-and-how-to-start-doing-it,我还在没有得到令人信服的答案。我有一个设置,一个声卡。(我不需要从多个声卡或向多个声卡多路复用声音)。我知道所有应用程序都是用不同的 API、ALSA、OSS、JACK 等编写的。所以如果我配置所有这些框架来通过脉冲音频路由声音,我得到什么好处,而不是允许所有这些框架直接与声卡对话司机?此外,我没有看到 Pulse Audio 有自己的应用程序 API。所以无论如何我都需要选择一个框架(比如 ALSA)。谢谢
我想在 ALSA 中做一件最简单的事情:让 USB 耳机产生声音,而不是平板电脑的内置扬声器。我不想更改配置文件,例如asound.rcoralsa.conf或asound.conf并通过更改设备的顺序将耳机永久设置为默认输出设备,我想要一个临时效果,直到我拔掉耳机。奇怪的是,我无法用谷歌搜索答案。有alsamixer能力做到这一点(似乎没有)?
在 Gnome 中,您可以PulseAudio在 GUI 或 CLI 界面中使用 轻松选择当前输出设备,但PulseAudio它本身在 ALSA 之上工作!所以我也想知道,它是如何强制 ALSA 更改输出设备的?
我有一个板载声卡,还有一个连接的蓝牙耳机。我已经在/etc/asound.conf以下位置配置了蓝牙设备:
# cat /etc/asound.conf
pcm.bluetooth {
type bluetooth
device 12:34:56:78:9a:bc
profile "auto"
}
ctl.bluetooth {
type bluetooth
}
Run Code Online (Sandbox Code Playgroud)
默认情况下,板载卡用于所有声音(显然,默认板载卡甚至不需要在asound.conf中列出)
当我想让应用程序使用我的蓝牙 alsa 设备时,我必须指定它,例如:
mplayer -ao alsa:device=bluetooth file.mp3
Run Code Online (Sandbox Code Playgroud)
这对我来说很好。但是我需要一种方法来告诉我的浏览器也使用蓝牙 alsa 设备。
我找到了一种如何使用--alsa-output-device命令行选项启动 Chrome 的方法:
chromium --alsa-output-device=bluetooth
Run Code Online (Sandbox Code Playgroud)
我需要一种类似的方式来启动 Firefox,但我找不到任何方式。
如何告诉 Firefox 使用我的蓝牙 alsa 设备,而无需修改/etc/asound.conf或~/.asoundrc每次?
我遵循了@lgeorget 的建议,/etc/asound.conf现在看起来像这样:
pcm.!default {
type plug
slave.pcm {
@func getenv
vars [ ALSAPCM ]
default "hw:0,0"
}
}
pcm.bluetooth {
type bluetooth
device 12:34:56:78:9a:bc
profile "auto"
}
ctl.bluetooth …Run Code Online (Sandbox Code Playgroud) 我在终端中使用 arecord 命令得到了一些混合结果。我使用的硬件包括用于 Raspberry Pi 的 Cirrus 声卡。我正在尝试将 24 位 192kHz 声音(来自板载 MIC)录制到 WAV 文件中,然后(通过耳机)播放它。首先,我确保启用麦克风和耳机:
$ ./Record_from_DMIC.sh
$ ./Playback_to_Headset.sh
Run Code Online (Sandbox Code Playgroud)
然后我尝试了多个命令,结果喜忧参半。
$ arecord -f S24_LE -r 192 -d 20 test.wav
Recording WAVE 'test.wav' : Signed 24 bit Little Endian, Rate 192000 Hz, Mono
$ arecord: set_params:1087: Channels count non available
# So I set the number of channels to 1 (even though it is that, by default)
$ arecord -c 1 -f S24_LE -r 192 -d 20 test.wav
Recording WAVE 'test.wav' …Run Code Online (Sandbox Code Playgroud) I have a C-Media USB soundcard installed on my Raspberry Pi: Bus 001 Device 004: ID 0d8c:0008 C-Media Electronics, Inc.. It is a USB cable with an XLR end on the other side, to which I have an XLR Microphone (a Sennheiser MD 427 if anyone is interested) connected: 
Connecting it to my Mac I can turn up the recording volume (it says "settings for selected device" and "input volume" in german)
and I get a fairly ok recording …
alsa ×10
audio ×10
pulseaudio ×3
linux ×2
arch-linux ×1
browser ×1
command-line ×1
firefox ×1
recording ×1
ubuntu ×1
usb ×1