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

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

--本地AI电话机器人

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

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


  • 一、前言

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

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

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

体验和下载地址:

拨号器 SDK示例apphttp://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语音导航菜单】等基础之上,实现了通话中【随机插播预录语音片段】的功能。

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

相关推荐
大青蛙蛙1 小时前
漫画Android:从网络加载一个50MB的图片,要注意什么?
android
kumalab5 小时前
Android及Harmonyos实现图片进度显示效果
android·华为·harmonyos
ynxw5 小时前
Unity AR 实现模型交互
android·unity·ar·交互
alexhilton5 小时前
MVI架构:Compose中的响应式状态管理
android·kotlin·android jetpack
宿辞1925 小时前
LINUX中MYSQL的使用
android·linux·mysql
code bean7 小时前
【C#】 C#中 nameof 和 ToString () 的用法与区别详解
android·java·c#
佛系小嘟嘟8 小时前
Android Studio Jetpack Compose毛玻璃特效按钮
android·ide·android studio
大囚长9 小时前
未来的随身AI IDC--AI手机
人工智能·智能手机
用户20187928316710 小时前
MagiskHidePropsConf 原理与实战故事
android
whysqwhw10 小时前
Egloo 项目结构分析
android