如下面代码,运行后即可播放:
import java.io.File;
import javax.sound.midi.MidiSystem;
import javax.sound.midi.Sequence;
import javax.sound.midi.Sequencer;
public class PlayMidi
{
private static File sound;
private static Sequence seq;
private static Sequencer midi;
public static void Play(String filename)
{
try
{
sound = new File(filename);
seq = MidiSystem.getSequence(sound);
midi= MidiSystem.getSequencer();
midi.open();
midi.setSequence(seq);
if(!midi.isRunning())
midi.start();
} catch (Exception ex) {
}
}
public static void Stop()
{
if(midi.isRunning())
midi.stop();
if(midi.isOpen())
midi.close();
}
public static void main(String[] args)
{
PlayMidi.Play("D:\\tianhou.mid");
long time = midi.getMicrosecondLength()/1000;
try
{
Thread.sleep(time);
} catch (InterruptedException e) {
e.printStackTrace();
}
PlayMidi.Stop();
}
}
分享到:
相关推荐
本文将详细解析一个简单的Java应用程序,该程序能够加载并播放MIDI文件。 #### 二、关键类与接口简介 在解析代码之前,先了解几个重要的Java类和接口: 1. **`javax.sound.midi.Sequence`**:表示MIDI序列。 2. **...
本教程将深入探讨如何在Android中解析MIDI文件,通过Java编程语言实现。 首先,我们需要了解MIDI文件的基本结构。MIDI文件由一系列事件组成,包括音符开始、音符结束、控制器变化等。这些事件被组织在称为“轨道”...
这段代码中,`getSequencer()`方法获取一个默认的`Sequencer`实例,`open()`方法打开它,`getSequence()`方法读取MIDI文件,`setSequence()`方法设置要播放的序列,最后`start()`方法启动播放。 MIDI系统还支持合成...
这款播放器利用了Java 5中的MIDI API来实现对MIDI文件的解析和播放功能。MIDI是一种数字音乐标准,它允许不同设备之间交换音乐数据,而不仅仅是播放音频,还包括乐谱、演奏控制等信息。 Java MIDI API是Java平台...
综上所述,播放MIDI音频源程序涉及对MIDI文件的理解、选择合适的库或API、与MIDI设备的交互以及音序器的实现。通过深入学习和实践,开发者可以创建出功能丰富的音乐应用,满足从简单播放到复杂音乐创作的各种需求。
在Java中,MIDI API包含在`javax.sound.midi`包中,提供了一系列类和接口,用于读取、写入MIDI文件,发送MIDI消息,以及合成和回放MIDI音乐。 在提供的压缩包中,有两个关键的源代码文件: 1. **MidiSynth.java**...
MIDI(Musical Instrument Digital Interface)文件是一种广泛用于电子音乐和数字音频的格式,它以...通过封装成Java应用,我们可以创建工具来分析、显示和可能播放MIDI文件,这对于音乐创作、教育或分析都极具价值。
在上述示例中,当所有MIDI文件播放完或者程序结束时,我们调用`sequencer.close()`来释放MIDI设备,确保不会占用过多内存。 在实际应用中,可能还需要考虑其他因素,比如错误处理、线程同步、用户交互等。另外,...
在Java中,可以使用`javax.sound.midi`包来播放MIDI文件。该包提供了处理MIDI数据的各种类和接口,包括播放、录制、编辑和合成等功能。 **代码示例:** ```java import javax.sound.midi.Sequence; import javax....
Java 播放音频文件是Java编程中一个实用的功能,特别是在开发多媒体应用或者游戏时。在Java中,我们可以使用多种库来实现音频播放,而jar包通常包含了这些库的实现。下面将详细介绍如何在Java中播放音频文件以及相关...
这个程序示例主要讲解了如何在Java中创建一个MIDI文件,对于理解和操作MIDI数据流非常有帮助。 首先,我们要了解Java中的MIDI API,它是Java Sound的一部分,位于`javax.sound.midi`包中。这个API提供了各种类和...
描述中提到,“这是一个简单的midi源代码,主要用于打开midi文件,播放此程序”,这意味着这个程序实现了读取MIDI文件并将其转化为可听的音频输出的功能。对于初学者而言,通过阅读和理解这样的源代码,可以了解如何...
开发MID播放器时,我们需要通过Java Sound API来读取和播放MIDI文件。 2. **MidiSystem类**:是Java Sound API中的核心类之一,用于与MIDI设备交互。我们可以通过MidiSystem的getSequence()方法加载MIDI文件,然后...
在这个过程中,我们需要理解MIDI文件的结构,以及如何将其转换为自定义View的组件来实现播放和滚动功能。 首先,MIDI文件由一系列的事件组成,这些事件包括音符开始、音符结束、控制变化、程序变更等。每个事件都有...
简要介绍了MIDI的基本原理,包括MIDI线协议和标准MIDI文件。 ##### Java Sound API中的MIDI Java Sound API提供了处理MIDI数据的能力,包括MIDI消息的发送和接收等。 通过以上内容可以看出,Java Sound API为...
通过`javamidihandling`项目,开发者可以学习如何利用Java的强大功能来处理MIDI文件,从而在应用程序中集成音乐播放和创作功能。这不仅有助于理解MIDI格式,还可以提升Java编程技巧。在实际应用中,这些知识可以用于...
为了播放MIDI文件,我们需要一个MIDI合成器,它可以是硬件设备,也可以是软件模拟器。在大多数现代计算机上,操作系统通常内置了软synth(软件合成器),例如Windows的Microsoft GS Wavetable Synth或MacOS的Core ...
1. 播放.mid 音频文件:通过 Java 编程,播放 MIDI 声音文件时,先从文件中得到 sequence,生成音序器(sequencer),通过 open()打开设备,把音序 sequence 通过 setSequence()装载到sequencer。将 sequence 转化为...
阅读器一个简单的零依赖 Java 库,用于从 Midi 文件读取事件。 MidiReader 类创建一个迭代器,它一次读取 Midi 文件中的所有轨道(对于同步多轨道文件)。 它将 Midi 事件混合成单个序列,以便按时间顺序检索事件。 ...
开发者可以利用这些功能在Android应用中实现MIDI文件的可视化,比如创建一个能够浏览和播放MIDI文件的乐谱阅读器。学习此项目需要掌握MIDI文件格式、音乐理论以及图像处理技术。 4. **USB-MIDI-Driver**: 这个...