audio - 在 netbeans 中再现使用 jfilechooser 选择的音频

标签 audio netbeans jfilechooser

好的,代码如下:

    import java.io.*;
    import javax.swing.JFileChooser;
    import javax.swing.JOptionPane;
    import sun.audio.*;

    public class Sound {
        public static void main ( String Args[]){        
             JFileChooser openf =new JFileChooser();
             openf.showOpenDialog(null);
             File fl= openf.getSelectedFile();   
             String sound = fl.getAbsolutePath();
             JOptionPane.showMessageDialog(null, sound);
             InputStream in;
             try{            
                 in = new FileInputStream(sound);
                 AudioStream audio = new AudioStream(in);
                 AudioPlayer.player.start(audio);
             }catch(Exception e){
                  JOptionPane.showMessageDialog(null, e.toString());  
             }
        }    
    }

我正在使用此应用程序以允许选择音频文件(通过 jfilechooser),例如:mp3、wma 或 wav 进行复制。
我一直遇到的异常如下:'java.io.IOException:无法从输入流创建音频流'。

我在其他地方听说我正在导入的一些 sun.audio 类有一些问题。可以吗?

谢谢。
米格尔·安德烈。

最佳答案

我猜您正在尝试播放 mp3 文件。 Java 本身不支持 mp3。您的代码只能播放 wave(*.wav) 文件。 JavaFX 支持开箱即用的 mp3。 Java 通过使用外部插件支持 MP3(JMFFMJJLayer ..)

关于audio - 在 netbeans 中再现使用 jfilechooser 选择的音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17759324/

相关文章:

javascript - jQuery:延迟变量 play() 函数?

linux - Linux 中的 Netbeans 和 Xdebug

java - JFileChooser 自定义 - 将渐变绘制设置为 JFilechooser

java - 是否可以使用 JFileChooser 加载 KeyStore?

typescript - 如何从 Angular 6 中的 blob URL 下载音频文件?

ajax - <div> 更新时如何播放声音

android - Python Kivy:一次播放多次声音

Java批量插入循环需要时间附加代码吗?

netbeans jvi vimrc 文件位置

java - 使用 JFileChooser 将文件插入到 Jlabel 中