当前位置: 首页 > news >正文

手机SIM卡通话中随时插入录音语音片段(Android方案)

手机SIM卡通话中随时插入录音语音片段(Android方案)

--本地AI电话机器人

上一篇:ADB识别手机系统弹授权框-如何处理多重弹框叠加和重叠问题

下一篇:手机SIM卡通话中随时插入录音语音片段(Windows方案)​​​​​​​


  • 一、前

前面的系列篇章中,我们实现了拦截手机打电话的声音、根据通话对方声音提取DTMF字符,以及根据这些功能实现的多级IVR语音导航菜单。实现了手机App类似“小爱通话”这种解析用户的上行声音并往对方注入下行应答声音的效果。

前几天有试用的朋友咨询问,既然通话接通后有IVR开场白语音、有IVR语音导航菜单,那能不能实现我正常通话沟通的时候随机插播一个预先录制的语音片段呢

我们分析了一下,正常电话的用户应该是没有这种需求的。但是想想,做起来又不复杂,干脆就“画蛇添足”一番,把这个【随机插播预录语音片段】的功能给添加到界面上。供某些特殊场景有需要的用户,可以直接拿来使用。

体验和下载地址:

拨号器SDK示例app:http://120.78.211.195:8060/sdk/SdkDemo.apk

拨号器声音(Android版):http://120.78.211.195:8060/sdk/DialerAudio.apk

USB蓝牙配件购买路径(参考):https://item.taobao.com/item.htm?_u=pk10l4ccbcd&id=649368472986

  • 二、新功能放到哪里

经初步分析,【随机插播预录语音片段】的功能不应当是独立工作的,它应该是依托于麦克风数据而存在,即:它在正常的SIM卡通话时,一般由麦克风数据跟对方沟通,特殊场景时才会插播预先录制的声音片段,插播完毕后继续使用麦克风数据传输给对方。

这个使用方式就有点类似于通话时旁边放一个音箱,正常是直接是人跟对方说话,某些时候就点一下按钮让音箱播放声音同时人不说话,等音箱播放完毕后再由人跟对方说话。

这么一梳理,这个逻辑就很清晰了:新增加的这个功能,应当要放到贴近麦克风硬件的这一侧

在蓝牙电话方案中,我们依照使用场景将它人为区分成了连接SIP平台和本地AI/IVR识别的两种方式,分别对应于【智能拨号器App】和【拨号器SDK-示例App】这两个应用。

本篇作为功能展示,暂时忽略通过SIP协议平台分发的场景。在本地AI/IVR识别的方案中,我们使用远程【拨号器声音】应用来作为手机SIM卡通话时的最终声音播放和麦克风采集的设备。因此,本篇讲述的新功能,将放入远程【拨号器声音】应用中进行介绍。

  • 三、方案的操作界面

说实在的,之前都已经实现了“接通后立即播放IVR开场白引导提示语”的功能。此处增加“通话中插播语音片段”不过是把原先通话接通事件触发,改为人工手动点击【注入通话】按钮触发而已。有源码在手的话,新功能增加的难度为0。

拉取了源代码的同学,可以自己添加功能或对照着最新代码来添加

远程【拨号器声音】应用中,增加“通话中插播语音片段”的复选框。勾选后将展开【通话中手动插播语音片段】的列表区域。

用户在使用之前可以点击“新增”按钮,在列表中预先录制对应的语音片段。可以在列表区域中对语音片段进行标题修改、语音导入-录制,以及对语音片段进行删除等操作,如下图左侧内容所示。

手机SIM卡通话过程中,应用识别通话接通后,列表将从编辑模式切换到注入模式,如上图右侧所示。此时,可以使用【注入通话】按钮,将之前预先录制的语音片段注入到实时的通话当中。

语音片段的声音数据完全注入成功后,会自动停止注入,继续从麦克风数据中保持采集和发送给通话对方。

  • 四、拨号器SDK-示例Demo界面

蓝牙电话方案中,远程【拨号器声音】应用不是独立工作的,它需要另一个手机上插上USB蓝牙,运行【拨号器SDK-示例App】,并与上述图示的“拨号器声音”App进行配对连接。连接成功后两个手机的界面的黄色高亮区域才会消失。

界面中,可在【功能设置】区域开启“通话对方声音转文字”的复选框。使用此功能来校验是否正常实现了本方案中设想的“通话中手动播放语音片段”的功能,如下图所示:

图示中,我们可以从【通话声音实时ASR转文字】的区域中看到,它确实做到了正常注入麦克风数据的过程中,用户手动点击了一下“查流量”标签的【注入通话】按钮时,往通话对方中注入了“查流量”标签对应的语音数据。注入完毕后自动切换回麦克风数据。

用户在通话过程中,可以随时点击不同的【注入通话】按钮,实现在通话过程中注入不同的预先录制的声音片段的效果。

  • 五、总结

本文也算“画蛇添足”了一番,在原来【拦截手机打电话的声音、根据通话对方声音提取DTMF字符、多级IVR语音导航菜单】等基础之上,实现了通话中【随机插播预录语音片段】的功能。

虽然我们初步评估这个功能估计没啥卵用,但是有试用的朋友提出想法,我们觉得也不麻烦,就顺手添加了上去。有兴趣的朋友或友商可以自行下载和体验通话和音质效果。

http://www.xdnf.cn/news/1049887.html

相关文章:

  • C++20 核心特性详解:现代C++的进化里程碑
  • PyTorch 实现 MNIST 手写数字识别
  • Python训练营---DAY54
  • 子集筛选(Select by Data Index)组件研究
  • 2025年ASOC SCI2区TOP,多策略组合鲸鱼优化算法SCWOA+梯级水库调度,深度解析+性能实测
  • 线上GC count突增问题排查及修复记录
  • 创新项目实训纪实——总结与反思
  • 62-STM32的ISP一键下载电路
  • 如何判断一个项目是否有问题
  • MIT线性代数第一讲笔记
  • LlamaRL 大规模分布式异步强化学习框架
  • Java中hashCode方法与equal方法何时重写
  • 一夜冲刺!!微机原理与接口
  • 无人机指南
  • 常见内核TCP参数描述与配置
  • Django中间件讲解
  • sparseDrive(1): 论文解读
  • 【C++】简单商品价格计算程序练习
  • Day01_刷题niuke20250615
  • Axure应用交互设计:中继器数据向多种类型元件赋值
  • 产品经理页面布局设计的四维思考框架
  • 湖北理元理律师事务所:债务优化中如何保障债务人生存权益
  • Vim命令总结
  • Python类中的特殊方法详解
  • 第十七章:SD如何制作三视图(基础)
  • 计算机操作系统(计算题公式)
  • 在VMware虚拟机集群中,完成Hive的安装部署
  • VTK 显示大量点云数据及交互(点云拾取、着色、测量等)功能
  • sql中like and not like的优化
  • ‘str‘ object does not support item assignment