优化实时语音对话组件,处理异常

This commit is contained in:
RockYang
2024-10-23 18:04:09 +08:00
parent ad6e2dd370
commit 1fe1e40a43
4 changed files with 79 additions and 70 deletions

View File

@@ -305,19 +305,22 @@ onUnmounted(() => {
const hangUp = async () => {
try {
isConnected.value = false
// 停止播放拨号音乐
if (backgroundAudio.value?.currentTime) {
backgroundAudio.value?.pause()
backgroundAudio.value.currentTime = 0
}
// 断开客户端的连接
client.value.disconnect()
client.value.reset()
// 中断语音输入和输出服务
await wavRecorder.value.end()
await wavStreamPlayer.value.interrupt()
// 停止播放拨号音乐
backgroundAudio.value?.pause()
backgroundAudio.value.currentTime = 0
} catch (e) {
console.error(e)
} finally {
// 播放挂断音乐
hangUpAudio.value?.play()
emits('close')
} catch (e) {
console.error(e)
}
};

View File

@@ -902,6 +902,10 @@ const showConversationDialog = ref(false)
const conversationRef = ref(null)
const dialogHeight = ref(window.innerHeight - 75);
const realtimeChat = () => {
if (!isLogin.value) {
store.setShowLoginDialog(true)
return
}
showConversationDialog.value = true;
nextTick(() => {
conversationRef.value.connect()

View File

@@ -403,11 +403,11 @@
<el-tab-pane label="修复数据" name="fixData">
<div class="container">
<p class="text">有些版本升级的时候更新了数据库的结构比如字段名字改了需要把之前的字段的值转移到其他字段这些无法通过简单的 SQL 语句可以实现的需要手动写程序修正数据</p>
<!-- <p class="text">有些版本升级的时候更新了数据库的结构比如字段名字改了需要把之前的字段的值转移到其他字段这些无法通过简单的 SQL 语句可以实现的需要手动写程序修正数据</p>-->
<p class="text">当前版本 v4.1.4 需要修正用户数据增加了 mobile email 字段需要把之前用手机号或者邮箱注册的用户的 username 字段数据初始化到 mobile 或者 email 字段另外需要把订单的支付渠道从名字称修正为 key</p>
<!-- <p class="text">当前版本 v4.1.4 需要修正用户数据增加了 mobile email 字段需要把之前用手机号或者邮箱注册的用户的 username 字段数据初始化到 mobile 或者 email 字段另外需要把订单的支付渠道从名字称修正为 key</p>-->
<el-text type="danger">请注意在修复数据前请先备份好数据库以免数据丢失</el-text>
<!-- <el-text type="danger">请注意在修复数据前请先备份好数据库以免数据丢失</el-text>-->
<p><el-button type="primary" @click="fixData">立即修复</el-button></p>
</div>