init
This commit is contained in:
71
client-example.js
Normal file
71
client-example.js
Normal file
@@ -0,0 +1,71 @@
|
||||
// Example client that can connect to the WebSocket STT API
|
||||
const WebSocket = require('ws');
|
||||
const fs = require('fs');
|
||||
|
||||
class STTClient {
|
||||
constructor(serverUrl = 'ws://localhost:3000') {
|
||||
this.ws = new WebSocket(serverUrl);
|
||||
this.setupWebSocket();
|
||||
}
|
||||
|
||||
setupWebSocket() {
|
||||
this.ws.on('open', () => {
|
||||
console.log('Connected to STT server');
|
||||
});
|
||||
|
||||
this.ws.on('message', (data) => {
|
||||
const message = JSON.parse(data);
|
||||
|
||||
if (message.type === 'transcription') {
|
||||
console.log('Transcription:', message.text);
|
||||
} else if (message.type === 'error') {
|
||||
console.error('STT Error:', message.message);
|
||||
}
|
||||
});
|
||||
|
||||
this.ws.on('close', () => {
|
||||
console.log('Disconnected from STT server');
|
||||
});
|
||||
|
||||
this.ws.on('error', (error) => {
|
||||
console.error('WebSocket error:', error);
|
||||
});
|
||||
}
|
||||
|
||||
// Send audio file for transcription
|
||||
sendAudioFile(filePath) {
|
||||
if (this.ws.readyState === WebSocket.OPEN) {
|
||||
const audioData = fs.readFileSync(filePath);
|
||||
this.ws.send(audioData);
|
||||
console.log(`Sent audio file: ${filePath}`);
|
||||
} else {
|
||||
console.error('WebSocket not connected');
|
||||
}
|
||||
}
|
||||
|
||||
// Send raw audio buffer
|
||||
sendAudioBuffer(audioBuffer) {
|
||||
if (this.ws.readyState === WebSocket.OPEN) {
|
||||
this.ws.send(audioBuffer);
|
||||
} else {
|
||||
console.error('WebSocket not connected');
|
||||
}
|
||||
}
|
||||
|
||||
close() {
|
||||
this.ws.close();
|
||||
}
|
||||
}
|
||||
|
||||
// Example usage
|
||||
if (require.main === module) {
|
||||
const client = new STTClient();
|
||||
|
||||
// Example: Send an audio file
|
||||
// client.sendAudioFile('./test-audio.wav');
|
||||
|
||||
// Keep the process alive
|
||||
process.stdin.resume();
|
||||
}
|
||||
|
||||
module.exports = STTClient;
|
||||
Reference in New Issue
Block a user