jsp页面怎么用javascript调用系统录音,然后上传到服务器????

解决方案 »

  1.   


        WshShell = new ActiveXObject("Wscript.Shell")
        WshShell.Run("sndrec32.exe")
      

  2.   

    Wscript.Shell 这个就不用来了, 一般人不会开这个权限.可以参考一下某个邮箱里面发送语音邮件的功能, 好似是用flash做的.
      

  3.   

     import   java.io.*;     
      import   javax.sound.sampled.*;     
      import   java.net.*;     
        
      /**     
      *   Title:                 VoiceChat     
      *   Description:     音频捕捉(录音程序)     
      *   Copyright:         Copyright   (c)   2001     
      *   Company:     
      *   @author               你猜!     
      *   @version   1.0     
      */     
        
      class   Capture   implements   Runnable   {     
        
                    TargetDataLine   line;     
                    Thread   thread;     
                    Socket   s;     
                    BufferedOutputStream   captrueOutputStream;     
        
                    Capture(Socket   s){//构造器   取得socket以获得网络输出流     
                        this.s=s;     
                    }     
        
                    public   void   start()   {     
        
                            thread   =   new   Thread(this);     
                            thread.setName("Capture");     
                            thread.start();     
                    }     
        
                    public   void   stop()   {     
                            thread   =   null;     
                    }     
        
                    public   void   run()   {     
        
                            try   {     
                                captrueOutputStream=new   BufferedOutputStream(s.getOutputStream());//建立输出流   此处可以加套压缩流用来压缩数据     
                            }     
                            catch   (IOException   ex)   {     
                                    return;     
                            }     
        
                            AudioFormat   format   =new   AudioFormat(8000,16,2,true,true);//AudioFormat(float   sampleRate,   int   sampleSizeInBits,   int   channels,   boolean   signed,   boolean   bigEndian)     
                            DataLine.Info   info   =   new   DataLine.Info(TargetDataLine.class,format);     
        
                            try   {     
                                    line   =   (TargetDataLine)   AudioSystem.getLine(info);     
                                    line.open(format,   line.getBufferSize());     
                            }   catch   (Exception   ex)   {     
                                    return;     
                            }     
        
                            byte[]   data   =   new   byte[1024];//此处的1024可以情况进行调整,应跟下面的1024应保持一致     
                            int   numBytesRead=0;     
                            line.start();     
        
                            while   (thread   !=   null)   {     
                                    numBytesRead   =   line.read(data,   0,1024);//取数据(1024)的大小直接关系到传输的速度,一般越小越快,     
                                    try   {     
                                        captrueOutputStream.write(data,   0,   numBytesRead);//写入网络流     
                                    }     
                                    catch   (Exception   ex)   {     
                                            break;     
                                    }     
                            }     
        
                            line.stop();     
                            line.close();     
                            line   =   null;     
        
                            try   {     
                                    captrueOutputStream.flush();     
                                    captrueOutputStream.close();     
                            }   catch   (IOException   ex)   {     
                                    ex.printStackTrace();     
                            }     
                    }     
      }     
        这是Applet程序在网页中调用。   
      <html>   
      <applet   code=Capture.class width=320   height=270></applet>   
        
      </html>
      

  4.   

    不过<applet  code=Capture.class width=320  height=270> </applet>  
    已经过时了   code要的地址谁知道啊  好像有地址就能调用上面的那个类了  不过  不知道地址是什么啊  大虾们  帮帮忙啊
      

  5.   

    可以用activex, 也可以用flash, 像很多交友网站,比如51就可以调用本地摄像头拍照。