google 语音识别接口

请求方法

public static String postFileSend(String reqUrl, String[][] httpHeader, String filePath, String encode)
			throws IOException {
		if (StringUtils.isEmpty(reqUrl)) {
			log.info("请求地址为空");
			return "请求地址不能为空";
		}
		HttpPost post = new HttpPost(reqUrl);
		if (httpHeader != null && httpHeader.length != 0) {
			for (String[] headers : httpHeader) {
				post.addHeader(headers[0], headers[1]);
			}
		}
		if (!StringUtils.isEmpty(filePath)) {
			File file = new File(filePath);
			FileInputStream fileInputStream = new FileInputStream(file);
			InputStreamEntity inputEntity = new InputStreamEntity(fileInputStream, file.length());
			post.setEntity(inputEntity);
		}
		String httpResponse = null;
		HttpClient httpclient = new DefaultHttpClient();
		try {
			httpResponse = httpclient.execute(post, new BasicResponseHandler());
		} catch (ClientProtocolException e) {
			e.printStackTrace();
			log.error("请求异常:", e);
			return null;
		} catch (IOException e) {
			e.printStackTrace();
			log.error("请求异常:", e);
			return null;
		}
		return httpResponse;
	}

 调用方法

@Test
	public void testPostSend() throws IOException{
		String reqUrl = "http://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=zh-CN&maxresults=10";
		String[][] httpHeader = {{"Content-Type","audio/x-flac; rate=16000"}};
		URL url = this.getClass().getResource("/");
		String path = url.getPath()+"2.flac";
		String res = HttpUtil.postFileSend(reqUrl, httpHeader, path, "utf-8");
		System.out.println(res);
		
	}

 注意:

视频格式是.flac的

flac也有限制,22050 Hz+201kbps还正常,如果比这个大多了就不对了

你可能感兴趣的:(Google)