Java中停止音乐播放的正确方法是什么?有哪些常见实现方式?
- 后端开发
- 2025-09-13
- 7
在Java中停止音乐的方法有多种,具体取决于你是使用哪种方式来播放音乐,以下是一些常见的方法和步骤:
使用Java的javax.sound.sampled包
Java的javax.sound.sampled包提供了播放和停止音频的基本功能,以下是一个简单的示例:
1 准备音频文件
确保你有可用的音频文件,例如.wav或.mp3。

2 创建Clip对象
使用AudioSystem的getClip方法来获取Clip对象。
import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.UnsupportedAudioFileException; import java.io.File; import java.io.IOException; public class MusicPlayer { public static void main(String[] args) { try { File musicPath = new File("path/to/your/music/file.wav"); Clip clip = AudioSystem.getClip(); clip.open(AudioSystem.getAudioInputStream(musicPath)); clip.start(); // 开始播放 Thread.sleep(10000); // 播放10秒 clip.stop(); // 停止播放 } catch (UnsupportedAudioFileException | IOException | LineUnavailableException | InterruptedException e) { e.printStackTrace(); } } }
使用Java的javax.sound.midi包
如果你使用的是MIDI文件,你可以使用javax.sound.midi包来播放和停止音乐。
1 准备MIDI文件
确保你有可用的MIDI文件,例如.mid。

2 创建Sequencer对象
使用MidiSystem的getSequencer方法来获取Sequencer对象。
import javax.sound.midi.MidiSystem; import javax.sound.midi.Sequencer; import javax.sound.midi.MidiUnavailableException; import javax.sound.midi.Sequencer; import javax.sound.midi.Track; import javax.sound.midi.MidiChannel; import javax.sound.midi.ShortMessage; import java.io.IOException; public class MidiMusicPlayer { public static void main(String[] args) { try { Sequencer sequencer = MidiSystem.getSequencer(); sequencer.open(); Sequence sequence = sequencer.getSequence(); Track track = sequence.getTracks()[0]; sequencer.setSequence(sequence); sequencer.start(); // 开始播放 Thread.sleep(10000); // 播放10秒 sequencer.stop(); // 停止播放 } catch (MidiUnavailableException | IOException | InterruptedException e) { e.printStackTrace(); } } }
使用第三方库
除了Java自带的API,你还可以使用第三方库来播放和停止音乐,例如JPlayer或BeepBox。
1 使用JPlayer
JPlayer是一个基于Java的音频播放器库。

import org.jplayer.JPlayer; import org.jplayer.JPlayerException; public class JPlayerMusicPlayer { public static void main(String[] args) { try { JPlayer player = new JPlayer("path/to/your/music/file.mp3"); player.play(); // 开始播放 Thread.sleep(10000); // 播放10秒 player.stop(); // 停止播放 } catch (JPlayerException | InterruptedException e) { e.printStackTrace(); } } }
使用表格归纳
下面是一个表格,归纳了上述方法的关键点:
| 方法 | 描述 | 优点 | 缺点 |
|---|---|---|---|
| javax.sound.sampled | 使用Java自带的API播放和停止音频 | 易于使用,无需额外依赖 | 支持的音频格式有限 |
| javax.sound.midi | 使用Java自带的API播放和停止MIDI音乐 | 易于使用,无需额外依赖 | 只支持MIDI格式 |
| 第三方库 | 使用如JPlayer等第三方库播放音乐 | 支持更多格式,功能丰富 | 需要额外依赖 |
FAQs
Q1: 如何在Java中播放和停止音频?
A1: 你可以使用Java的javax.sound.sampled包来播放和停止音频,你需要创建一个Clip对象,然后使用AudioSystem.getClip()方法获取它,之后,你可以使用clip.open()方法打开音频文件,clip.start()开始播放,clip.stop()停止播放。
Q2: 如何在Java中播放和停止MIDI音乐?
A2: 你可以使用Java的javax.sound.midi包来播放和停止MIDI音乐,你需要创建一个Sequencer对象,然后使用MidiSystem.getSequencer()方法获取它,之后,你可以使用sequencer.setSequence(sequence)来设置序列,sequencer.start()开始播放,sequencer.stop()停止播放。