Java选择音频设备并播放.mp3

2024-03-09

我的电脑有 3 个声卡。我可以使用此代码选择并播放 .wav 文件

import javax.sound.sampled.*

AudioInputStream audioIn = AudioSystem.getAudioInputStream(url);

Mixer.Info[] arrMixerInfo = AudioSystem.getMixerInfo();

// Get a sound clip resource.
Clip clip = AudioSystem.getClip(arrMixerInfo[1]);

// Open audio clip and load samples from the audio input stream.
clip.open(audioIn);
clip.start();
clip.drain();
clip.close();

如何播放 .mp3 文件?


在 Linux 上,您可以使用 mpg123 命令在不同的声卡上播放 mp3。

public class SoundTest {
    public static void main(String[] args) {
    //play mp3
        try {
         //my first soundcard is CA0106 with id: CARD=CA0106
            java.lang.Process p1 = Runtime.getRuntime().exec(new String[]{"mpg123", "-asysdefault:CARD=CA0106", "audio/1.mp3"});
         //my second soundcard is CARD=Intel (internal motherboard souncard)
            java.lang.Process p2 = Runtime.getRuntime().exec(new String[]{"mpg123", "-asysdefault:CARD=Intel", "audio/2.mp3"});
        } catch (Exception e) {
            e.printStackTrace();
        }
    //play wav
        try {
        java.lang.Process p3 = Runtime.getRuntime().exec(new String[]{"aplay", "audio/audio1.wav", "-Dsysdefault:CARD=Intel"});
        java.lang.Process p4 = Runtime.getRuntime().exec(new String[]{"aplay", "audio/audio2.wav", "-Dsysdefault:CARD=CA0106"});
     } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

您可以通过命令获取声卡 IDaplay -L这不是 Java 方式,但对我的任务很有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java选择音频设备并播放.mp3 的相关文章

随机推荐