所以问题是,
细节
我的 Linux 设备上有 4 个声音输入源。这是结果pactl list sources:
1 alsa_input.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
2 alsa_input.usb-Generic_Rmoncam_HD_720P_200901010001-02.analog-stereo module-alsa-card.c s16le 2ch 48000Hz SUSPENDED
3 alsa_input.usb-Generic_Rmoncam_HD_720P_200901010001-02.analog-stereo.2 module-alsa-card.c s16le 2ch 48000Hz SUSPENDED
5 alsa_output.pci-0000_00_1b.0.hdmi-stereo.monitor module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
Run Code Online (Sandbox Code Playgroud)
我尝试通过多种方式将源1 alsa_input.pci-0000_00_1b.0.analog-stereo设置为默认源:
1.更改/etc/pulse/client.conf,添加以下行:
default-sink = alsa_output.pci-0000_00_1b.0.hdmi-stereo
default-source = alsa_input.pci-0000_00_1b.0.analog-stereo
Run Code Online (Sandbox Code Playgroud)
2.更改/etc/pulse/default.pa,添加以下行:
### Make some devices default
set-default-source alsa_input.pci-0000_00_1b.0.analog-stereo
Run Code Online (Sandbox Code Playgroud)
配置完成后,我尝试pulseaudio -D重启设备,但配置没有生效。我不知道如何列出当前默认的源和接收器,所以我使用以下命令来验证:
$> pactl load-module module-loopback latency_msec=500
$> pactl list sources short | grep RUNNING
3 …Run Code Online (Sandbox Code Playgroud) 我有一些不同结构的数组,我需要通过相同的函数更改它们func foo(arr interface{})。
我以这种方式使用该功能foo(&arrayToChange)
然后我发现,我无法通过指针更改数组,这是一个简单的例子。
package main
import (
"fmt"
)
func A(out interface{}) {
arr := make([]interface{}, 0)
arr = append(arr, "foo", 2.2)
out = &arr
B(out)
}
func B(out interface{}) {
arr := make([]interface{}, 0)
arr = append(arr, "bar", "foo", "anything")
out = &arr
}
func main() {
arr := make([]interface{}, 0)
arr = append(arr, 1, 2, 3)
fmt.Printf("%T\n", &arr)
A(&arr)
fmt.Println(arr)
}
Run Code Online (Sandbox Code Playgroud)