Merge pull request #1371 from xinnan-tech/hot-fix

修复测试页面音频重复播放
This commit is contained in:
欣南科技
2025-05-25 09:10:47 +08:00
committed by GitHub
-18
View File
@@ -879,7 +879,6 @@
// 流已结束且没有更多数据
log("音频播放完成", 'info');
isAudioPlaying = false;
this.endOfStream = false;
streamingContext = null;
} else {
// 等待更多数据
@@ -1410,17 +1409,6 @@
};
websocket.onclose = () => {
// 清理音频缓冲和播放状态
audioBufferQueue = [];
isAudioBuffering = false;
isAudioPlaying = false;
streamingContext = null;
if (visualizationRequest) {
cancelAnimationFrame(visualizationRequest);
visualizationRequest = null;
}
log('已断开连接', 'info');
connectionStatus.textContent = 'ws已断开';
connectionStatus.style.color = 'red';
@@ -1575,10 +1563,6 @@
const message = messageInput.value.trim();
if (message === '' || !websocket || websocket.readyState !== WebSocket.OPEN) return;
audioBufferQueue = [];
isAudioBuffering = false;
isAudioPlaying = false;
try {
// 直接发送listen消息,不需要重复发送hello
const listenMessage = {
@@ -2398,8 +2382,6 @@
// 如果收到的是第一个音频包,开始缓冲过程
if (audioBufferQueue.length === 1 && !isAudioBuffering && !isAudioPlaying) {
startAudioBuffering();
} else if (isAudioPlaying && streamingContext) {
streamingContext.decodeOpusFrames([opusData]);
}
} else {
log('收到空音频数据帧,可能是结束标志', 'warning');