有时软件需要发出声音来提醒用户,一般是使用Toolkit.getDefaultToolkit().beep(),但只会使音箱发声,没有音箱的PC仍然没有效果。
如果想要电脑主板上的喇叭发出声音可以使用jnative,它是开源的,windows和linux下都能用。
首先到sourceforge下载jnative.jar,放到工程lib目录下并Add to Build Path,就可以了。
附测试程序
public class Beep {
public static JNative getBeepJnative() throws NativeException {
return new JNative("kernel32.dll", "Beep");
}
public static void beep(JNative jn, int freq, int dwruration)
throws NativeException, IllegalAccessException {
jn.setRetVal(Type.VOID);
jn.setParameter(0, freq);
jn.setParameter(1, dwruration);
jn.invoke();
}
public static void main(String[] args) throws NativeException,
IllegalAccessException {
// 控制声音频率
int freqs[] = { 523, 587, 659, 698, 784, 880, 998, 1047, 998, 880, 784,
698, 659, 587, 523 };
JNative jn = Beep.getBeepJnative();
// 控制声音时长
int dwruration = 300;
for (int freq : freqs) {
Beep.beep(jn, freq, dwruration);
}
}
}
分享到:
相关推荐
在IT领域,特别是硬件驱动和低级编程方面,"pc喇叭发声程序设计"是一个经典的主题。这个主题涉及到了计算机硬件接口、I/O控制以及汇编语言编程。在本项目中,开发者利用8253定时器和8255可编程并行接口来实现PC喇叭...
【标题】"PC内置喇叭发声仿真计算器源码"是一个编程项目,主要目标是创建一个具有声音反馈功能的计算器模拟器。这个源码实现了一个计算器应用,不仅具备基本的计算功能,还能通过计算机内部的喇叭播放出不同的音调,...
在本文中,我们将深入探讨如何使用C#编程语言来控制个人计算机(PC)的喇叭发声。C#是一种广泛应用于Windows平台的面向对象的编程语言,它提供了丰富的功能,包括对系统级操作的支持,如播放声音。 首先,让我们...
75-喇叭发声原理(51单片机C语言实例Proteus仿真和代码)75-喇叭发声原理(51单片机C语言实例Proteus仿真和代码)75-喇叭发声原理(51单片机C语言实例Proteus仿真和代码)75-喇叭发声原理(51单片机C语言实例Proteus仿真和...
本文将深入探讨基于51单片机的喇叭发声原理程序,以及如何利用STC89C52单片机实现这一功能。 51单片机是Intel公司开发的8051系列的成员,它集成了CPU、内存和I/O接口等基本组件,具有高效能和低功耗的特点。STC89C...
理解单片机的内部结构和工作原理对于设计发声程序至关重要。 3. **PWM技术**:PWM是通过改变脉冲宽度来模拟不同电压水平的技术。在喇叭发声中,通过调整PWM的占空比,我们可以改变通过喇叭的平均电流,从而控制声音...
5. **调试与测试**:通过串口通信或其他方式将音频数据传输到单片机,然后观察喇叭是否能正常发声,调整程序以优化声音质量。 文件“喇叭发声原理.c”很可能是这个项目的源代码,包含了实现上述功能的函数和逻辑。...
本文将深入探讨如何利用汇编语言控制主板喇叭发声,主要涉及的知识点包括汇编语法、主板喇叭的工作原理以及蜂鸣器控制。 汇编语言是程序员与计算机硬件之间的一座桥梁,每条汇编指令对应一个或多个机器码。在"汇编...
自己编的,能控制机箱主板喇叭发声,可设定频率、响的时间等。 玩玩,呵呵~~
使用汇编控制PC机8253输出定时脉冲,通过喇叭发声的程序。与清华出版社的那本教材上的程序类似。
标题中的“dos下的蜂鸣器发声程序”是指在MS-DOS操作系统环境下,通过编写特定的程序来控制计算机的内置蜂鸣器发出声音。这个程序通常使用低级语言,如汇编语言,因为这类语言能够更直接地操作硬件资源。在这个案例...
本压缩包文件“75-喇叭发声原理.rar”显然着重于探讨喇叭的工作原理。下面我们将深入讨论喇叭发声的基本原理、构造以及影响声音质量的关键因素。 喇叭的发声原理基于电磁感应定律。当音频电流通过线圈(音圈)时,...
C#调用PC主板蜂鸣器小喇叭speaker发声beep。 不是拷贝XP的beep.sys实现,使用的是InpOut库,32位及64位均可使用。 我自己加了音符频率表,内附一首生日歌,类似于20年前DOS开发一样,使用蜂鸣器播放音乐,其它歌曲请...
其中一个片段 protected void Play(Note tune) { if (tune.NoteTone == Tone.REST) //当没有选择RadioButton按钮时 Thread.Sleep((int)tune.NoteDuration); //将当前线程挂起指定的时间 ...
下面我们将深入探讨如何使用Java编写这样的程序,以及涉及的关键技术和知识点。 首先,要实现定时关机功能,我们需要了解Java中的定时任务处理。Java提供了多种方式来创建定时任务,例如使用`java.util.Timer`类,`...
本文将深入探讨51单片机在实现喇叭发声原理的应用实例。喇叭发声,简单来说,是通过电流变化引起空气振动,进而产生声音的过程。在51单片机教程实例75中,我们将学习如何利用51单片机控制电路来产生音频信号,驱动...
虽然现代应用程序更多地依赖于DirectX、Windows Media Player控件或其他高级音频库,但对于基础教学和复古编程来说,了解如何利用VB和PC喇叭播放声音仍然是有价值的知识点。在学习这个主题时,开发者还需要了解声音...
以上是一个简单的C语言程序示例,用于控制单片机的定时器和PWM,使喇叭发声。实际应用中,可能还需要考虑更多细节,如防止频率过高导致的失真,或者添加音频编码解码功能以播放复杂的声音波形。 总结来说,掌握...
- 对于教学或学习目的,它也是一个很好的示例,展示了如何用Delphi编写低级硬件驱动程序的替代方法。 总结,这个“PC喇叭演奏音乐的控件”项目揭示了Delphi编程中的底层硬件交互和自定义控件开发技巧。通过研究...
在编写C语言程序时,我们需要以下步骤: 1. 初始化单片机的PWM模块:设置PWM的预分频器、比较寄存器值以及工作模式,以确保能产生所需频率的方波。 2. 计算目标频率:根据音乐理论,人类可听声频范围大致在20Hz到...