fix slice bug
This commit is contained in:
parent
19cfc1610d
commit
6bfa6b33e2
1 changed files with 17 additions and 8 deletions
|
|
@ -141,7 +141,7 @@ export class ElatoOpenAiVoiceAgent extends DurableObject<Env> {
|
||||||
websocket.close(1011, "startup_failed");
|
websocket.close(1011, "startup_failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
private ensureTranscriberSession(websocket: WebSocket) {
|
private ensureTranscriberSession() {
|
||||||
if (this.transcriberSession) {
|
if (this.transcriberSession) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -265,7 +265,7 @@ export class ElatoOpenAiVoiceAgent extends DurableObject<Env> {
|
||||||
server.accept();
|
server.accept();
|
||||||
|
|
||||||
this.currentWebSocket = server;
|
this.currentWebSocket = server;
|
||||||
this.ensureTranscriberSession(server);
|
this.ensureTranscriberSession();
|
||||||
|
|
||||||
server.send(JSON.stringify(createAuthMessage()));
|
server.send(JSON.stringify(createAuthMessage()));
|
||||||
void this.startInitialTurn(server);
|
void this.startInitialTurn(server);
|
||||||
|
|
@ -277,12 +277,21 @@ export class ElatoOpenAiVoiceAgent extends DurableObject<Env> {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const chunk = event.data instanceof ArrayBuffer
|
const chunk =
|
||||||
? event.data
|
event.data instanceof ArrayBuffer
|
||||||
: event.data.buffer.slice(
|
? event.data
|
||||||
event.data.byteOffset,
|
: event.data instanceof Uint8Array
|
||||||
event.data.byteOffset + event.data.byteLength,
|
? event.data.slice().buffer
|
||||||
);
|
: event.data instanceof Blob
|
||||||
|
? await event.data.arrayBuffer()
|
||||||
|
: null;
|
||||||
|
|
||||||
|
if (!chunk) {
|
||||||
|
console.error(
|
||||||
|
`[cloudflare][stt] unsupported binary payload: ${Object.prototype.toString.call(event.data)}`,
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
this.transcriberSession.feed(chunk);
|
this.transcriberSession.feed(chunk);
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue