语音识别的基础上实现控制电脑开关机

C h e r r y 科大讯飞语音服务Android... 最后由 极客学院_吕布 于2016年05月04日回复

  • 1 回答
  • 1.2k 浏览

问题:语音识别信息如何传到SocketClient中?怎么修改?请老师指导,我已经修改过可未成功,这个SocketClient代码原先是从键盘传递信息,而我想让这个信息是从语音识别出的信息传过来,请老师看看!!!

SocketClient代码:

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.Socket;

import android.R.string;

/**

 * �ͻ���Socket

 * 

 * @author Administrator

 * 

 */

public class SocketClient {

 /**

  * �ͻ���Socket���췽��

  */

 public SocketClient(String line) {

  try {

   // �

  • 极客学院_吕布 2016年05月04日 回答 #1楼
  • 无论你传送的是识别结果或是语音音频特征等,都可以用socket进行传送,java的socket基本客户端和服务端通信模型可以参考如下代码:

    server 端

    import java.io.*; 

    import java.net.*; 

    public class Server2 {

        /**

         * @param args

         */

        public static void main(String[] args) {

            // TODO Auto-generated method stub

            ServerSocket s = null;

            try{

                s= new ServerSocket(5432);

            }

            catch(IOException e)

            {

                System.out.println(e);

                System.exit(1);

            }

            int i = 1;

            while(true)

            {

                

                try{

                    Socket cs = s.accept();

                    new ServerThread(cs).start();

                    System.out.println("接收了 第"+i+"个请求");

                    i++;

                }

                catch(IOException e)

                {

                    System.out.println(e);

                }

            }

        }

    }


    serverThread 类

    import java.io.*;

    import java.net.*;

     

    public class ServerThread extends Thread {

        static String hello = "From Server: Hello world";

        Socket sock;

        public ServerThread(Socket s)

        {

            sock =s ;

        }

        public void run()

        {

            try{

                InputStream in = sock.getInputStream();

                DataInputStream din = new DataInputStream(in);

                String name = din.readUTF();

                OutputStream out = sock.getOutputStream();

                DataOutputStream dos = new DataOutputStream(out);

                dos.writeUTF(hello+"your name :"+name);

                in.close();

                out.close();

                sock.close();

            }

            catch(IOException e)

            {

                System.out.println(e);

            }

        }

    }

    client 端

    import java.io.*; 

    import java.net.*; 

     

    public class Client 

     

    public Client() 

    try

    Socket s = new Socket("127.0.0.1", 5432); 

     

    OutputStream out = s.getOutputStream(); 

     

    DataOutputStream dout = new DataOutputStream(out);

     

    dout.writeUTF("oftenlin");

     

    InputStream in = s.getInputStream();

    DataInputStream din = new DataInputStream(in);

     

    String st = din.readUTF();

     

    System.out.println(st);

    in.close();

    out.close();

    s.close(); 

    catch (IOException e) 

    {} 

     

    public static void main(String[] args) 

    new Client(); 

    }

  • 0 评论