liwei1dao
|
ddca55c945
|
feat(qq_music): 添加自动暂停音乐方法以简化暂停逻辑
新增 autopauseMusic 方法,该方法在 QQ 音乐插件、服务层和控制器中实现。它封装了检查播放状态并暂停的逻辑,替换了原先需要先同步播放信息再手动暂停的多步操作,使代码更简洁并减少潜在的错误。
|
8 months ago |
liwei1dao
|
73ccaf8015
|
feat(mcp): 支持streamable HTTP传输并移除搜索工具集成
- 在DBMCPServer模型中添加type字段以区分传输类型
- 实现CustomStreamableHttpClientTransport用于HTTP/JSON传输
- 移除ToolsSystemFunctionHandler及相关搜索工具集成
- 优化MCP客户端初始化,根据type选择SSE或HTTP传输
- 修复iOS端工具调用ID生成逻辑,提升兼容性
|
8 months ago |
lxm
|
372aac71e8
|
refactor(android): 临时注释工具函数初始化以进行调试
移除 MCPClient 初始化时对 initializeToolsFunctions 的调用,改为注释状态。
此变更为临时调试措施,旨在隔离问题以定位音乐服务初始化过程中的潜在故障。
|
8 months ago |
lxm
|
40df5f0f00
|
feat(i18n): 添加安卓前台服务通知的多语言翻译
为支持安卓前台服务的通知本地化,在多个语言文件中新增翻译键值。
同时在对应的安卓服务文件中添加注释,说明前台通知的触发条件。
|
8 months ago |
lxm
|
0d90c92923
|
feat(android): 同步Flutter本地化字符串到原生前台服务通知
添加 NativeLocalizationSync 服务,用于将Flutter应用的本地化字符串同步到Android原生前台服务通知中。在应用启动、语言切换和应用生命周期恢复时自动同步,确保原生通知内容与当前应用语言保持一致。
主要修改:
1. 新增 native_localization_sync.dart 服务,通过MethodChannel将本地化字符串传递给Android原生
2. 在MainApp、SettingsController和AppLifecycleManager中添加同步调用
3. 更新所有Android前台服务(音频录制、BLE代理、QQ音乐、导航、音乐服务)以使用同步的本地化字符串
4. 添加中英文通知文本到翻译文件
5. 在MainActivity中实现原生端字符串接收和存储逻辑
|
8 months ago |
liwei1dao
|
7a832bd563
|
feat(chat_api): 添加网络搜索工具函数支持
在MCPClient中新增ToolsSystemFunctionHandler,用于注册web_search函数。
该函数允许通过外部API进行网络搜索,需要传入服务器地址和用户token。
修改AgentService、ChatApiService和MCPClient的初始化方法以传递这些参数。
|
8 months ago |
liwei1dao
|
b45510cc1b
|
feat(chat_api): 添加网络搜索工具函数支持
在 MCPClient 中新增 initializeToolsFunctions 方法,用于注册 web_search 工具函数。
该函数通过外部 API 实现网络搜索能力,可用于百科、新闻、汇率等查询。
需要传入服务地址和用户令牌进行鉴权。
|
8 months ago |
liwei1dao
|
5603d2a67e
|
fix(ios): 修复音频会话配置以正确处理音乐播放和TTS的音频打断
修改音乐服务插件,移除音频会话的 mixWithOthers 选项,使应用播放音乐时能打断外部音乐
在播放、恢复、切换歌曲时重新设置音频会话,确保正确激活
在停止播放时停用音频会话并通知其他应用恢复播放
修改语音插件,在TTS播放时使用 mixWithOthers 替代 duckOthers 选项
添加空闲时停用音频会话的逻辑,避免影响其他应用的音频播放
同时更新应用版本号至 1.0.22
|
8 months ago |
liwei1dao
|
76a0649890
|
fix(ios): 修复PiP音频会话配置以支持后台混音
在iOS 14.5以下版本中,PiP功能缺少.mixWithOthers选项,可能导致音频中断。现在统一为所有支持的iOS版本添加此选项,确保PiP音频在后台能与其他音频混合播放。同时将音频会话初始化时机从插件注册时延迟到实际创建PiP视图时,避免不必要的音频会话激活。
|
8 months ago |
lxm
|
29425b8367
|
fix(azure_speech): 修复多中文变体时错误启用讯飞ASR的问题
当配置的语言列表包含两个或以上的中文变体(如 zh-CN 和 zh-TW)时,即使所有语言都在讯飞支持范围内,也应禁用讯飞ASR,因为讯飞无法同时处理多个中文方言。此修改在决定是否启用讯飞ASR的条件中增加了对多中文变体的检查。
|
8 months ago |
lxm
|
02b5cbea76
|
feat(azure_speech): 支持多语言自动检测时选择最佳匹配语言
扩展自动语言检测功能,使其能够从支持的语言列表中选择最佳匹配的语言代码。当检测到中文时,优先选择 zh-CN,其次 zh-HK、zh-TW 或其他 zh- 变体;检测到英文时,优先选择 en-US 或其他 en- 变体。这确保了语音识别使用最准确的语言配置,提升了多语言场景下的识别准确性。
|
8 months ago |
lxm
|
12a49c59cd
|
feat: 添加ASR初始化日志以增强调试能力
在iOS和Android平台添加ASR引擎初始化时的详细日志记录,包括支持的语音、区域配置、音频源类型以及讯飞配置状态。这些日志有助于在部署和生产环境中快速诊断语音识别初始化问题。
|
8 months ago |
lxm
|
5bb6930768
|
fix(azure_speech): 修正讯飞语音识别支持的语言代码
将支持的语言代码中的错误值"en-TW"更正为"zh-TW",以正确匹配台湾中文的语言标识。同时为语音识别入口添加登录和积分检查逻辑,并在相关方法上补充注释说明。
|
8 months ago |
lxm
|
0634fbed4f
|
feat: 更新语音打断功能文案并添加提示信息
将"语音打断"功能重命名为"单轮对话"以更准确描述其行为,并添加详细说明的提示工具。同时,将iOS代理服务的默认中断状态设为false以匹配新功能逻辑。
- 更新中英文翻译文件,修改"voice_interrupt"键名对应的显示文本
- 在主页视图的开关旁添加信息图标,点击显示功能使用说明
- 调整AgentServiceImpl中isInterrupt的默认值为false,确保与单轮对话模式一致
|
9 months ago |
liwei1dao
|
5cdef5423b
|
fix(agent_service): 优化语音识别启动逻辑并添加调试日志
- 调整初始化检查顺序,避免在未初始化时执行蓝牙操作
- 添加 ble_wakeup 模式连续触发保护,防止重复启动
- 增加关键节点调试日志,便于问题排查
- 移除部分冗余日志输出
|
9 months ago |
liwei1dao
|
e676882597
|
chore: 添加调试日志以跟踪语音对话流程
添加开发者前缀的打印语句,便于调试语音对话的开始、结束和设备通信流程
|
9 months ago |
liwei1dao
|
9ee0b4fd70
|
feat(opus): 添加 iOS Opus 解码支持并优化音频录制管理
- 新增 jl_opus iOS 插件,提供 Opus 文件解码功能
- 在 ble_service 中添加 Opus 文件解码方法,支持通过 MethodChannel 调用
- 优化音频录制文件管理,添加延迟停止机制避免数据截断
- 修复 agent_service 中音乐播放状态恢复逻辑
- 调整 opus_test 控制器以支持跨平台解码调用
|
9 months ago |
lxm
|
5d967375a2
|
Revert "fix(语音识别): 修复从蓝牙唤醒模式切换时编码器未关闭的问题"
This reverts commit e3f0f9bccd.
|
9 months ago |
liwei1dao
|
e3f0f9bccd
|
fix(语音识别): 修复从蓝牙唤醒模式切换时编码器未关闭的问题
在 startRecognition 方法中,当上一次识别模式为 ble_wakeup 而当前模式不是 ble_wakeup 时,主动调用 BleService.shared.closeCodec() 关闭蓝牙编码器,避免资源泄漏和状态不一致。同时移除冗余的 AudioSessionHub 调用并调整代码格式。
|
9 months ago |
liwei1dao
|
98a57c6235
|
fix(ios): 修复耳机检测逻辑以正确应用音频会话配置
重构耳机检测逻辑,使用统一的 `detectHeadphonesOutput` 方法替代分散的端口类型检查,提高代码可维护性并确保音频会话配置在不同耳机类型下的一致性。
|
9 months ago |
liwei1dao
|
20c35a3c7a
|
fix: 修复语音识别标点处理及MCP连接稳定性问题
修复语音识别在非push_to_talk模式下未移除首标点的问题,提升听写体验
优化MCP客户端连接管理,增加心跳检测和连接状态主动检查,避免假死连接
移除调试日志语句,避免生产环境日志污染
|
9 months ago |
liwei1dao
|
aa31f526f7
|
fix(azure_speech): 修复语音合成会话管理逻辑
修复 Azure TTS 助手中的会话管理问题,确保音频合成和播放仅在正确的会话上下文中执行。移除冗余的会话 ID 处理逻辑,并添加会话快照检查以防止跨会话音频数据干扰。
具体修改包括:
- 在合成开始和音频处理事件中添加会话 ID 一致性检查
- 移除 `effectiveSessionId` 计算逻辑,直接使用传入的 sessionid
- 在停止合成时清空会话快照
- 注释调试日志以减少控制台输出
|
9 months ago |
liwei1dao
|
3d280a834c
|
fix: 修复语音识别与TTS播放的音频会话冲突
修复iOS端音频会话冲突问题,避免语音识别时TTS仍在播放导致无声或异常。
- 注释掉AgentServiceImpl中初始化时设置识别模式和音频会话的代码,避免干扰
- 调整translation_controller中ASR服务启动逻辑,同时传译模式使用phone_call,面对面模式使用push_to_talk
- 修复AzureTtsHelper中播放状态管理,增加播放失败处理和状态重置
- 重新启用音频路由变化处理,当检测到音频会话切换到录音时立即停止TTS播放
- 添加调试日志便于问题追踪
|
9 months ago |
liwei1dao
|
484b17a4e2
|
feat: 为语音服务添加模式参数支持
- 在 ASR 和 TTS 服务接口中添加模式参数,支持 normal、phone_call、push_to_talk 等模式
- 修改翻译控制器,根据当前翻译模式设置对应的 TTS 和 ASR 模式
- 重构 iOS 音频会话配置逻辑,优化不同模式下的音频路由和蓝牙设备处理
- 统一 TTS 模式设置方法名,将 setPhoneCallMode 重命名为 setTtsMode
|
9 months ago |
liwei1dao
|
ae4d282aaf
|
fix(agent_service): 设置默认识别模式为normal并移除冗余日志
移除AgentServiceImpl中的冗余日志输出
在AgentServicePlugin中设置currentRecognitionMode默认值
添加AzureTtsHelper的调试日志用于跟踪识别模式
|
9 months ago |
liwei1dao
|
ed71e52f45
|
fix(agent_service): 修复语音识别和文本处理中的状态管理问题
修复停止语音识别时未取消AI流的问题
调整文本输入处理前的状态重置逻辑
移除重复的TTS参数设置
|
9 months ago |
liwei1dao
|
03e0d94b5a
|
fix(agent_service): 修复通话模式结束后音频会话未重置的问题
fix(azure_speech): 适配iOS 18以下版本的音频会话配置和播放逻辑
修复iOS 17及以下版本流式播放可能卡住的问题
refactor(chat_storage): 使用串行队列保护数据库访问
确保所有数据库操作线程安全,避免并发问题
|
9 months ago |
liwei1dao
|
e710b9acfa
|
fix(ble_service): 添加BLE通知特征数据的日志信息
refactor(agent_service): 调整音频会话检查逻辑并添加日志
|
9 months ago |
lxm
|
7e69e7dea5
|
fix(android): 进一步彻底移除自启动权限和接收器以符合隐私要求
移除RECEIVE_BOOT_COMPLETED权限和BootReceiver,避免应用在系统启动时自动运行
同时移除WorkManager的RescheduleReceiver以优化后台行为
|
9 months ago |
liwei1dao
|
f2808b256d
|
fix(audio): 优化耳机模式下的音频设置和麦克风选择逻辑
修正蓝牙耳机模式下音频模式选择问题,增加 A2DP 支持
针对电话和按住说话模式强制使用内置麦克风
优化音频会话配置逻辑,提升不同场景下的音频体验
|
9 months ago |
liwei1dao
|
0cda1ec293
|
refactor(audio): 重构音频处理逻辑,简化模式管理和设备检测
移除冗余的音频模式设置方法,统一使用currentRecognitionMode管理识别模式
优化音频会话配置逻辑,根据模式和音频源类型动态调整参数
新增耳机设备检测功能,自动适配最佳音频路由
|
9 months ago |
lxm
|
a9cca069a0
|
fix(ble_service): 为满足google playstore等安卓应用分发平台的审核要求,移除系统启动权限及相关接收器
不再需要系统启动时自动运行的功能,因此移除相关权限和接收器配置
|
9 months ago |
liwei1dao
|
c7aa53c43f
|
feat(语音处理): 实现电话模式音频路由优化
添加电话模式支持,优化音频路由和麦克风选择逻辑
- 在AgentServiceImpl中新增电话模式设置
- AzureAsrHelper和AzureTtsHelper添加电话模式状态管理
- SimpleAudioReceiver支持优先使用内置麦克风
- 改进音频会话配置和错误处理
- 增强麦克风权限请求和格式转换稳定性
|
9 months ago |
liwei1dao
|
e555c34cb1
|
feat(tts): 支持外部音频源配置并优化音频会话管理
添加对蓝牙等外部音频源的支持,扩展TTS初始化接口以接收外部音频源标志
优化音频会话配置逻辑,根据输入源类型和当前音频状态动态调整参数
增加音频流处理稳定性,改进WAV头探测和缓冲区管理
|
9 months ago |
liwei1dao
|
4ecfbd134e
|
fix(azure_speech): 修复流式播放时speaking状态未正确更新的问题
确保在流式播放模式下speaking状态在适当的时候更新,避免状态不一致。同时优化了sessionid为空时的处理逻辑。
|
9 months ago |
liwei1dao
|
22a669e857
|
fix(tts): 修复蓝牙音频路由和播放状态同步问题
优化音频会话配置逻辑,避免在通话中错误禁用蓝牙音频
重构TTS播放状态管理,确保播放事件与状态同步
修复流式播放完成事件触发时机,避免过早通知
|
9 months ago |
lxm
|
93979e8ae8
|
Revert "提前吧合成数据发送"
This reverts commit 837b870644.
|
9 months ago |
liwei1dao
|
b960729536
|
fix: 将最大空闲秒数从10秒调整为5秒
|
9 months ago |
liwei1dao
|
bf8def60fa
|
refactor(音频处理): 修改音频会话和语音识别相关逻辑
将AzureAsrHelper的performAudioStart方法改为public以便外部调用
在AgentServiceImpl中增加音频会话检查和设置逻辑
调整MusicService中音频会话设置的注释
缩短AgentServiceImpl的空闲检测时间至5秒
|
9 months ago |
lxm
|
231bc66f5f
|
feat(floating_ui): 新增悬浮UI插件实现翻译悬浮窗和录音悬浮条功能
- 添加Android系统悬浮窗服务实现翻译悬浮窗功能
- 实现录音悬浮条服务支持显示/更新/隐藏操作
- 新增iOS画中画(PiP)内容视图支持动态更新翻译文本
- 完善权限检查和事件回传机制
- 更新README详细说明插件功能和使用方式
|
9 months ago |
liwei1dao
|
e24e0dbf20
|
fix(audio): 修复蓝牙音频路由问题并优化外部音频源处理
强制禁用HFP通话音道,改为使用手机麦克风加A2DP输出
新增耳机/蓝牙输出设备检测功能
优化外部音频源的会话配置逻辑
|
9 months ago |
lxm
|
afa4db9099
|
feat(播放器): 添加可扩展的播放器视图和悬浮窗功能
实现播放器视图的扩展/折叠功能,根据内容自动调整高度
为iOS悬浮窗添加类似的可扩展功能,优化用户体验
|
9 months ago |
lxm
|
d4e7ae1599
|
feat(PlayerView): 改进播放器视图的UI和动态文本布局
- 更新背景颜色、阴影和边框样式
- 重构语言标签布局,添加容器视图
- 实现动态文本行数限制以适应不同高度
- 优化字体颜色和行间距
|
9 months ago |
liwei1dao
|
f1a8da1da1
|
fix(azure_speech): 优化蓝牙HFP麦克风检测和音频路由配置
动态检测蓝牙HFP输入设备并优先选择
移除默认外放选项,根据输出设备智能路由
添加音频会话配置的兜底逻辑
|
9 months ago |
liwei1dao
|
7ee76a9248
|
feat(azure_speech): 添加iOS项目基础文件和音频接收器HFP支持
修复音频会话配置逻辑,优化蓝牙耳机兼容性
添加iOS Runner项目文件和测试用例
更新音频接收器以支持HFP模式
|
9 months ago |
liwei1dao
|
c5000cb08c
|
feat(ble_service): 添加AI单次对话指令支持
实现BLE服务对AI单次对话指令的接收和处理,包括开始和结束对话的指令定义、回调接口和事件分发机制
|
9 months ago |
lxm
|
dc7ed33640
|
feat(悬浮窗): 添加点击悬浮窗返回翻译页面功能
实现悬浮窗语言区域点击返回翻译页面功能,并记录上次翻译模式
- 在Android平台下记录当前翻译模式
- 点击悬浮窗语言区域时返回翻译页面并恢复上次模式
- 添加模式存储和读取功能
|
9 months ago |
lxm
|
fab60b68ba
|
feat(悬浮窗): 添加窗口大小调整功能并改进资源清理
- 新增右下角拖拽调整窗口大小的功能
- 改进onDestroy方法中的资源清理逻辑
- 添加窗口权限检查和安全异常处理
- 优化UI缩放和布局参数管理
|
9 months ago |
lxm
|
ca9fbbbe22
|
feat(悬浮窗): 改进悬浮窗UI并添加加载动画和缩放功能
- 重新设计悬浮窗UI样式,包括颜色、圆角和间距
- 添加加载动画效果,显示识别和翻译状态
- 支持双指缩放调整悬浮窗大小
- 优化最小化视图的显示内容
- 移除时间戳显示,改进语言信息展示
|
9 months ago |
liwei1dao
|
c434778082
|
fix(music_service): 添加completeStop方法统一处理停止逻辑
将分散的停止逻辑统一到completeStop方法中,避免资源释放遗漏
修复DELETE_ACTION未正确处理的问题
|
9 months ago |