JDK 1.0/1.1 僅支援 8kHz μ-law AU。Java 2 平台引入 Java Sound API 1.0,基於 Beatnik (原 Headspace) 高效能音頻引擎,實現:
javax.sound.sampled // 數字音頻子系統:捕獲、混音、播放、編碼轉換
javax.sound.midi // MIDI 子系統:合成、序列、事件傳輸
各子系統均包含:核心 API + 系統配置 SPI。

getControl(Class) 動態獲取AudioSystem 提供高層轉換 API
// 查詢/獲取設備
Mixer.Info[] mixers = AudioSystem.getMixerInfo();
TargetDataLine line = AudioSystem.getTargetDataLine(format); // 錄音線
SourceDataLine line = AudioSystem.getSourceDataLine(format); // 播放線
// 格式轉換
AudioInputStream converted = AudioSystem.getAudioInputStream(targetFormat, sourceStream);
// 文件讀寫
AudioFileFormat fileFormat = AudioSystem.getAudioFileFormat(file);
AudioInputStream stream = AudioSystem.getAudioInputStream(file);
AudioSystem.write(stream, AudioFileFormat.Type.WAVE, outFile);

Transmitter.setReceiver() 建立連接noteOn/noteOff/controlChange 等聲音控制
// 設備訪問
MidiDevice.Info[] infos = MidiSystem.getMidiDeviceInfo();
Synthesizer synth = MidiSystem.getSynthesizer();
Sequencer seq = MidiSystem.getSequencer();
// 文件/序列轉換
Sequence sequence = MidiSystem.getSequence(file);
MidiSystem.write(sequence, 1, outputFile); // Type 1 文件
// SoundBank 管理
SoundBank soundbank = MidiSystem.getSoundBank(file);
synth.loadAllInstruments(soundbank);

noteOn/noteOff| 應用領域 | 典型場景 |
|---|---|
| 通信框架 | VoIP、視訊會議、軟電話 |
| 內容發布 | 流媒體音樂、電台、動態音效生成 |
| 交互應用 | 遊戲聲音、Web 互動、教學軟體 |
| 工具集 | 音頻編輯器、譜寫軟體、格式轉換器 |