Java jlayer MP3 플레이어의 사용 코드를 요청하세요
사실 숙제는 직접 작성하는 것이 더 좋습니다. JMF 패키지를 사용하려면 인터넷에서 JMF 패키지를 다운로드하고 지침에 따라 설치하세요.
다음은 제가 작성한 매우 간단한 플레이어로 mp3, mpeg, mpg, wav 및 기타 간단한 형식만 재생할 수 있습니다.
java.awt.* 가져오기
java.awt.event.ActionEvent 가져오기
java.awt.event.ActionListener 가져오기;
java.awt.event.WindowAdapter 가져오기
java.awt.event.WindowEvent 가져오기
javax.media.ControllerEvent 가져오기; javax.media.ControllerListener;
javax.media.MediaLocator 가져오기
javax.media.RealizeCompleteEvent 가져오기
javax.media.bean.playerbean 가져오기; MediaPlayer;
javax.swing.JPanel 가져오기
javax.swing.JFrame 가져오기
javax.swing.SwingUtilities; >javax.swing.JList 가져오기
java.awt.BorderLayout 가져오기
javax.swing.JSplitPane 가져오기
java.awt.Component;
java.util.Vector 가져오기;
공용 클래스 JMF_T는 JFrame을 구현하여 ControllerListener, ActionListener {
MediaPlayer Player를 확장합니다. filename = "";
private static final long serialVersionUID = 1L
private Vector vct = new Vector(); // @jve: decl-index=0:
비공개 JPanel jContentPane = null;
비공개 JSplitPane jSplitPane = null;
비공개 JPanel playPanel = null
비공개 JList jList = null; /p>
private JSplitPane getJSplitPane() {
if (jSplitPane == null) {
jSplitPane = new JSplitPane()
jSplitPane. setDividerSize(5);
jSplitPane.setResizeWeight(0.8)
jSplitPane.setRightComponent(getJList());
jSplitPane.setLeftComponent(getPlayPanel());
}
return jSplitPane;
}
private JPanel getPlayPanel() { p>
p>
if (playPanel == null) {
playPanel = new JPanel()
playPanel.setLayout(new BorderLayout())
}
return playPanel;
}
private JList getJList() {
if (jList == null) {
p>
jList = new JList();
jList.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event .MouseEvent e) {
// TODO 자동 생성 이벤트 스텁 mouseClicked()
if (e.getClickCount() == 1 ) {
String str = (String) jList.getSelectedValue()
if (str == null) {
return; p>}
파일 이름 = str;
System.out.println(str)
}
if (e.getClickCount () == 2) {
String str = (String) jList.getSelectedValue()
if (str == null) {
return;
}
p>
파일 이름 = str;
play()
}
}
});
}
jList 반환
}
public static void main(String [] args) {
SwingUtilities.invokeLater (new Runnable() {
public void run() {
JMF_T thisClass = new JMF_T();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
thisClass.setVisible(true)
}
}); >
}
public JMF_T( ) {
initialize()
}
private void OpenFile() { < /피><피>
FileDialog fd = new FileDialog(this, "비디오 선택", FileDialog.LOAD)
fd.setVisible(true)
filename = fd.getDirectory() fd.getFile( );
System.out.println(파일 이름);
if (filename.equals("")) {
return; p>} else if (filename.equals("nullnull")) {
return;
}
boolean j = false; p>for (int i = 0; i lt; vct.size(); i ) {
if (vct.get(i).toString().equals(filename)) {
j = true;
break;
}
}
if (j == false) p>
p>
vct.add(파일 이름)
jList.setListData(vct)
}
}
private void stop() {
if (Player != null) {
Player.stop()
Player.deallocate() ;
}
}
private void play() {
try {
if (filename. 같음("") ) {
return;
}
if (Player == null) {
Player = 새 MediaPlayer ();
p>
} else {
closePreviosPlayer()
}
Player.setMediaLocator(새 MediaLocator) ("file:///" 파일 이름) );
Player.addControllerListener(this)
Player.realize(); );
} catch (예외 e) {
}
}
public void actionPerformed(ActionEvent e) {
String action = e.getActionCommand ().toString();
if (action.equals("Open")) {
OpenFile(); >
}
if (action.equals("Play")) {
play()
}
if (action.equals("
중지")) {
stop();
}
if (action.equals("Exit")) {
dispose();
System.exit(0);
}
}
private void 초기화() {
this.setSize(500, 350);
setLocation(300, 100)
this.setContentPane(getJContentPane()); addWindowListener(새 WindowAda