我想開發一個使用java.I的MP3播放器嘗試了幾個代碼,它結束了太多的錯誤。所以請提供有關代碼的提示,也幫助我配置JMF?MP3播放器和JMF
回答
JMF本身不支持mp3,因爲mp3不是開源的。
如果你想播放mp3文件,你可以使用jlayer,mp3spi和tritonus庫來做到這一點。
如果您需要關於這些庫的更多信息,請告訴我。
請參閱下面的代碼。隨着三個庫被添加到構建路徑,此代碼爲我工作。希望這會幫助你
String mp3File = "path to mp3 file";
public void playMp3(String mp3File) {
AudioInputStream din = null;
AudioInputStream in = null;
try {
File file = new File(mp3File);
in = AudioSystem.getAudioInputStream(file);
AudioFormat baseFormat = in.getFormat();
AudioFormat decodedFormat = new AudioFormat(
AudioFormat.Encoding.PCM_SIGNED,
baseFormat.getSampleRate(), 16, baseFormat.getChannels(),
baseFormat.getChannels() * 2, baseFormat.getSampleRate(),
false);
din = AudioSystem.getAudioInputStream(decodedFormat, in);
DataLine.Info info = new DataLine.Info(SourceDataLine.class, decodedFormat);
line = (SourceDataLine) AudioSystem.getLine(info);
if (line != null) {
line.open(decodedFormat);
byte[] data = new byte[4096];
// Start
line.start();
int nBytesRead;
while ((nBytesRead = din.read(data, 0, data.length)) != -1) {
line.write(data, 0, nBytesRead);
if (flag) {
break;
}
}
line.drain();
line.stop();
line.close();
din.close();
}
} catch (UnsupportedAudioFileException uafe) {
JOptionPane.showMessageDialog(null, uafe.getMessage());
logger.error(uafe);
} catch (LineUnavailableException lue) {
JOptionPane.showMessageDialog(null, lue.getMessage());
logger.error(lue);
} catch (IOException ioe) {
JOptionPane.showMessageDialog(null, ioe.getMessage());
logger.error(ioe);
} finally {
if (din != null) {
try {
din.close();
} catch (IOException e) {
}
}
try {
in.close();
} catch (IOException ex) {
logger.error(ex);
}
}
}
如果可能,請提供更多信息.. –
*「JMF本身不支持mp3 ..」*這是'很明顯錯誤'。它標配了MP3 SPI,詳見Java聲音信息。頁面鏈接在我的第一條評論(上面)。 –
@Andrew Thompson同時在一個項目中分割mp3文件我從oracles站點找到了這個。所以我在這裏沒有看到任何錯誤。你可以在這裏查看http://www.oracle.com/technetwork/java/javase/formats-138492.html,這裏也有http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG -Desktop/html/sound.html。要在JMF中播放mp3,您需要單獨安裝mp3插件。 – pundit
- 1. JMF音樂播放器
- 2. JACO MP3播放器
- 3. 有沒有Flash播放器播放MP3
- 4. 流媒體播放器不播放MP3
- 5. 滾動播放的MP3播放器
- 6. JMF使用RTP播放器實現
- 7. 使用jmf播放視頻
- 8. JMF文件播放錯誤
- 9. J2ME MP3播放器 - 循環播放MP3文件
- 10. 用迷你MP3播放器循環播放MP3
- 11. 防止輕鬆下載MP3播放器上播放的MP3?
- 12. Flash MP3播放器和php/mysql
- 13. iPad和SWF - 的JavaScript的MP3播放器
- 14. 像grooveshark的MP3播放器
- 15. 蟒蛇MP3播放器
- 16. 更新MP3播放器欄
- 17. 簡單的MP3播放器
- 18. Html5的MP3播放器
- 19. 關於mp3播放器
- 20. MP3播放器進度條
- 21. 使用Java API和JMF播放/加載mp3,錯誤不支持的格式
- 22. Java播放MP3和ogg
- 23. 不播放MP3
- 24. 流式播放器隱藏視頻顯示爲MP3播放器
- 25. 在線Flash播放器MP3播放器音樂按鈕
- 26. 製作MP3播放器的均衡器
- 27. Silverlight不播放mp3
- 28. 用delphi播放mp3
- 29. 播放MP3文件
- 30. CefSharp不播放mp3
請參閱[Java聲音信息。頁面](http://stackoverflow.com/tags/javasound/info)瞭解如何播放MP3的詳細信息。 –