Commit 949022bd authored by helinlin's avatar helinlin

对接语音数据

parent dd4a552c
...@@ -64,8 +64,8 @@ public class RealTimeStream2Text { ...@@ -64,8 +64,8 @@ public class RealTimeStream2Text {
Thread thread1 = Thread thread1 =
new Thread(() -> { new Thread(() -> {
new AppSpeechTranscriber( new AppSpeechTranscriber(
new RealTimeSpeechTranscriberListener(myNumber, myNumber, emqKeeper, audioRecords, audioKeyWord) new RealTimeSpeechTranscriberListener(myNumber, myNumber, emqKeeper, audioRecords, audioKeyWord),
, serverSocket1, localIpAddress) serverSocket1, localIpAddress)
.process(); .process();
}, "我的语音流"); }, "我的语音流");
//呼入的语音流 //呼入的语音流
......
...@@ -9,7 +9,6 @@ import org.slf4j.LoggerFactory; ...@@ -9,7 +9,6 @@ import org.slf4j.LoggerFactory;
import java.net.DatagramPacket; import java.net.DatagramPacket;
import java.net.DatagramSocket; import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.Arrays; import java.util.Arrays;
import java.util.Timer; import java.util.Timer;
import java.util.TimerTask; import java.util.TimerTask;
...@@ -29,6 +28,7 @@ public class AppSpeechTranscriber { ...@@ -29,6 +28,7 @@ public class AppSpeechTranscriber {
private final Timer serverSocketTimeoutTimer; private final Timer serverSocketTimeoutTimer;
private final TimerTask timerTask; private final TimerTask timerTask;
private final String localIpAddress; private final String localIpAddress;
private int idleTime = 0;
public AppSpeechTranscriber(SpeechTranscriberListener listener, DatagramSocket serverSocket, String localIpAddress) { public AppSpeechTranscriber(SpeechTranscriberListener listener, DatagramSocket serverSocket, String localIpAddress) {
this.localIpAddress = localIpAddress; this.localIpAddress = localIpAddress;
...@@ -39,11 +39,14 @@ public class AppSpeechTranscriber { ...@@ -39,11 +39,14 @@ public class AppSpeechTranscriber {
timerTask = new TimerTask() { timerTask = new TimerTask() {
@Override @Override
public void run() { public void run() {
logger.warn("serverSocket,port:" + serverSocket.getLocalPort() + " 等待60s无数据回复即将自动关闭!"); idleTime++;
closeServerSocket(); if (idleTime > 60) {
logger.warn("serverSocket,port:" + serverSocket.getLocalPort() + " 等待60s无数据回复即将自动关闭!");
closeServerSocket();
}
} }
}; };
serverSocketTimeoutTimer.schedule(timerTask, 1000 * 60); serverSocketTimeoutTimer.schedule(timerTask, 0, 1000);
} }
/** /**
...@@ -66,11 +69,10 @@ public class AppSpeechTranscriber { ...@@ -66,11 +69,10 @@ public class AppSpeechTranscriber {
setParam(transcriber); setParam(transcriber);
transcriber.start(); transcriber.start();
} }
serverSocketTimeoutTimer.cancel(); idleTime = 0;
logger.warn("收到数据包:" + b.length); logger.warn("收到数据包:" + b.length);
//去掉前12个字节的rtp包头,后面的332字节为语音数据 //去掉前12个字节的rtp包头,后面的332字节为语音数据
transcriber.send(Arrays.copyOfRange(b, 12, b.length)); transcriber.send(Arrays.copyOfRange(b, 12, b.length));
serverSocketTimeoutTimer.schedule(timerTask, 1000 * 60);
} }
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage()); logger.error(e.getMessage());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment