首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java 处理音频的有关问题

2012-01-29 
java 处理音频的问题出现的问题:Error:Unabletoprefetchcom.sun.media.content.audio.midi.Handler$MidiCo

java 处理音频的问题
出现的问题:

Error:   Unable   to   prefetch   com.sun.media.content.audio.midi.Handler$MidiController@b8df17

请问这是怎么回事?


import   java.awt.*;  
import   java.awt.event.*;  
import   java.io.*;  
import   java.net.*;  


import   javax.swing.*;  
import   javax.media.*;  
public   class   JVideoDemo   extends   JFrame   implements   ControllerListener  
{  
        JPanel   contentPane;  
        Component   cc=null;  
        Component   vc=null;  
        BorderLayout   borderlayout=new   BorderLayout();  
        Player   player=null;  
        CaptureDeviceInfo   infor;
        MediaLocator   mediaLocator;
       
        public   JVideoDemo(String   mediaURL)  
        {  
                try{  
                        player=Manager.createPlayer(new   MediaLocator(mediaURL));  
                        Manager.setHint(Manager.LIGHTWEIGHT_RENDERER,new   Boolean(true));  
                }catch(Exception   ex)  
                {  
                        ex.printStackTrace();  
                }  
                if(player==null)  
                        System.out.println( "media   is   not   exists ");  
                player.addControllerListener(this);  
               
                player.prefetch();  
               
               
        }  
        public   void   controllerUpdate(ControllerEvent   e)  
        {  
                if(e   instanceof   ControllerClosedEvent)  
                        System.exit(0);  
                if(e   instanceof   EndOfMediaEvent)  
                {  
                        player.setMediaTime(new   Time(0));  
                        player.start();  
                        return;
                }  
                if(e   instanceof   PrefetchCompleteEvent)  


                {  
                        player.start();  
                          return;
                  }  
                if(e   instanceof   RealizeCompleteEvent)  
                {
                          vc=player.getVisualComponent();  
                        if(vc!=null)  
                                this.getContentPane().add(vc,BorderLayout.CENTER);  
                        cc=player.getControlPanelComponent();  
                        if(cc!=null)  
                        this.getContentPane().add(cc,BorderLayout.SOUTH);  
                        this.pack();  
                        this.setResizable(false);  
                        this.setVisible(true);  
                        this.setSize(200,100);
                        this.setLocation(300,300);
                        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                }  
        }  
        public   static   void   main(String   args[])  
        {  
                new   JVideoDemo(ClassLoader.getSystemResource( "media/sport.midi ").toString());  
                }
}  


[解决办法]
楼主是不是发错区了
试试这个

用java.applet.AudioClip

或者~

InputStream in = new FileInputStream(“.wav”);
AudioStream as = new AudioStream(in);
AudioPlayer.player.start(as);

热点排行