资源下载选择音频设备和播放.MP3 [英] Java select audio device and play .mp3
本文介绍了资源下载选择音频设备和播放.MP3的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的电脑有3声卡。我可以选择,然后使用这个code播放.wav文件
My PC has 3 sound cards. I can select and then play a .wav file using this code
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文件?
How can I play .mp3 file?
推荐答案
在Linux下,你可以使用mpg123的命令来播放mp3不同的声卡。
On Linux you can use mpg123 command to play mp3 on different soundcards.
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();
}
}
}
声卡的ID,您可以通过命令来获得 aplay -L
这不是一个Java的方式,但对我的工作非常有用。
Soundcard ids you can get via command aplay -L
It's not a Java way but was useful for my task.
这篇关于资源下载选择音频设备和播放.MP3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文