import java.awt.*;
import javax.swing.*;
public class TestFrame1 {
public static void main(String[] args) {
JFrame frame = new JFrame("Test Frame 1");
frame.setSize(200, 100);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
我需要一些帮助才能将音乐添加到jframe中。我一直在寻找一个好的教程,但似乎都没有。
即时通讯使用netbeans。这是我目前的代码。我只想暂时将音乐添加到帧中没有停止按钮。谢谢。
答案 0 :(得分:3)
尝试:
public static void playSong(URL media) {
Player mediaPlayer = Manager.createRealizedPlayer(media);
mediaPlayer.start()
}
所以你应该能够调用该方法并将URL传递给媒体,然后它应该播放(注意:我没有测试过这段代码)。
您需要的输入是:
import javax.media.Player;
import java.net.URL;
我记得,你需要将JMF .jar添加到你的项目中。 JMF(Java媒体框架)具有播放音乐和(我认为)视频等工具。
以下是来自IBM的非常广泛的教程:http://www.ibm.com/developerworks/java/tutorials/j-jmf/
在底部,它有关于安装JMF的说明,然后在下一页显示如何制作基本音频。
更多建议:
1)你需要添加mp3插件来播放来自JMF的mp3。将.jar文件中的插件添加到项目后,这是您要添加的代码(我是从内存中执行此操作,因此可能是错误的):
Format input1 = new AudioFormat(AudioFormat.MPEGLAYER3);
Format input2 = new AudioFormat(AudioFormat.MPEG);
Format output = new AudioFormat(AudioFormat.LINEAR);
PlugInManager.addPlugIn(
"com.sun.media.codec.audio.mp3.JavaDecoder",
new Format[]{input1, input2},
new Format[]{output},
PlugInManager.CODEC
);
2)我最后一次使用它时,oracle网站上的JMF下载链接被破坏了(它链接到了错误的页面),所以你可能需要搜索google上的链接。
答案 1 :(得分:2)
看看Accessing Audio System Resources。以下是可用的课程
Class Format
---------------------------------------------
AudioSystem WAV
Manager* MP3
MidiSystem Midi
javax.media.Manager需要Java Media Framework
最简单的选项是AudioSystem
或MidiSystem
,他们不需要额外的JAR文件。以下是javasound代码link
public class LoopSound {
public static void main(String[] args) throws Exception {
URL url = new URL(
"http://pscode.org/media/leftright.wav");
Clip clip = AudioSystem.getClip();
// getAudioInputStream() also accepts a File or InputStream
AudioInputStream ais = AudioSystem.getAudioInputStream( url );
clip.open(ais);
clip.loop(Clip.LOOP_CONTINUOUSLY);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// A GUI element to prevent the Clip's daemon Thread
// from terminating at the end of the main()
JOptionPane.showMessageDialog(null, "Close to exit!");
}
});
}
}
要将音频与JFrame集成,只需在应用程序启动时调用Clip#loop
即可。