亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

Java實現的百度語音識別功能示例

2024-07-14 08:42:09
字體:
來源:轉載
供稿:網友

本文實例講述了Java實現的百度語音識別功能。分享給大家供大家參考,具體如下:

SDK以及示例代碼下載地址: http://yuyin.baidu.com/sdk

最近一直在搞java,就選擇了java工程。將代碼拷過去。同時復制文件“test.pcm”到工程目錄下。就基本上可以了。

注:test.pcm是語音文件,可以用audacity軟件打開,選擇 文件->導入->裸數據。 設置采樣率為8000Hz。點擊播放就能聽見聲音了。

這個時候程序跑起來還有問題,需要將apiKey 以及secretKey填寫上。這兩個值是你申請應用對應的分配好的。

cuid填本機mac地址就可以了,這個值我試過好像無所謂沒啥要求。

程序能跑起來,并且按照正常返回識別的語音結果。但是返回結果的編碼為GBK,所以漢字顯示為亂碼,需要對其進行一次轉碼。轉碼的代碼是我自己加上去的。

下面貼代碼:

package com.baidu.speech.serviceapi;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLDecoder;import java.net.URLEncoder;import javax.xml.bind.DatatypeConverter;import org.json.JSONObject;public class Sample {  private static final String serverURL = "http://vop.baidu.com/server_api";  private static String token = "";  private static final String testFileName = "test.pcm"; // 百度語音提供技術支持  //put your own params here  // 下面3個值要填寫自己申請的app對應的值  private static final String apiKey = "";  private static final String secretKey = "";  private static final String cuid = "";  public static void main(String[] args) throws Exception {    getToken();    method1();    method2();  }  private static void getToken() throws Exception {    String getTokenURL = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials" +      "&client_id=" + apiKey + "&client_secret=" + secretKey;    HttpURLConnection conn = (HttpURLConnection) new URL(getTokenURL).openConnection();    token = new JSONObject(printResponse(conn)).getString("access_token");  }  private static void method1() throws Exception {    File pcmFile = new File(testFileName);    HttpURLConnection conn = (HttpURLConnection) new URL(serverURL).openConnection();    // construct params    JSONObject params = new JSONObject();    params.put("format", "pcm");    params.put("rate", 8000);    params.put("channel", "1");    params.put("token", token);    params.put("lan", "zh");    params.put("cuid", cuid);    params.put("len", pcmFile.length());    params.put("speech", DatatypeConverter.printBase64Binary(loadFile(pcmFile)));    // add request header    conn.setRequestMethod("POST");    conn.setRequestProperty("Content-Type", "application/json; charset=utf-8");    conn.setDoInput(true);    conn.setDoOutput(true);    // send request    DataOutputStream wr = new DataOutputStream(conn.getOutputStream());    wr.writeBytes(params.toString());    wr.flush();    wr.close();    printResponse(conn);  }  private static void method2() throws Exception {    File pcmFile = new File(testFileName);    HttpURLConnection conn = (HttpURLConnection) new URL(serverURL        + "?cuid=" + cuid + "&token=" + token).openConnection();    // add request header    conn.setRequestMethod("POST");    conn.setRequestProperty("Content-Type", "audio/pcm; rate=8000");    conn.setDoInput(true);    conn.setDoOutput(true);    // send request    DataOutputStream wr = new DataOutputStream(conn.getOutputStream());    wr.write(loadFile(pcmFile));    wr.flush();    wr.close();    System.out.println(getUtf8String(printResponse(conn)));  }  private static String printResponse(HttpURLConnection conn) throws Exception {    if (conn.getResponseCode() != 200) {      // request error     System.out.println("conn.getResponseCode() = " + conn.getResponseCode());      return "";    }    InputStream is = conn.getInputStream();    BufferedReader rd = new BufferedReader(new InputStreamReader(is));    String line;    StringBuffer response = new StringBuffer();    while ((line = rd.readLine()) != null) {      response.append(line);      response.append('/r');    }    rd.close();    System.out.println(new JSONObject(response.toString()).toString(4));    return response.toString();  }  private static byte[] loadFile(File file) throws IOException {    InputStream is = new FileInputStream(file);    long length = file.length();    byte[] bytes = new byte[(int) length];    int offset = 0;    int numRead = 0;    while (offset < bytes.length        && (numRead = is.read(bytes, offset, bytes.length - offset)) >= 0) {      offset += numRead;    }    if (offset < bytes.length) {      is.close();      throw new IOException("Could not completely read file " + file.getName());    }    is.close();    return bytes;  }  // GBK編碼轉為UTF-8  private static String getUtf8String(String s) throws UnsupportedEncodingException  {   StringBuffer sb = new StringBuffer();   sb.append(s);   String xmlString = "";   String xmlUtf8 = ""; xmlString = new String(sb.toString().getBytes("GBK")); xmlUtf8 = URLEncoder.encode(xmlString , "GBK");   return URLDecoder.decode(xmlUtf8, "UTF-8");  }}

希望本文所述對大家java程序設計有所幫助。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一区二区三区视频免费| 亚洲最大福利网| 5278欧美一区二区三区| 日韩免费不卡av| 欧美日韩黄色大片| 不卡伊人av在线播放| 亚洲激情小视频| 欧美日韩国产一中文字不卡| 视频一区视频二区国产精品| 亚洲天堂一区二区三区| 美日韩在线视频| 欧美激情喷水视频| 国产精品高清在线观看| 久久久精品国产网站| 亚洲精品网址在线观看| 亚洲激情 国产| 亚洲欧美在线免费观看| 北条麻妃一区二区在线观看| 日韩一区av在线| 亚洲大胆人体av| 国产精品高潮呻吟视频| 97视频在线观看亚洲| 亚洲性生活视频在线观看| 日韩欧美国产骚| 久久亚洲精品国产亚洲老地址| 亚洲国产日韩欧美在线图片| 在线播放精品一区二区三区| 亚洲精品福利免费在线观看| 91在线观看免费高清完整版在线观看| 成人动漫网站在线观看| 国产精品视频播放| 久久九九国产精品怡红院| 中文字幕久精品免费视频| 欧美精品生活片| 精品在线欧美视频| 亚洲欧美日韩精品久久奇米色影视| 懂色av影视一区二区三区| 国产欧美精品一区二区三区介绍| 九九热最新视频//这里只有精品| 国产v综合ⅴ日韩v欧美大片| 久久久之久亚州精品露出| 亚洲天堂av图片| 亚洲另类欧美自拍| 欧美极品少妇xxxxx| www.亚洲男人天堂| www.色综合| 91社影院在线观看| 色多多国产成人永久免费网站| 欧美激情一二三| 91网在线免费观看| 国产精品视频自在线| 精品人伦一区二区三区蜜桃免费| 日本午夜人人精品| 国内免费久久久久久久久久久| 国产区亚洲区欧美区| 国产精品高潮视频| 日本久久久久久久久久久| 亚洲午夜精品久久久久久性色| 久久久久久中文| 中文字幕综合一区| 欧美性xxxx极品高清hd直播| 九九九热精品免费视频观看网站| 亚洲va欧美va国产综合剧情| 久久视频国产精品免费视频在线| 午夜精品在线观看| 性色av一区二区三区在线观看| 久久精品91久久久久久再现| 国产精品99久久久久久人| 91精品久久久久久久久久另类| 91sao在线观看国产| 国内精品久久久久影院优| 亚洲欧美成人在线| 国产一区二区三区18| 精品久久久久久电影| 亚洲加勒比久久88色综合| 久久精品国产91精品亚洲| 午夜剧场成人观在线视频免费观看| 国产精品色视频| 欧美另类第一页| 国产精品扒开腿爽爽爽视频| 精品一区电影国产| 91免费的视频在线播放| 亚洲欧美国产一本综合首页| 国产日韩换脸av一区在线观看| 九九九久久久久久| 91视频国产高清| 精品无人区太爽高潮在线播放| 精品国产鲁一鲁一区二区张丽| 国产一区二区三区精品久久久| 在线观看欧美视频| 日产精品99久久久久久| 国产成人精品网站| 日韩美女视频在线观看| 欧美午夜激情小视频| 国产亚洲美女久久| 欧美猛交ⅹxxx乱大交视频| 蜜月aⅴ免费一区二区三区| 色悠久久久久综合先锋影音下载| 亚洲网站在线观看| 日韩成人在线视频观看| 亚洲欧美中文在线视频| 欧美日韩人人澡狠狠躁视频| 最近2019中文字幕第三页视频| 人人爽久久涩噜噜噜网站| 欧美色videos| 亚洲电影免费在线观看| 伊人久久免费视频| 亚洲天堂一区二区三区| 亚洲18私人小影院| 亚洲香蕉成视频在线观看| 国产精品v片在线观看不卡| 日韩精品福利网站| 欧美日韩精品二区| 久久久久久久久久国产| 97在线精品国自产拍中文| 亚洲网站在线播放| 17婷婷久久www| 国产精品视频久久久| 在线成人中文字幕| 国产精品亚洲一区二区三区| 91精品啪在线观看麻豆免费| 亚洲精品99999| 日韩av中文在线| 欧美国产亚洲精品久久久8v| 亚洲3p在线观看| 在线观看欧美日韩| 亚洲一区二区三区sesese| 国产精品成人在线| 日韩美女视频免费看| 免费不卡欧美自拍视频| 久久天天躁狠狠躁夜夜躁2014| 国产91精品视频在线观看| 美女999久久久精品视频| 欧美日韩中文字幕| 日韩一区二区精品视频| 久久精品青青大伊人av| 国产精品夜间视频香蕉| 亚洲一区二区久久久久久| 欧美日韩国产va另类| 欧美精品在线播放| 久久精品国产清自在天天线| 亚洲成av人影院在线观看| 久久香蕉国产线看观看av| 亚洲图中文字幕| 国产日韩av在线| 欧美日韩在线观看视频| 中文字幕欧美在线| 97香蕉久久夜色精品国产| 91久久久久久久久久| 国产丝袜精品第一页| 国产精品网红直播| 欧美亚洲激情在线| 国产在线播放不卡| 午夜剧场成人观在线视频免费观看| 欧美一级片一区| 欧美福利视频网站| 日本一欧美一欧美一亚洲视频| 国产精品久久久久久久久久久久| 亚洲欧美日韩在线高清直播| 欧美极品少妇与黑人| 国产丝袜一区二区三区免费视频| 亚洲精品福利免费在线观看| 欧美中文字幕精品| 97久久精品国产|