概要 这是一个 golang ALSA 客户端实现,没有 cgo! 不幸的是,在没有 cgo 的情况下执行此操作意味着丢弃已投入 libalsa 的多年兼容性工作。 所以请注意,这个库不太可能与许多更丰富多彩的声卡一起工作,并且不太可能在 x86_64 以外的平台上工作。 (不过,有人在 ARM 上做了一些很好的工作。谢谢!) 但不要害怕! Go很有趣,我尝试将库放在简单的一面,因此增加对音频卡需求的支持实际上可能只是编程的一个美好下午。 对我来说最困难的部分只是试图理解所有 alsa 术语。 对于合成播放的简单示例,beep 命令将在每个检测到的 ALSA 输出上产生几秒钟的正弦波: go get github.com/yobert/alsa/cmd/beep $GOPATH/beep 并从麦克风录制到 WAV 文件: go get github.com/yobert/als