最近准备在Android下写一个节拍器,因为不熟悉Android开发的一系列东西,所以想着先用Java写一个节拍器再说。好歹,能把算法弄明白。在节拍器这个定时执行程序中,有两个最重要的类:Timer和TimerTask。
在讲解节拍器算法之前,我们来看一个定时程序的简单例子:
import java.util.Timer;
import java.util.TimerTask;
public class Test {
//因为我们要在静态方法main中创建对象
//所以要声明为static,静态的
static class MyTimerTask extends TimerTask
{
@Override
public void run() {
System.out.println("定时程序运行中……");
}
}
public static void main(String[] args)
{
Timer timer=new Timer();
//public void schedule(TimerTask task, long delay, long period)
//在延时delay毫秒后重复的执行task,周期是period毫秒
timer.schedule(new MyTimerTask(), 0, 1000);
}
}
我们可以看到控制台输出如下:
要用Java实现节拍器,其实只比上边的代码稍微复杂一点点。其中最核心的代码是一下两段:
//"开始"按钮的单击事件
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
//pp记录的当前拍是当前小节的第几拍
pp=1;
//获取拍速,如60代表每分钟60拍
tempo=Float.parseFloat(jTextField1.getText());
//获取拍数,如4代表4拍为一小节
section=Integer.parseInt(jTextField2.getText());
Timer mytimer=new Timer();
//根据用户输入的拍速计算TimerTask的频率
float tempFloat=60/tempo*1000;
System.out.print(String.valueOf(tempFloat));
mytimer.schedule(new MyTimerTask(),0, (long)tempFloat);
}
});
class MyTimerTask extends TimerTask{
@Override
public void run() {
//让jLabel这个控件显示当前节拍数
jLabel3.setText(String.valueOf(pp));
if(pp!=section) //如果还没满一小节则将当前节拍数PP加1
pp++;
else //如果满了一小节
pp=1;
}
}
完整的.java文件附在附件中。
- 大小: 3.9 KB
分享到:
相关推荐
压缩包中的文件名"节拍器&定时执行.java"可能包含了定时执行节拍器逻辑的代码,这可能涉及到上述提到的多线程或定时器技术。而"Android节拍器-定时·发声"可能是个Android项目的部分源码,包含了节拍器的定时功能和...
手机上安装的节拍器。java程序,速度40~228/min。
【Android节拍器&定时程序】是一个Android应用项目,它结合了节拍器和定时器的功能,对于音乐学习者、运动员或需要定时提醒的人群非常有用。该项目的源码提供了学习和自定义的基础,让我们深入了解一下这个应用的...
- 节拍器.exe:这是电子节拍器的可执行文件,用户双击即可运行。 - jb51.net.txt:可能包含软件的使用说明、版权信息或开发者联系方式。 - 去脚本之家看看.url:这是一个网址快捷方式,可能是推荐用户访问的资源...
在音乐制作和演奏中,节拍器扮演着至关重要的角色,尤其对于电子音乐制作人和乐手来说,精准的节奏掌控是作品质量的关键。"节拍器(非常好用)"这款电子节拍器软件,正是为了满足这一需求而设计的。它不仅提供了传统...
对于Java版本的节拍器,开发者可以利用Java的多线程机制,创建一个独立的线程负责定时触发节拍事件。同时,为了实现用户界面,可以使用Swing或JavaFX库来创建图形化界面,显示节拍速度和样式。 在Android平台上,...
电子节拍器是一种重要的音乐设备,它通过发出稳定、精确的节奏信号来帮助音乐家保持节奏。在现代科技的帮助下,我们可以使用电路设计软件,如Multisim,进行电子节拍器的模拟和仿真,以便理解和设计这样的系统。下面...
《电子节拍器Multisim仿真源文件解析与学习指南》 电子节拍器是音乐制作和学习中不可或缺的工具,它能为演奏者提供稳定、准确的节奏参考。在这个数字化时代,电子节拍器的设计与实现也逐渐转向了数字电路和虚拟仿真...
【压缩包子文件的文件名称列表】中的"节拍器简单版.EXE"是该程序的可执行文件,通常在Windows操作系统中运行。这个文件是用户安装和使用节拍器简单版的主要入口,包含了应用程序的所有代码和资源。 详细知识点: 1...
4. **Flash技术**:Flash是一种广泛应用于创建交互式动画、网页元素以及在线应用程序的技术,它使得这款节拍器能够在多种设备上运行,无需额外安装软件,只需浏览器支持即可使用。 5. **实用性与便利性**:与传统的...
节拍器,显示程序已调完成效果很好,欢迎新朋友参考。
在这个“微信小程序简单节拍器demo完整源码”中,我们可以深入学习如何利用微信小程序框架开发一个音乐相关的应用程序,特别是关于节拍器的功能实现。 1. **微信小程序框架**: 微信小程序使用一套基于WXML...
1. **节拍器.exe**:这是节拍器软件的可执行文件,双击即可启动程序。这个文件包含了所有实现节拍器功能的代码和资源,用户可以通过它来使用节拍器的各项功能,如设定不同的节拍速度、选择不同音效等。 2. **使用...
在现代音乐教育和演奏实践中,节拍器是一种极其重要的辅助工具。它可以提供稳定的节拍信号,帮助演奏者练习和保持节奏感。本文介绍了一款利用单片机AT89C51开发的电子节拍器,它具有多种实用功能,旨在为音乐爱好者...
在压缩包内的“音乐节拍器.exe”文件,很可能是这款节拍器软件的可执行程序。用户下载并运行此文件后,可以在电脑上体验到节拍器的各项功能,包括自定义参数设置,以便于在不同的音乐实践中找到最适合自己的节拍指导...
5. **线程与异步处理**:为了防止节拍器的音频播放阻塞主线程,开发者通常需要在后台线程执行节拍相关的计算和播放。可以使用`AsyncTask`或者`Handler`/`Looper`机制来实现。 6. **计时器与定时器**:节拍器需要...
节拍器,非常简洁实用。节拍器,非常简洁实用。节拍器,非常简洁实用。节拍器,非常简洁实用。
《基于AT89C51单片机的节拍器设计》 在现代音乐教育中,节拍器作为辅助工具,对于保持稳定的节奏至关重要。传统的机械摆动式节拍器存在诸多不足,如声音单一、调节困难、准确度不高等问题。针对这些问题,本文提出...