小时候,我玩过一款名为Electro Body 的DOS 游戏。
游戏做了一些惊人的事情 - 它通过 PC 扬声器播放 PCM 样本。不是蹩脚的方形哔哔声 - 它播放了真正的音效!
与 PC 扬声器发出的通常发出的哔哔声相比,它非常安静,但这是一种全新的音质。在那场比赛之前或之后,我从未听说过这样的事情。
我想知道 - 除了 beep 命令发出的“哔哔声”之外,GNU/Linux 是否有办法通过 PC 扬声器播放任意 PCM 声音流?我可以通过它播放 WAV 或 Ogg 文件吗?
除了制造一些复杂的噪音会很酷这一事实之外,人们可能会将其用作模拟电压控制输出 - 无论是疯狂的 DIY 项目。
小智 8
我没有一个系统来测试它,但似乎 ALSA 可以提供输出到 PC 扬声器的映射。仅供参考,有很多页面说这是一个坏主意,因为驱动程序旨在作为“玩具”而不是一般用途(它会消耗大量 CPU 周期),但是也就是说,这应该有效:
# Load the PC speaker driver
sudo modprobe snd-pcsp
# Reload ALSA to find the new driver
sudo alsa force-reload
# You should now see pcsp (pcspeaker) as an ALSA output option
sudo aplay -l
Run Code Online (Sandbox Code Playgroud)
选择声卡作为您的输出,玩得开心!
资料来源:
http://wiki.archlinux.org/index.php/PC_speaker#ALSA
http://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture#Set_the_default_sound_card