【发布时间】:2014-03-09 04:23:33
【问题描述】:
我在 while(1) 循环中以每秒 1 帧的速率从相机捕获帧。
当while(1) 循环内满足特定条件时,我想每次在我的 C 程序中生成持续时间为 100 毫秒的哔声。
我尝试使用aplay shell 命令播放单音 .wav 文件,但它会降低程序的速度。
有没有更省时的替代方法?
有没有办法使用 C/C++ 程序产生系统声音(例如,当我们在终端中按右箭头键时播放的声音)?
已编辑: 我可以使用两种方法通过内部 pc 扬声器发出哔声:
方法一:通过开启pcspeaker使用beep命令:
sudo modprobe pcspkr
sudo beep
方法二:使用命令:xkbbell -force
但除了aplay 和paplay 命令之外,我没有找到任何解决方案。当我尝试使用这些命令播放声音文件时,播放声音文件并在 shell 中将控制权返回给用户后会有一些延迟。
【问题讨论】:
-
你有硬件
PC speaker吗?如果没有,你需要模仿它 -
答案 print("\a");作品。它在 Windows 上模拟 PC 扬声器,在 Linux 上肯定会做同样的事情(虽然没有确认)
-
我正在使用外部扬声器。此外, printf("\a") 不起作用。
标签: c++ c linux beep system-sounds