标题:想通过java播放音乐却报错,有代码,求指正~
取消只看楼主
qiankai
Rank: 2
等 级:论坛游民
帖 子:35
专家分:49
注 册:2012-4-22
结帖率:100%
已结贴  问题点数:20 回复次数:3 
想通过java播放音乐却报错,有代码,求指正~
如题~
搜索更多相关主题的帖子: java 音乐 
2013-05-25 16:20
qiankai
Rank: 2
等 级:论坛游民
帖 子:35
专家分:49
注 册:2012-4-22
得分:0 
package text;
import *;
import javax.sound.sampled.*;

public class text {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //创建一个实例
        
        AePlayWave apw = new AePlayWave("\\d:\\tank.mp3");
        apw.start();
    }

}
class AePlayWave extends Thread{
    private String filename;
    public AePlayWave(String wavfile){
        filename = wavfile;
    }
    public void run(){
        File soundFile = new File(filename);
        System.out.println(soundFile);
        AudioInputStream audioInputStream = null;
        try{
            audioInputStream =AudioSystem.getAudioInputStream(soundFile);   
    }catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
        return;
    }
    AudioFormat format = audioInputStream.getFormat();
    SourceDataLine auline = null;
    DataLine.Info info = new DataLine.Info(null, null);
    try{
        auline = (SourceDataLine) AudioSystem.getLine(info);
        auline.open(format);
    } catch(Exception e){
        e.printStackTrace();
        return ;
    }
    auline.start();
    int nBytesRead = 0;
    //这是缓冲
   
    byte[] abData = new byte[1024];
    try{
        while(nBytesRead != -1){
            nBytesRead = audioInputStream.read(abData, nBytesRead, nBytesRead);
                    if(nBytesRead >= 0){
                        auline.write(abData, 0, nBytesRead);
                    }
        }
        }catch (IOException e){
            e.printStackTrace();
            return ;
        }finally{
            auline.drain();
            auline.close();
        }
    }
}
2013-05-25 16:22
qiankai
Rank: 2
等 级:论坛游民
帖 子:35
专家分:49
注 册:2012-4-22
得分:0 
程序代码:
package text;
import *;
import javax.sound.sampled.*;
public class text {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //创建一个实例
   
        AePlayWave apw = new AePlayWave("\\d:\\tank.mp3");
        apw.start();
    }
}
class AePlayWave extends Thread{
    private String filename;
    public AePlayWave(String wavfile){
        filename = wavfile;
    }
    public void run(){
        File soundFile = new File(filename);
        System.out.println(soundFile);
        AudioInputStream audioInputStream = null;
        try{
            audioInputStream =AudioSystem.getAudioInputStream(soundFile);
    }catch (Exception e) {
        // TODO: handle exception
        e.printStackTrace();
        return;
    }
    AudioFormat format = audioInputStream.getFormat();
    SourceDataLine auline = null;
    DataLine.Info info = new DataLine.Info(null, null);
    try{
        auline = (SourceDataLine) AudioSystem.getLine(info);
        auline.open(format);
    } catch(Exception e){
        e.printStackTrace();
        return ;
    }
    auline.start();
    int nBytesRead = 0;
    //这是缓冲

    byte[] abData = new byte[1024];
    try{
        while(nBytesRead != -1){
            nBytesRead = audioInputStream.read(abData, nBytesRead, nBytesRead);
                    if(nBytesRead >= 0){
                        auline.write(abData, 0, nBytesRead);
                    }
        }
        }catch (IOException e){
            e.printStackTrace();
            return ;
        }finally{
            auline.drain();
            auline.close();
        }
    }
}
2013-05-25 16:22
qiankai
Rank: 2
等 级:论坛游民
帖 子:35
专家分:49
注 册:2012-4-22
得分:0 
还是不行,老是报这种错误:
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input file
    at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1187)
    at text.AePlayWave.run(text.java:26)
2013-05-25 19:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-407986-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.910335 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved