手动驱动电脑内部扬声器

发布于 2024-11-10 05:27:48 字数 153 浏览 4 评论 0原文

有没有什么方法可以在任何语言(首选 C)下直接在 Windows/Linux 下连接 PC 内部扬声器? (无 DOS)我不想在给定的持续时间内以特定的频率驱动它(无蜂鸣声(frq,毫秒)),但我宁愿直接发送信号。

我想它是一位分辨率,所以我打算使用PWM驱动来播放波浪声音。

Is there any way, in any language (C preferred) to interface the PC internal speaker directly under Windows/Linux? (no DOS) I don't want to drive it at a specficic frequency for a given duration (no beep(frq, msecs)), but I'd rather send signals directly.

I suppose it's one bit resolution, so I plan using PWM driving to play wave sounds.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

后来的我们 2024-11-17 05:27:48

在 Linux 上,您可能想要制作一个内核驱动程序来驱动扬声器,并提供例如。用于访问它的 /dev 条目。

请注意,Linux 内核中已经有一个支持 PCM 的驱动程序,它作为 ALSA 驱动程序进行接口。看看:http://lxr.linux.no/linux+ v2.6.39/sound/drivers/pcsp/

实际的硬件接口似乎是在 pscp_input.c 中完成的:pcspkr_do_sound(...)

On Linux, you will probably want to make a kernel driver to drive the speaker, and provide eg. a /dev entry for accessing it.

Note that there is already a driver that supports PCM in the Linux kernel, that interfaces as an ALSA driver. Check it out: http://lxr.linux.no/linux+v2.6.39/sound/drivers/pcsp/

The actual hardware interfacing appears to be done in pscp_input.c: pcspkr_do_sound(...)

九命猫 2024-11-17 05:27:48

这是一个中断,您可以将其嵌入到任何允许在其代码中使用 ASM 的语言中。或者你可以用 pascal 编写一个小程序并调用它。
我不记得被打扰了,但快速搜索就能找到该信息。

It's an interruption, you can embeed that in any kind of languaje that allows ASM inside it's code. Or you can just write a small program in pascal and call it.
I don't remember the interruption but a fast search will get you that info.

世界如花海般美丽 2024-11-17 05:27:48

找到这个来自维基百科对电脑扬声器的参考

可能会有用:)

Found this off the wikipedia references for pc-speakers

might be useful :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文