【问题标题】:How to play an mp3 file in java如何在java中播放mp3文件
【发布时间】:2013-05-28 00:42:14
【问题描述】:

我正在尝试用 java 播放一首歌曲(mp3 文件)。我已经四处寻找了几个小时,但我发现没有一种方法能正常工作。

public void play()
{
    String song = "song.mp3";
    Media track = new Media(song);
    MediaPlayer mediaPlayer = new MediaPlayer(track);
    mediaPlayer.play();
}

我尝试过这样做,但它给了我错误。

我已经导入了JMFJLayer

我还在这个论坛上阅读了其他类似的问题,但没有一个对我有帮助。

我只需要一只手来帮助播放一个 mp3 文件。

【问题讨论】:

标签: java audio mp3


【解决方案1】:

为此,您需要在您的 PC 中安装 Java Media Framework (JMF)。你已经安装了它,然后试试这段代码:

import javax.media.*;
import java.net.*;
import java.io.*;
import java.util.*;
class AudioPlay
{
 public static void main(String args[]) throws Exception
 {


 // Take the path of the audio file from command line
 File f=new File("song.mp3");


 // Create a Player object that realizes the audio
 final Player p=Manager.createRealizedPlayer(f.toURI().toURL());


  // Start the music
  p.start();


  // Create a Scanner object for taking input from cmd
  Scanner s=new Scanner(System.in);


  // Read a line and store it in st
  String st=s.nextLine();


   // If user types 's', stop the audio
   if(st.equals("s"))
   {
   p.stop();
   }
 }
}

您可能会遇到无法处理格式错误,这是因为Java默认取消了对MP3的支持(盗版问题),您需要安装“JMF MP3插件”才能播放MP3文件。

去 Java 的 JMF 网站下载 http://java.sun.com/javase/technologies/desktop/media/jmf/mp3/download.html

为确保您使用的是受支持的格式文件,请在此处查看:

http://www.oracle.com/technetwork/java/javase/formats-138492.html

如果您使用的是 windows7,您可能还需要阅读以下内容:

https://forums.oracle.com/forums/thread.jspa?threadID=2132405&tstart=45

【讨论】:

  • 我试过了,它说无法处理格式然后内存不足
  • @user2413200 我已经更新了发生错误的解决方案。
  • 好吧,我添加了 mp3plugin.jar,但它没有做任何事情
  • 我明白了:无法处理格式:mpeglayer3, 44100.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 6000.0 frame rate, FrameSize=32768 bits 无法实现:com.sun.media。 PlaybackEngine@292740 错误:无法实现 com.sun.media.PlaybackEngine@292740
  • @user2413200 检查格式是否在此处列出:oracle.com/technetwork/java/javase/formats-138492.html
【解决方案2】:

我发现最简单的方法是从http://www.javazoom.net/javalayer/sources.html下载JLayer jar文件并将其添加到Jar库http://www.wikihow.com/Add-JARs-to-Project-Build-Paths-in-Eclipse-%28Java%29

这是类的代码

public class SimplePlayer {

public SimplePlayer(){

    try{

    FileInputStream fis = new FileInputStream("File location.");
    Player playMP3 = new Player(fis);

    playMP3.play();

    }catch(Exception e){System.out.println(e);}
}

}

这里是导入

import javazoom.jl.player.*;
import java.io.FileInputStream;

【讨论】:

    【解决方案3】:

    JavaFX 应用程序怎么样-

    import java.net.URL;
    import javafx.application.Application;
    import javafx.scene.media.Media;
    import javafx.scene.media.MediaPlayer;
    import javafx.stage.Stage;
    
    public class VLC extends Application {
        void playMedia() {
            String mp3 = "00- Tu Hi Mera.mp3";
            URL resource = getClass().getResource(mp3);
            System.out.println(resource.toString());
            Media media = new Media(resource.toString());
            MediaPlayer mediaPlayer = new MediaPlayer(media);
            mediaPlayer.play();
        }
        public static void main(String args[]) {
            new VLC().playMedia();
        }
        @Override
        public void start(Stage stage) throws Exception {
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2012-04-11
      • 2015-06-06
      • 1970-01-01
      • 2012-08-30
      • 2012-04-11
      • 2010-09-30
      • 2021-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多