【问题标题】:Why do i get these exceptions while trying to play a mp3 file?为什么我在尝试播放 mp3 文件时会出现这些异常?
【发布时间】:2011-07-29 13:02:31
【问题描述】:

我下载了JMF MP3 Plugin 以在我的java 程序中播放mp3 文件。我将mp3plugin.jar 与JDK 一起包含在我的netbeans 项目库中。但我仍然无法播放 mp3 文件。 当我运行我的代码时,我得到以下异常:

Exception in thread "main" javax.sound.sampled.LineUnavailableException: line with format MPEG1L3 44100.0 Hz, unknown bits per sample, stereo, unknown frame size, unknown frame rate,  not supported.
at com.sun.media.sound.DirectAudioDevice$DirectDL.implOpen(DirectAudioDevice.java:541)
at com.sun.media.sound.DirectAudioDevice$DirectClip.implOpen(DirectAudioDevice.java:1341)
at com.sun.media.sound.AbstractDataLine.open(AbstractDataLine.java:124)
at com.sun.media.sound.DirectAudioDevice$DirectClip.open(DirectAudioDevice.java:1121)
at com.sun.media.sound.DirectAudioDevice$DirectClip.open(DirectAudioDevice.java:1211)
at mp3.MP3.main(MP3.java:25)
Java Result: 1

这是我为播放 MP3 文件而编写的代码

import javax.sound.sampled.*;
import java.io.*;

public class MP3 {
 static Thread th;

public static void main(String[] args) throws Exception {
     Clip clip = AudioSystem.getClip();
     AudioInputStream ais = AudioSystem.getAudioInputStream(new File("mysong.mp3"));
     clip.open(ais);
     clip.loop(0);
     long tf = (long)(clip.getFrameLength() * clip.getFormat().getFrameRate());           
     Thread.sleep( ( tf* 1000 ));          
}

}

为什么会出现这些异常?是不是代码有问题。

【问题讨论】:

    标签: java mp3 jmf javasound


    【解决方案1】:

    我建议您参考此链接作为示例。

    http://blogs.oracle.com/kashmir/entry/java_sound_api_2_mp3

    基本上 MP3 插件可以读取 MP3,但不能播放它们。为了播放它们,您必须在程序中将它们转换为可以实际播放的文件类型,例如 PCM。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-12
      相关资源
      最近更新 更多