| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1001 人关注过本帖
标题:想通过java播放音乐却报错,有代码,求指正~
只看楼主 加入收藏
qiankai
Rank: 2
等 级:论坛游民
帖 子:35
专家分:49
注 册:2012-4-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
想通过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
ren829
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:15
帖 子:255
专家分:1174
注 册:2006-3-11
收藏
得分:1 
文件路径问题,检查一下路径
2013-05-25 18:43
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
ren829
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:15
帖 子:255
专家分:1174
注 册:2006-3-11
收藏
得分:9 
不支持MP3格式文件,换其它格式文件试试,mid什么的
2013-05-25 22:05
Kingbox_tang
Rank: 7Rank: 7Rank: 7
来 自:天津师范大学
等 级:黑侠
威 望:3
帖 子:146
专家分:677
注 册:2012-11-27
收藏
得分:10 
首先,java中不支持.mp3格式的音频,可以是wav;
其次,你的filename后面就直接跟一个音频地址啊,这样放到一个方法中可能会出现调用不到的问题呀;
最后,你的代码一行注释都没有,我怎么看的懂?

旨在提高编程水平,学有所用,学有所成,学有所为。
2013-05-25 22:19
拿板砖的人
Rank: 1
等 级:新手上路
帖 子:7
专家分:4
注 册:2013-4-4
收藏
得分:0 
没有注释可不是个好习惯
2013-05-27 08:52
快速回复:想通过java播放音乐却报错,有代码,求指正~
数据加载中...
 
   



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

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