I don't know how to send real-time audio to Java.
On javascript:
navigator.mediaDevices.getUserMedia({
audio: true
}).then((mediaStream) => {
const audioContext = new(window.AudioContext || window.webkitAudioContext)();
const mediaStreamSource = audioContext.createMediaStreamSource(mediaStream);
var socketMicroStream = new WebSocket("ws://" + window.location.host + "/microstream");
socketMicroStream.onopen = function(event) {
socketMicroStream.send(socketMicroStream);
};
})
.catch((error) => {
console.error('Error: ', error);
});
On java using websocket
@OnMessage
public String onMessage(String stream) {
try {
// get buffer audio
// play audio
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
I tried using MediaRecorder in JavaScript, but the audio is choppy. Please help.