【问题标题】:Sound the bell with sound card present在有声卡的情况下敲钟
【发布时间】:2012-07-07 05:10:47
【问题描述】:

在安装了声卡的情况下,是否可以从 Ubuntu 10.04 Linux 中的 C/C++ 发出内置铃声(真的是蜂鸣器)?如果有,怎么做?

目标当然是在声卡出现问题时发出声音。在所有可能的世界中最好的情况下,我的代码可以“说”“音响系统坏了”的备用扬声器。

如果蜂鸣器 (AST200Q) 可以发出更多的声音,那么我将如何让 Alsa 向它发送声音?

谢谢。

【问题讨论】:

  • 我会为此目的使用系统日志记录(syslog 在用户空间中,printk 在内核模块中)。
  • 这旨在向无法访问操作系统的守望者或服务技术人员发出警报。
  • @Rob 我阅读了引用的文章。你是对的,这是一个骗局。也就是说,ioctl 示例不起作用。它从我的扬声器中给了我一个“滴水”。现在,如果您将您的评论作为答案发表,我会将其标记为“最佳答案”

标签: c++ c linux audio


【解决方案1】:

您可以在 ascii 中发出音频/警报字符...示例 cout << "\a"
这将使通常用于后期测试的蜂鸣器发声。

【讨论】:

  • 这给了我没有铃声和扬声器声音。在历史堆栈底部的命令提示符处按下向下箭头,尝试一些我知道的禁忌,让我“滴”出我的扬声器,但“\a”没有声音。
  • @WesMiller:尝试循环发送大约 1000 次。
  • 好吧,首先将代码放在正确的位置以使其工作。然后多试几次。仍然没有工作。我从扬声器中得到一个“滴水”。想知道我的铃是否真的连接了。
  • 迭代次数越多,扬声器声音越长。但是,Rob 的链接可能是您想要的。
  • 您可能必须在循环迭代之间休眠以及刷新输出。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-10
  • 2012-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-24
  • 1970-01-01
相关资源
最近更新 更多