關鍵看你的mp3播放器是什么了﹐java了調用mp3播放器

解决方案 »

  1.   

    比如用Windows Media Player:
    Runtime.getRuntime().exec("mplayer.exe music.mp3");
    或者用
    Runtime.getRuntime().exec("start music.mp3");说明:
        这并非是在Java中播放mp3。
      

  2.   

    要在Java中播放mp3, 要用到JMF 中的包。首先要下载 JMF。
    下面是《Java 2 大学教程》上的一个示例, 我不经修改就贴到这了,看一吧。
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import javax.swing.*;
    import javax.media.*;   //这个包就是来自JMF public class MediaPlayerDemo extends JFrame {
       private Player player;
       private File file;   public MediaPlayerDemo()
       {
          super( "Demonstrating the Java Media Player" );      JButton openFile = new JButton( "Open file to play" );
          openFile.addActionListener(
             new ActionListener() {
                public void actionPerformed( ActionEvent e )
                {
                   openFile();
                   createPlayer();
                }
             }
          );
          getContentPane().add( openFile, BorderLayout.NORTH );
      
          setSize( 300, 300 );
          show();
       }   private void openFile()
       {      
          JFileChooser fileChooser = new JFileChooser();      fileChooser.setFileSelectionMode(
             JFileChooser.FILES_ONLY );
          int result = fileChooser.showOpenDialog( this );      // user clicked Cancel button on dialog
          if ( result == JFileChooser.CANCEL_OPTION )
             file = null;
          else
             file = fileChooser.getSelectedFile();
       }   private void createPlayer()
       {
          if ( file == null )
             return;      removePreviousPlayer();      try {
             // create a new player and add listener
             player = Manager.createPlayer( file.toURL() );
             player.addControllerListener( new EventHandler() );
             player.start();  // start player
          }
          catch ( Exception e ){
             JOptionPane.showMessageDialog( this,
                "Invalid file or location", "Error loading file",
                JOptionPane.ERROR_MESSAGE );
          }
       }   private void removePreviousPlayer()
       {
          if ( player == null )
             return;      player.close();      Component visual = player.getVisualComponent();
          Component control = player.getControlPanelComponent();      Container c = getContentPane();
         
          if ( visual != null ) 
             c.remove( visual );      if ( control != null ) 
             c.remove( control );
       }   public static void main(String args[])
       {
          MediaPlayerDemo app = new MediaPlayerDemo();      app.addWindowListener(
             new WindowAdapter() {
                public void windowClosing( WindowEvent e )
                {
                   System.exit(0);
                }
             }
          );
       }   // inner class to handler events from media player
       private class EventHandler implements ControllerListener {
          public void controllerUpdate( ControllerEvent e ) {
             if ( e instanceof RealizeCompleteEvent ) {
                Container c = getContentPane();
             
                // load Visual and Control components if they exist
                Component visualComponent =
                   player.getVisualComponent();            if ( visualComponent != null )
                   c.add( visualComponent, BorderLayout.CENTER );            Component controlsComponent =
                   player.getControlPanelComponent();            if ( controlsComponent != null )
                   c.add( controlsComponent, BorderLayout.SOUTH );            c.doLayout();
             }
          }
       }
    }
      

  3.   

    即不結帖﹐也沒有任何回饋﹐什么人?白白浪費大家的時間?
    本來多少分對許多人無所謂?可你起碼應尊重其它人的勞動﹐吱會一聲也好啊﹗建議版主對常這么于的人刪ID,現在回JAVA版里問的有水平的貼子越來越少﹐回答有水平的貼子也越來越少﹐跟這些人大有關系!
    至少應有一個黑名單的功能﹐對這些人我可以加入黑名單﹐以后不再回它們的貼