一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

通路处理方法、装置、设备和存储介质与流程

2022-03-26 13:11:47 来源:中国专利 TAG:


1.本技术涉及终端技术领域,特别涉及一种通路处理方法、装置、设备和存储介质。


背景技术:

2.随着终端技术的快速发展,多屏协同技术得到广泛的应用。多屏协同是指在第一设备(如手机)与第二设备(如平板电脑)建立连接后,在第二设备的界面中镜像显示第一设备的屏幕画面。这种情况下,用户可以通过操作第二设备的界面中所显示的第一设备的屏幕画面,使第一设备执行相应的功能。
3.在多屏协同的场景下,若第一设备与远端通话设备进行通话,则可以切换至第二设备进行通话语音的采集和播放,即可以进行协同通话。具体地,第一设备与第二设备进行协同通话时,第二设备的麦克风采集本端用户的通话语音并发送至第一设备,由第一设备将该通话语音发送至远端通话设备;远端通话设备将远端用户的通话语音发送至第一设备,第一设备将该通话语音发送至第二设备,由第二设备的扬声器进行播放。
4.然而,在第一设备与第二设备进行协同通话的情况下,若第一设备开启通话录音,协同通话过程中对通话语音的获取会与通话录音过程中对通话语音的获取产生冲突,从而导致两者均无法正常获取通话语音。


技术实现要素:

5.本技术提供了一种通路处理方法、装置、设备、存储介质和程序产品,可以避免协同通话和通话录音同时使用时的通路冲突问题,可以保证协同通话和通话录音均能够正常获取到通话语音数据。所述技术方案如下:第一方面,提供了一种通路处理方法,应用于第一设备。在该方法中,若协同通话功能由关闭状态切换为开启状态,则检测通话录音功能的状态。若检测到通话录音功能处于开启状态,则关闭通话录音功能对应的第一用例,打开协同通话功能对应的第二用例和第三用例,第一用例用于打开第一通路和第二通路,第二用例用于打开第二通路,第三用例用于打开第三通路。之后,通过第三通路将通话上行语音数据发送至与第一设备进行通话的远端通话设备,将第二通路获取到的通话下行语音数据发送至第二设备进行播放,以及将通过第三通路发送的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据。
6.第一设备与第二设备处于多屏协同状态时,第一设备的屏幕画面显示于第二设备的界面。这种情况下,用户可以通过操作第二设备的界面中所显示的第一设备的屏幕画面,使第一设备执行相应的功能。
7.协同通话功能用于指示由与第一设备处于多屏协同状态的第二设备进行通话语音的采集和播放。第一设备可以开启协同通话功能,以通过第二设备进行通话语音的采集和播放。
8.第一通路用于获取第一设备采集的通话上行语音数据,第二通路用于获取远端通
话设备发送至第一设备的通话下行语音数据,第三通路用于将第二设备发送至第一设备的通话上行语音数据发送至远端通话设备。
9.本技术中,在协同通话功能和通话录音功能均处于开启状态的情况下,不打开通话录音功能对应的第一用例,仅打开协同通话功能对应的第二用例和第三用例。第一设备可以通过第二用例所打开的第二通路获取到远端通话设备发送至第一设备的通话下行语音数据,将第二通路获取到的通话下行语音数据发送至第二设备进行播放,且通过第三用例所打开的第三通路将第二设备发送至第一设备的通话上行语音数据发送至远端通话设备,以此实现协同通话。并且,第一设备可将通过第三通路发送的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据,以此实现通话录音。如此,本技术通过简单的处理流程就可以避免协同通话和通话录音同时使用时的通路冲突问题,可以保证协同通话和通话录音均能够正常获取到通话语音数据,实现逻辑易于理解和维护。
10.可选地,若协同通话功能由关闭状态切换为开启状态,则检测通话录音功能的状态之后,若检测到通话录音功能处于关闭状态,则打开第二用例和第三用例;通过第三通路将通话上行语音数据发送至远端通话设备,将第二通路获取到的通话下行语音数据发送至第二设备进行播放。
11.第一设备在协同通话功能由关闭状态切换为开启状态时,若检测到通话录音功能处于关闭状态,说明当前未打开通话录音功能对应的第一用例,因而此时可以直接打开协同通话功能对应的第二用例和第三用例,之后通过第二用例所打开的第二通路和第三用例所打开的第三通路,可以实现协同通话对通话语音数据的正常获取。
12.可选地,若协同通话功能由开启状态切换为关闭状态,则检测通话录音功能的状态,以根据通话录音功能的状态确定是否要打开通话录音功能对应的第一用例。若检测到通话录音功能处于关闭状态,则关闭第二用例和第三用例。若检测到通话录音功能处于开启状态,则关闭第二用例和第三用例,打开第一用例,以打开第一通路和第二通路,将第一通路获取到的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据,如此可以保证通话录音的正常进行。
13.可选地,若通话录音功能由关闭状态切换为开启状态,则检测协同通话功能的状态,以便根据协同通话功能的状态,确定需要打开和关闭的用例。若检测到协同通话功能处于关闭状态,则打开第一用例,将第一通路获取到的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据。
14.若检测到协同通话功能处于开启状态,则不执行打开协同通话功能对应的第一用例的操作。在协同通话功能处于开启状态的情况下,第一设备可以直接通过协同通话功能对应的第二用例和第三用例来实现通话录音,即可以直接将协同通话功能对应的第二用例所打开的第二通路获取到的通话下行语音数据与通过协同通话功能对应的第三用例所打开的第三通路发送的通话上行语音数据进行混音处理,来得到通路录音数据。因而此时第一设备无需打开第一用例。
15.可选地,若通话录音功能由开启状态切换为关闭状态,则检测协同通话功能的状态。若检测到协同通话功能处于关闭状态,说明已打开了第一用例,因而此时需要关闭第一用例,以结束通话录音。若第一设备检测到协同通话功能处于开启状态,说明未打开第一用
例,则此时不执行关闭第一用例的操作,且停止对通过第三通路发送的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理。
16.第二方面,提供了一种通路处理装置,所述通路处理装置具有实现上述第一方面中通路处理方法行为的功能。所述通路处理装置包括至少一个模块,所述至少一个模块用于实现上述第一方面所提供的通路处理方法。
17.第三方面,提供了一种通路处理装置,所述通路处理装置的结构中包括处理器和存储器,所述存储器用于存储支持通路处理装置执行上述第一方面所提供的通路处理方法的程序,以及存储用于实现上述第一方面所述的通路处理方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述通路处理装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
18.第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的通路处理方法。
19.第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的通路处理方法。
20.上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
21.图1是本技术实施例提供的一种终端的结构示意图;图2是本技术实施例提供的一种终端的软件系统的框图;图3是本技术实施例提供的第一种多屏协同场景下的界面示意图;图4是本技术实施例提供的一种平板电脑的界面示意图;图5是本技术实施例提供的一种手机的界面示意图;图6是本技术实施例提供的另一种平板电脑的界面示意图;图7是本技术实施例提供的另一种手机的界面示意图;图8是本技术实施例提供的一种多屏协同系统的示意图;图9是本技术实施例提供的第二种多屏协同场景下的界面示意图;图10是本技术实施例提供的第三种多屏协同场景下的界面示意图;图11是本技术实施例提供的第四种多屏协同场景下的界面示意图;图12是本技术实施例提供的第五种多屏协同场景下的界面示意图;图13是本技术实施例提供的一种用例和通路的示意图;图14是本技术实施例提供的一种通路处理方法的流程图;图15是本技术实施例提供的另一种通路处理方法的流程图;图16是本技术实施例提供的一种通话录音过程的流程图;图17是本技术实施例提供的另一种用例和通路的示意图;图18是本技术实施例提供的又一种用例和通路的示意图;图19是本技术实施例提供的一种通路处理装置的结构示意图。
具体实施方式
22.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术的实施方式作进一步地详细描述。
23.应当理解的是,本技术提及的“多个”是指两个或两个以上。在本技术的描述中,除非另有说明,“/”表示或的意思,比如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,比如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,为了便于清楚描述本技术的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
24.在本技术中描述的“一个实施例”或“一些实施例”等语句意味着在本技术的一个或多个实施例中包括该实施例描述的特定特征、结构或特点。由此,在本技术中的不同之处出现的“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等语句不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。此外,术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
25.下面对本技术实施例涉及的终端予以说明。
26.图1是本技术实施例提供的一种终端的结构示意图。参见图1,终端100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户识别模块(subscriber identity module,sim)卡接口195等。其中,传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
27.可以理解的是,本技术实施例示意的结构并不构成对终端100的具体限定。在本技术另一些实施例中,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
28.处理器110可以包括一个或多个处理单元,比如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
29.其中,控制器可以是终端100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
30.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器
110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从该存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
31.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端100供电。
32.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
33.终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
34.移动通信模块150可以提供应用在终端100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
35.无线通信模块160可以提供应用在终端100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
36.终端100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
37.终端100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
38.外部存储器接口120可以用于连接外部存储卡,比如micro sd卡,实现扩展终端100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。比如将音乐,视频等文件保存在外部存储卡中。
39.内部存储器121可以用于存储计算机可执行程序代码,计算机可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,来执行终端100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端100在使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,比如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
40.终端100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d以及应用处理器等实现音频功能,比如音乐播放,录音等。
41.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
42.sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和终端100的接触和分离。终端100可以支持1个或n个sim卡接口,n为大于1的整数。sim卡接口195可以支持nano sim卡,micro sim卡,sim卡等。同一个sim卡接口195可以同时插入多张卡。多张卡的类型可以相同,也可以不同。sim卡接口195也可以兼容不同类型的sim卡。sim卡接口195也可以兼容外部存储卡。终端100通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端100采用esim,即:嵌入式sim卡。esim卡可以嵌在终端100中,不能和终端100分离。
43.接下来对终端100的软件系统予以说明。
44.终端100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的安卓(android)系统为例,对终端100的软件系统进行示例性说明。
45.图2是本技术实施例提供的一种终端100的软件系统的框图。参见图2,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分从上至下分为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统层,扩展层,以及内核层。
46.应用程序层可以包括一系列应用程序包。如图2所示,应用程序包可以包括多屏协同,相机,图库,日历,通话,地图,通话录音,wlan,蓝牙,短信息等应用程序。多屏协同应用程序用于开启多屏协同功能。
47.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。如图2所示,应用程序框架层可以包括音频框架(audio framework),分布式移动感知平台(distributed mobile sensing development platform,dmsdp),窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
48.音频框架负责回放数据的输出、录音数据的采集以及音频事务的综合管理等。dmsdp用于为多屏协同过程提供功能支持,如可实现多屏协同过程中的协同通话。窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截
取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问,这些数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,比如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序的显示界面,显示界面可以由一个或多个视图组成,比如,包括显示短信通知图标的视图,包括显示文字的视图,以及包括显示图片的视图。电话管理器用于提供终端100的通信功能,比如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如,通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或滚动条文本形式出现在系统顶部状态栏的通知,比如后台运行的应用程序的通知。通知管理器还可以是以对话窗口形式出现在屏幕上的通知,比如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
49.android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
50.系统层可以包括多个功能模块,比如:音频服务(audio services),表面管理器(surface manager),媒体库(media libraries),三维图形处理库(比如:opengl es),2d图形引擎(比如:sgl)等。音频服务是音频策略的制定者,负责音频设备切换的策略抉择、音量调节策略等,且是音频策略的执行者,负责输入输出流设备的管理及音频流数据的处理传输。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,比如:mpeg4,h.264,mp3,aac,amr,jpg,png等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。二维图形引擎是二维绘图的绘图引擎。
51.扩展层也可称为硬件抽象层(hardware abstracting layer,hal),其可以实现对内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。扩展层向上衔接android runtime和framework,向下衔接驱动程序。扩展层可以包括音频硬件抽象层(audio hal),负责与音频硬件设备的交互。
52.内核层是硬件和软件之间的层。内核层可以包含显示驱动,摄像头驱动,音频驱动,传感器驱动,脉冲编码调制(pulse code modulation,pcm)设备等。其中,pcm设备也可称为pcm device。
53.下面以手机和平板电脑进行多屏协同为例,对本技术实施例涉及的应用场景予以说明。
54.手机在拨打电话或接听来电的情况下,可以与远端通话设备进行通话。该通话可以包括语音通话、视频通话等,本技术实施例对此不作限定。比如,该通话可以是通过运营商服务建立的通话,如可以为2g通话、3g通话、4g通话、5g通话等。
55.在手机与平板电脑处于多屏协同状态的情况下,若手机与远端通话设备进行通
路径找到“扫码连接”的按钮,用户点击该按钮,平板电脑响应于用户对该按钮的触发操作,显示用于建立协同连接的二维码,比如,可以显示如图6所示的二维码。可选地,平板电脑还可以显示用于提示用户如何操作以实现多屏协同的第二操作提示信息,比如,如图6所示,第二操作提示信息可以为“使用手机浏览器扫码连接”。
66.在一个示例中,参见图7所示的手机的界面示意图,用户可以在手机的浏览器(或智慧视觉)中进入显示有“扫一扫”选项的界面,比如,可以进入如图7中的(a)图所示的浏览器的界面,该界面中显示有“扫一扫”选项71。用户可以点击“扫一扫”选项71,手机响应于用户对“扫一扫”选项71的触发操作,启动摄像头,显示如图7中的(b)图所示的扫码界面,如此用户可将摄像头对准平板电脑显示的二维码进行扫码操作。
67.在一个示例中,手机扫码成功后,向平板电脑发送建立协同连接的请求。平板电脑接收到手机发送的该请求后,可以显示第四提示窗口,第四提示窗口中包括用于提示用户是否同意建立协同连接的提示信息,比如,该提示信息可以包括“xx设备请求与本端建立协同连接,是否同意建立协同连接”的提示内容,以及“同意”选项和“拒绝”选项。当用户点击“同意”选项时,说明用户允许手机与平板电脑建立协同连接,平板电脑响应于用户对“同意”选项的触发操作,与手机建立协同连接。当用户点击“拒绝”选项时,说明用户不允许手机与平板电脑建立协同连接,平板电脑响应于用户对“拒绝”选项的触发操作,通知手机建立协同连接失败。
68.需要说明的是,上述仅是以用户在平板电脑中通过“我的手机
”‑“
立即连接
”‑“
扫码连接”的路径打开二维码为例进行说明。可选地,还可以通过其他路径打开二维码。比如,如图4中的(b)图所示,第一提示窗口中除了包括第一操作提示信息之外,还包括“若发现不了本机,您也可扫码连接”的提示内容,其中“扫码连接”四个字是可触发的。用户可以点击第一提示窗口中的“扫码连接”内容,平板电脑响应于用户对“扫码连接”内容的触发操作,显示如图6所示的二维码。如此,用户可通过手机扫描平板电脑显示的二维码,从而通过扫码的方式建立协同连接。
69.3.通过碰一碰的方式建立连接。
70.用户可以在手机和平板电脑中均开启nfc和多屏协同功能。之后,用户将手机背部的nfc区域(通常位于手机背部摄像头周围)触碰平板电脑的nfc区域(通常位于平板电脑的右下角区域),手机和平板电脑响应于用户的触碰操作,通过nfc建立协同连接。可选地,在通过nfc建立协同连接之前,平板电脑和手机还可以提示用户是否同意建立协同连接,在用户同意建立协同连接后,手机和平板电脑执行建立协同连接的操作。在一个示例中,当手机与平板电脑成功建立协同连接时,手机还可以通过振动或响铃的方式对用户进行提醒。
71.需要说明的是,上述几种可能的连接方式均是以通过无线连接方式实现为例进行说明。在另一实施例中,还可以通过有线连接方式实现,比如可以通过type-c转高清晰度多媒体接口(high definition multimedia interface,hdmi)的连接线实现,本技术实施例对此不作限定。
72.下面对本技术实施例提供的通路处理方法涉及的多屏协同系统予以说明。
73.图8是本技术实施例提供的一种多屏协同系统的示意图。参见图8,该多屏协同系统可以包括第一设备801和第二设备802。第一设备801与第二设备802可以通过有线连接或无线连接进行通信。
74.第一设备801和第二设备802均可以为终端,该终端可以为上文图1-图2实施例所述的终端。比如,该终端可以为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)、电视等,本技术实施例对此不作限定。
75.第一设备801与第二设备802可以进行多屏协同,第一设备801与第二设备802可以通过多种可能的方式实现多屏协同,比如,可以通过蓝牙、扫码、碰一碰等方式实现多屏协同,这几种方式已在上文进行详细说明,具体可以参考图4-图7的相关描述,本技术实施例对此不再赘述。
76.第一设备801与第二设备802处于多屏协同状态时,如图9所示,第一设备801的屏幕画面可以显示于第二设备802的界面。如此,用户可根据需求在第二设备802中通过操作第二设备802所显示的第一设备801的屏幕画面,使第一设备801执行相应的功能。
77.第一设备801和第二设备802可以为不同类型的终端,也可以为相同类型的终端,本技术实施例对此不作限定。比如,两者均可以为手机或平板电脑等终端。
78.在一种可能的实现方式中,第一设备801的屏幕尺寸小于第二设备802的屏幕尺寸,以在小屏与大屏进行多屏协同时,将小屏的屏幕画面作为一个窗口显示至大屏的界面,可供用户在大屏的界面中对小屏的屏幕画面进行操作,提高用户的操作体验。比如,第一设备801为手机,第二设备802为平板电脑或电视。或者,第一设备801为平板电脑,第二设备802为电视。当然,第一设备801的屏幕尺寸也可以大于第二设备802的屏幕尺寸。比如,第一设备801为平板电脑,第二设备802为手机。
79.在第一设备801与第二设备802处于多屏协同状态时,若第一设备801与远端通话设备进行通话,则可以开启协同通话功能,以切换至第二设备802进行通话语音的采集和播放。并且,在第一设备801的通话过程中,还可以开启通话录音功能,以对通话语音进行录制。
80.本技术实施例提供的通路处理方法就应用于第一设备801与第二设备802进行多屏协同的场景下。这种情况下,第一设备801通过执行本技术实施例提供的通路处理方法,可以在与第二设备802处于多屏协同状态时,根据协同通话功能和通话录音功能的开启和关闭,动态调整对应用例的打开和关闭,以通过合适的通路来获取通话语音数据,保证协同通话和通话录音的正常进行。
81.下面对本技术实施例提供的通路处理方法进行详细地解释说明。
82.本技术实施例提供的通路处理方法应用于第一设备,第一设备与第二设备可进行多屏协同。比如,如图9所示,第一设备801与第二设备802处于多屏协同状态时,第一设备801的屏幕画面显示于第二设备802的界面。这种情况下,用户可以通过操作第二设备802的界面中所显示的第一设备801的屏幕画面,使第一设备801执行相应的功能。
83.第一设备与第二设备可以通过多种可能的方式实现多屏协同,比如,可以通过蓝牙、扫码、碰一碰等方式实现多屏协同,这几种方式已在上文进行详细说明,具体可以参考图4-图7的相关描述,本技术实施例对此不再赘述。
84.第一设备为能够进行通话的设备。第一设备中可以安装有一张或多张sim卡,第一设备可以使用该一张或多张sim卡中的任意一张sim卡进行通话。比如,在第一设备仅安装
有一张sim卡的情况下,第一设备可以直接使用这张sim卡进行通话,如可以使用这张sim卡拨打电话,或使用这张sim卡接听来电。在第一设备安装有多张sim卡的情况下,第一设备可以使用该多张sim卡中的一张sim卡进行通话,如可以使用这张sim卡拨打电话,或使用这张sim卡接听来电。
85.接下来对第一设备涉及到的通话场景、协同通话场景和通话录音场景进行说明。
86.通话场景:作为一种示例,在第一设备未与第二设备处于多屏协同状态的情况下,用户可以直接在第一设备中进行操作以使第一设备开始与远端通话设备进行通话。比如,用户可以直接在第一设备中拨打电话或接听来电来使第一设备开始与远端通话设备进行通话,此过程可参考相关技术,本技术实施例对此不进行详细阐述。
87.作为另一种示例,在第一设备与第二设备处于多屏协同状态时,用户可以直接在第一设备中进行操作以使第一设备开始与远端通话设备进行通话,或者,用户可以在第二设备中进行操作以使第一设备开始与远端通话设备进行通话。
88.下面以在第一设备中拨打电话来开始进行通话为例,对几种可能的操作方式进行说明。
89.第一种可能的操作方式中,若用户想要在第一设备中拨打电话,可以直接在第一设备执行操作来实现。
90.比如,如图9所示,第一设备801与第二设备802处于多屏协同状态时,第一设备801和第二设备802同步显示第一设备801的主界面,若用户想要拨打电话,则用户可以在第一设备801的主界面中点击拨打电话的图标901,以打开第一设备的拨号界面,此时如图10所示,第一设备801和第二设备802会同步显示第一设备801的拨号界面。然后用户可以在第一设备801的拨号界面中进行拨号操作,以在第一设备801中拨打电话来开始进行通话。其中,在第一设备801仅安装有一张sim卡的情况下,用户可以在第一设备801的拨号界面中直接进行拨号操作,如此是在第一设备801中使用这张sim卡来拨打电话。或者,在第一设备801安装有多张sim卡的情况下,如图10所示,第一设备801的拨号界面中显示有多张sim卡中每张sim卡的图标92,用户可以在第一设备801的拨号界面中先选择一张sim卡的图标92,再在第一设备801的拨号界面进行拨号操作,如此是在第一设备801中使用所选择的这张sim卡来拨打电话。
91.第二种可能的操作方式中,若用户想要在第一设备中拨打电话,可以在与第一设备处于多屏协同状态的第二设备执行操作来实现。
92.比如,如图9所示,第一设备801与第二设备802处于多屏协同状态时,第一设备801和第二设备802同步显示第一设备801的主界面,若用户想要拨打电话,则用户可以在第二设备802所显示的第一设备801的主界面中点击拨打电话的图标91,以打开第一设备801的拨号界面,此时如图10所示,第一设备801和第二设备802会同步显示第一设备801的拨号界面。然后用户可以在第二设备802所显示的第一设备801的拨号界面中进行拨号操作,以实现在第一设备801中拨打电话来开始进行通话。其中,在第一设备801仅安装有一张sim卡的情况下,用户可以在第二设备802所显示的第一设备801的拨号界面中直接进行拨号操作,如此可实现在第一设备801中使用这张sim卡来拨打电话。或者,在第一设备801安装有多张sim卡的情况下,如图10所示,第一设备801的拨号界面中显示有多张sim卡中每张sim卡的
图标92,用户可以在第二设备802所显示的第一设备801的拨号界面中先选择一张sim卡的图标92,再在第二设备802所显示的第一设备801的拨号界面进行拨号操作,如此可实现在第一设备801中使用所选择的这张sim卡来拨打电话。
93.第三种可能的操作方式中,若用户想要在第一设备中拨打电话,可以在第一设备和与第一设备处于多屏协同状态的第二设备均执行操作来实现。
94.比如,如图9所示,第一设备801与第二设备802处于多屏协同状态时,第一设备801和第二设备802同步显示第一设备801的主界面,若用户想要拨打电话,则用户可以在第二设备802所显示的第一设备801的主界面中点击拨打电话的图标91,以打开第一设备801的拨号界面,此时如图10所示,第一设备801和第二设备802会同步显示第一设备801的拨号界面。然后用户可以在第一设备801的拨号界面中进行拨号操作,以在第一设备801中拨打电话来开始进行通话。其中,在第一设备801仅安装有一张sim卡的情况下,用户可以在第一设备801的拨号界面中直接进行拨号操作,如此是在第一设备801中使用这张sim卡来拨打电话。或者,在第一设备801安装有多张sim卡的情况下,如图10所示,第一设备801的拨号界面中显示有多张sim卡中每张sim卡的图标92,用户可以在第一设备801的拨号界面中先选择一张sim卡的图标92,再在第一设备801的拨号界面进行拨号操作,如此是在第一设备801中使用所选择的这张sim卡来拨打电话。
95.又比如,如图9所示,第一设备801与第二设备802处于多屏协同状态时,第一设备801和第二设备802同步显示第一设备801的主界面,若用户想要拨打电话,则用户可以在第一设备801的主界面中点击拨打电话的图标91,以打开第一设备801的拨号界面,此时如图10所示,第一设备801和第二设备802会同步显示第一设备801的拨号界面。然后用户可以在第二设备802所显示的第一设备801的拨号界面中进行拨号操作,以实现在第一设备801中拨打电话来开始进行通话。其中,在第一设备801仅安装有一张sim卡的情况下,用户可以在第二设备802所显示的第一设备801的拨号界面中直接进行拨号操作,如此可实现在第一设备801中使用这张sim卡来拨打电话。或者,在第一设备801安装有多张sim卡的情况下,如图10所示,第一设备801的拨号界面中显示有多张sim卡中每张sim卡的图标92,用户可以在第二设备802所显示的第一设备801的拨号界面中先选择一张sim卡的图标92,再在第二设备802所显示的第一设备801的拨号界面进行拨号操作,如此可实现在第一设备801中使用所选择的这张sim卡来拨打电话。
96.下面以在第一设备中接听来电来开始进行通话为例,对几种可能的操作方式进行说明。
97.第一种可能的操作方式,在第一设备存在来电时,若用户想要在第一设备中接听来电,可以直接在第一设备执行操作来实现。
98.比如,第一设备801与第二设备802处于多屏协同状态时,若第一设备801存在来电,则如图11所示,第一设备801和第二设备802会同步显示第一设备801的来电界面。若用户想要接听来电,则用户可以在第一设备801的来电界面中点击接听按钮93,以在第一设备801中接听来电来开始进行通话。其中,在第一设备801仅安装有一张sim卡的情况下,第一设备801中的来电是针对这张sim卡的来电,如此是在第一设备801中使用这张sim卡来接听来电;或者,在第一设备801安装有多张sim卡的情况下,第一设备801中的来电是针对这多张sim卡中的一张sim卡的来电,如此是在第一设备801中使用这张sim卡来接听来电。
99.第二种可能的操作方式,在第一设备存在来电时,若用户想要在第一设备中接听来电,可以在与第一设备处于多屏协同状态的第二设备执行操作来实现。
100.比如,第一设备801与第二设备802处于多屏协同状态时,若第一设备801存在来电,则如图11所示,第一设备801和第二设备802会同步显示第一设备801的来电界面。若用户想要接听来电,则用户可以在第二设备802所显示的第一设备801的来电界面中点击接听按钮93,以实现在第一设备801中接听来电来开始进行通话。其中,在第一设备801仅安装有一张sim卡的情况下,第一设备801中的来电是针对这张sim卡的来电,如此是在第一设备801中使用这张sim卡来接听来电;或者,在第一设备801安装有多张sim卡的情况下,第一设备801中的来电是针对这多张sim卡中的一张sim卡的来电,如此是在第一设备801中使用这张sim卡来接听来电。
101.协同通话场景:在第一设备与第二设备处于多屏协同状态时,第一设备和第二设备中均包括有协同通话开关,第一设备和第二设备中的协同通话开关同步打开或关闭。协同通话开关用于指示在第一设备的通话过程中是否由第二设备进行通话语音的采集和播放,即指示在第一设备的通话过程中是否开启协同通话功能。也就是说,在协同通话开关打开的情况下,在第一设备的通话过程中会开启协同通话功能;在协同通话开关关闭的情况下,在第一设备的通话过程中会关闭协同通话功能。
102.示例地,在第一设备801与第二设备802处于多屏协同状态时,如图12所示,假设第一设备801为手机,第二设备802为平板电脑,则用户在第二设备802中下拉第二设备802的通知栏后,第二设备802的通知栏中可以显示“已协同至手机”的提示内容,该通知栏中还可以包括用于切换通话语音至平板电脑的协同通话开关94,用户可以根据需求在第二设备802中打开或关闭协同通话开关94,以指示是否在第一设备801的通话过程中开启协同通话功能。
103.或者,在第一设备与第二设备处于多屏协同状态时,假设第一设备为手机,第二设备为平板电脑,则用户也可以在第一设备中下拉第一设备的通知栏,第一设备的通知栏中可以显示“已协同至平板电脑”的提示内容,该通知栏中还可以包括用于切换通话语音至平板电脑的协同通话开关,用户可以根据需求在第一设备中打开或关闭协同通话开关,以指示是否在第一设备的通话过程中开启协同通话功能。
104.上述仅是以协同通话开关设于第一设备和第二设备的下拉通知栏为例进行说明,实际应用中,协同通话开关也可以设于第一设备和第二设备的其他界面中,本技术实施例对此不作限定。
105.协同通话开关打开时,在第一设备的通话过程中会开启协同通话功能,以进行协同通话,即在第一设备的通话过程中会通过第二设备进行通话语音的采集和播放。具体来讲,第一设备与第二设备进行协同通话时,第二设备的麦克风采集本端用户的通话语音并发送至第一设备,由第一设备将该通话语音发送至远端通话设备;远端通话设备将远端用户的通话语音发送至第一设备,第一设备将该通话语音发送至第二设备,由第二设备的扬声器进行播放。
106.协同通话开关关闭时,在第一设备的通话过程中会关闭协同通话功能,即不会进行协同通话,即在第一设备的通话过程中仍旧由第一设备进行通话语音的采集和播放。具
体来讲,第一设备的麦克风采集本端用户的通话语音并发送至远端通话设备;远端通话设备将远端用户的通话语音发送至第一设备,由第一设备的扬声器或听筒进行播放。
107.下面对协同通话功能的几种可能的开启和关闭情况进行说明:第一种可能的情况,第一设备与第二设备处于多屏协同状态,但第一设备尚未与远端通话设备进行通话,此时可以进行协同通话开关的打开或关闭。之后,第一设备开始与远端通话设备进行通话,此时可以根据协同通话开关的状态选择是否开启协同通话功能。
108.这种情况下,第一设备是先与第二设备进行多屏协同,再与远端通话设备进行通话。
109.在一些实施例中,在第一设备与第二设备刚开始进行多屏协同时,第一设备和第二设备可以默认打开协同通话开关,也即,在第一设备与第二设备建立多屏协同连接时,第一设备和第二设备会自动打开协同通话开关。当然,在第一设备与第二设备刚开始进行多屏协同时,第一设备和第二设备也可以默认关闭协同通话开关。
110.在另一些实施例中,在第一设备与第二设备进行多屏协同的过程中,可以由一些特定模式关联触发协同通话开关的打开,比如,若用户在第二设备中播放音频或视频,则第一设备和第二设备可以自动同步打开协同通话开关。当然,在第一设备与第二设备进行多屏协同的过程中,也可以由另一些特定模式关联触发协同通话开关的关闭,比如,若用户在第一设备中播放音频或视频,则第一设备和第二设备可以自动同步关闭协同通话开关。
111.在又一些实施例中,在第一设备与第二设备进行多屏协同的过程中,可以由用户手动打开第一设备或第二设备中的协同通话开关,在第一设备和第二设备中的一个设备中的协同通话开关被用户手动打开后,另一个设备中的协同通话开关也会自动同步打开。当然,在第一设备与第二设备进行多屏协同的过程中,也可以由用户手动关闭第一设备或第二设备中的协同通话开关,在第一设备和第二设备中的一个设备中的协同通话开关被用户手动关闭后,另一个设备中的协同通话开关也会自动同步关闭。
112.在再一些实施例中,协同通话开关的打开和关闭也可以由用户的拨打电话行为或接听来电行为而决定。具体来讲,若在第一设备与第二设备进行多屏协同的过程中,用户通过操作第二设备所显示的第一设备的屏幕画面,来实现在第一设备拨打电话或接听来电,则第一设备和第二设备均会打开协同通话开关。或者,若在第一设备与第二设备进行多屏协同的过程中,用户直接在第一设备拨打电话或接听来电,则第一设备和第二设备均会关闭协同通话开关。
113.在上述第一种可能的情况下,若在第一设备与第二设备进行多屏协同的过程中已打开协同通话开关,则第一设备后续开始与远端通话设备进行通话时会开启协同通话功能;而若在第一设备与第二设备进行多屏协同的过程中已关闭协同通话开关,则第一设备后续开始与远端通话设备进行通话时不会开启协同通话功能。
114.也就是说,在第一设备与第二设备处于多屏协同状态时,若第一设备开始与远端通话设备进行通话,此时若协同通话开关处于打开状态,则第一设备会开启协同通话功能,以进行协同通话,即在第一设备的通话过程中由第二设备进行通话语音的采集和播放;而此时若协同通话开关处于关闭状态,则第一设备不开启协同通话功能,即不进行协同通话,仍旧由第一设备进行通话语音的采集和播放。
115.第二种可能的情况,第一设备未与第二设备处于多屏协同状态,但第一设备开始
与远端通话设备进行通话。之后,第一设备在通话过程中与第二设备建立多屏协同连接,在第一设备与第二设备处于多屏协同状态时,可以进行协同通话开关的打开或关闭,第一设备根据协同通话开关的状态选择是否开启协同通话功能。
116.这种情况下,第一设备是先与远端通话设备进行通话,再在通话过程中与第二设备进行多屏协同。
117.在一些实施例中,若第一设备在通话过程中与第二设备进行多屏协同,若在第一设备与第二设备刚开始进行多屏协同时,第一设备和第二设备默认打开协同通话开关,则第一设备在与第二设备刚开始进行多屏协同时就可以开启协同通话功能,以进行协同通话,即切换至第二设备进行通话语音的采集和播放。而若第一设备与第二设备刚开始进行多屏协同时,第一设备和第二设备默认关闭协同通话开关,则第一设备在与第二设备刚开始进行多屏协同时不开启协同通话功能,此时继续由第一设备进行通话语音的采集和播放。
118.第三种可能的情况,第一设备与第二设备处于多屏协同状态,且第一设备与远端通话设备进行通话,此时可以进行协同通话开关的状态切换,第一设备在协同通话开关的状态发生切换时对协同通话功能的状态进行切换。
119.在一些实施例中,在第一设备与第二设备进行多屏协同的过程中,可以由一些特定模式关联触发协同通话开关的打开,比如,若用户在第二设备中播放音频或视频,则第一设备和第二设备可以自动同步将协同通话开关由关闭状态切换为打开状态。第一设备在通话过程中若检测到协同通话开关由关闭状态切换为打开状态,则会将协同通话功能由关闭状态切换为开启状态,以进行协同通话,即切换至第二设备进行通话语音的采集和播放。
120.当然,在第一设备与第二设备进行多屏协同的过程中,也可以由另一些特定模式关联触发协同通话开关的关闭,比如,若用户在第一设备中播放音频或视频,则第一设备和第二设备可以自动同步将协同通话开关由打开状态切换为关闭状态。第一设备在通话过程中若检测到协同通话开关由打开状态切换为关闭状态,则会将协同通话功能由开启状态切换为关闭状态,以结束协同通话,即切换回第一设备进行通话语音的采集和播放。
121.在另一些实施例中,在第一设备与第二设备进行多屏协同的过程中,可以由用户手动打开第一设备或第二设备中的协同通话开关,在第一设备和第二设备中的一个设备中的协同通话开关被用户手动打开后,另一个设备中的协同通话开关也会自动同步打开,此时第一设备和第二设备中的协同通话开关均由关闭状态切换为打开状态。第一设备在通话过程中若检测到协同通话开关由关闭状态切换为打开状态,则会将协同通话功能由关闭状态切换为开启状态,以进行协同通话,即切换至第二设备进行通话语音的采集和播放。
122.当然,在第一设备与第二设备进行多屏协同的过程中,也可以由用户手动关闭第一设备或第二设备中的协同通话开关,在第一设备和第二设备中的一个设备中的协同通话开关被用户手动关闭后,另一个设备中的协同通话开关也会自动同步关闭。此时第一设备和第二设备中的协同通话开关均由关闭状态切换为打开状态。第一设备在通话过程中若检测到协同通话开关由打开状态切换为关闭状态,则会将协同通话功能由开启状态切换为关闭状态,以结束协同通话,即切换回第一设备进行通话语音的采集和播放。
123.通话录音场景:作为一种示例,在第一设备未与第二设备处于多屏协同状态的情况下,若第一设
备开始与远端通话设备进行通话,则第一设备会显示通话界面。该通话界面中可以包括录音按钮,在第一设备的通话过程中,用户可以在第一设备中通过操作该通话界面中的录音按钮来开启或关闭通话录音功能。当然,用户也可以通过其他方式来在第一设备的通话过程中开启或关闭通话录音功能,本技术实施例对此不作限定。
124.作为另一种示例,在第一设备与第二设备处于多屏协同状态时,若第一设备与远端通话设备进行通话,则第一设备和第二设备会同步显示第一设备的通话界面。该通话界面中可以包括录音按钮,在第一设备的通话过程中,用户可以通过操作该录音按钮来开启或关闭通话录音功能。当然,用户也可以通过其他方式来在第一设备的通话过程中开启或关闭通话录音功能,本技术实施例对此不作限定。
125.下面以通过操作通话界面中的录音按钮来开启或关闭通话录音功能为例,对几种可能的操作方式进行说明。
126.第一种可能的操作方式中,若用户想要在第一设备的通话过程中开启通话录音功能,可以直接在第一设备执行操作来实现。
127.比如,如图12所示,第一设备801与第二设备802处于多屏协同状态时,若第一设备801与远端通话设备进行通话,则第一设备801和第二设备802同步显示第一设备801的通话界面,该通话界面中包括录音按钮95。用户可以在第一设备801的通话界面中点击录音按钮95,以开启通话录音功能,此时第一设备801可以进行通话录音,得到通话录音数据。
128.第二种可能的操作方式中,若用户想要在第一设备的通话过程中开启通话录音功能,可以在与第一设备进行多屏协同的第二设备执行操作来实现。
129.比如,如图12所示,第一设备801与第二设备802处于多屏协同状态时,若第一设备801与远端通话设备进行通话,则第一设备801和第二设备802同步显示第一设备801的通话界面,该通话界面中包括录音按钮95。用户可以在第二设备802所显示的第一设备801的通话界面中点击录音按钮95,以开启通话录音功能,此时第一设备801可以进行通话录音,得到通话录音数据。
130.第三种可能的操作方式中,若用户想要在第一设备的通话过程中关闭通话录音功能,可以直接在第一设备执行操作来实现。
131.比如,如图12所示,第一设备801与第二设备802处于多屏协同状态时,若第一设备801与远端通话设备进行通话,则第一设备801和第二设备802同步显示第一设备801的通话界面,该通话界面中包括录音按钮95。用户通过点击第一设备801的通话界面中的录音按钮95,或者通过点击第二设备802所显示的第一设备801的通话界面中的录音按钮95,来开启通话录音功能后,用户可以再次在第一设备801的通话界面中点击录音按钮95,以关闭通话录音功能,此时第一设备801可以结束通话录音,不再获取通话录音数据。
132.第四种可能的操作方式中,若用户想要在第一设备的通话过程中关闭通话录音功能,可以在与第一设备进行多屏协同的第二设备执行操作来实现。
133.比如,如图12所示,第一设备801与第二设备802处于多屏协同状态时,若第一设备801与远端通话设备进行通话,则第一设备801和第二设备802同步显示第一设备801的通话界面,该通话界面中包括录音按钮95。用户通过点击第一设备801的通话界面中的录音按钮95,或者通过点击第二设备802所显示的第一设备801的通话界面中的录音按钮95,来开启通话录音功能后,用户可以再次在第二设备802所显示的第一设备801的通话界面中点击录
and-downlink通路用于获取通话上下行语音数据;incall record downlink用例用于打开incall-rec-downlink通路,incall-rec-downlink通路用于获取通话下行语音数据;incall record uplink用例用于打开incall-rec-uplink通路,incall-rec-uplink通路用于获取通话上行语音数据。
143.表1本技术实施例仅以上表1为例对涉及的三种用例进行说明,上表1并不对本技术实施例构成限定。
144.可选地,如图13所示,上述三种用例可以通过音频芯片中的音频路由模块(audio route)来打开相应的通路,以获取通话语音数据。具体来讲,上述三种用例中的任意一种用例可以打开音频路由模块中相应的通路,音频路由模块中的通路获取到通话语音数据后可将其发送至内核层中的pcm设备,这一用例再从pcm设备中读取通话语音数据。
145.参见图13,音频路由模块中包括incall-rec-downlink通路和incall-rec-uplink通路这两个通路,而上述incall-rec-uplink-and-downlink通路是通过将incall-rec-uplink通路和incall-rec-downlink通路同时打开来实现的。
146.也即,incall record uplink and downlink用例打开时,音频路由模块中的incall-rec-uplink通路和incall-rec-downlink通路均打开,同时获取通话上行语音数据和通话下行语音数据,将通话上行语音数据和通话下行语音数据发送至pcm设备,incall record uplink and downlink用例可从pcm设备中读取通话上行语音数据和通话下行语音数据。
147.incall record downlink用例打开时,音频路由模块中的incall-rec-downlink通路打开,获取通话下行语音数据,将通话下行语音数据发送至pcm设备,incall record downlink用例可从pcm设备中读取通话下行语音数据。
148.incall record uplink用例打开时,音频路由模块中的incall-rec-uplink通路打开,获取通话上行语音数据,将通话上行语音数据发送至pcm设备,incall record uplink用例可从pcm设备中读取通话上行语音数据。
149.这种情况下,参见上表1,协同通话功能需要通过上述incall record downlink用例实现,以获取通话下行语音数据。通话录音功能需要通过上述incall record uplink and downlink用例实现,以获取通话上行语音数据和通话下行语音数据。
150.综上可知,通话录音功能和协同通话功能均需要获取通话语音数据,而对通话语音数据的获取是通过第一设备中的audio hal中的用例实现的。第一设备中的audio hal中的用例可以打开第一设备中的音频芯片中的通路,以此获取通话语音数据。
151.通话录音功能和协同通话功能对应不同的用例。通话录音功能或协同通话功能开启时,audio hal可打开对应的用例,以通过所打开的用例打开音频芯片中对应的通路,来获取所需的通话语音数据。
152.具体来讲,通话录音功能对应audio hal中的第一用例,第一用例用于打开音频芯
片中的第一通路和第二通路,第一通路用于获取第一设备采集的通话上行语音数据,第二通路用于获取远端通话设备发送至第一设备的通话下行语音数据。示例地,第一用例可以为上述的incall record uplink and downlink用例,第一通路可以为上述的incall-rec-uplink通路,第二通路可以为上述的incall-rec-downlink通路。
153.第一设备在开启通话录音功能时,可打开第一用例,以打开第一通路和第二通路,以通过第一通路获取通话上行语音数据,通过第二通路获取通话下行语音数据,然后将第一通路获取到的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据,以实现通话录音。
154.协同通话功能对应audio hal中的第二用例和第三用例,第二用例用于打开音频芯片中的第二通路,第三用例用于打开音频芯片中的第三通路,第三通路用于将第二设备发送至第一设备的通话上行语音数据发送至远端通话设备。示例地,第二用例可以为上述的incall record downlink用例,第二通路可以为上述的incall-rec-downlink通路,第三通路可以为incall-music-delivery通路。
155.第一设备在开启协同通话功能时,可打开第二用例,以打开第二通路,且可打开第三用例,以打开第三通路,以通过第三通路将通话上行语音数据发送至远端通话设备,且通过第二通路获取通话下行语音数据,将第二通路获取到的通话下行语音数据发送至第二设备进行播放,以实现协同通话。
156.接下来对本技术实施例提供的通路处理方法的整体流程进行说明。
157.第一设备在通话过程中,可以根据协同通话功能和通话录音功能的开启和关闭,来控制协同通话功能对应的第二用例和第三用例、通话录音功能对应的第一用例的打开和关闭,以在避免通路冲突的情况下,保证对通话语音数据的正常获取。
158.下面对第一设备检测到协同通话功能由开启状态切换为关闭状态,或检测到协同通话功能由关闭状态切换为开启状态时的处理流程进行说明。
159.图14是本技术实施例提供的一种通路处理方法的流程图。参见图14,该方法包括以下步骤:步骤1401:第一设备检测到协同通话功能由关闭状态切换为开启状态。
160.第一设备可以开启协同通话功能,以切换至第二设备进行通话语音的采集和播放。第一设备可以通过多种可能的方式开启协同通话功能,这多种可能的方式已在上文的协同通话场景进行详细说明,本技术实施例对此不再赘述。
161.比如,第一设备响应于接收到的通话操作与远端通话设备开始进行通话时,若检测到协同通话开关处于打开状态,则可以将协同通话功能由关闭状态切换为开启状态。或者,第一设备在与远端通话设备进行通话的过程中与第二设备建立多屏协同连接,若第一设备在成功与第二设备开始进行多屏协同时检测到协同通话开关处于打开状态,则可以将协同通话功能由关闭状态切换为开启状态。或者,第一设备若在与远端通话设备进行通话的过程中检测到协同通话开关由关闭状态切换为打开状态,则可以将协同通话功能由关闭状态切换为开启状态。
162.步骤1402:第一设备检测通话录音功能是否处于开启状态。
163.第一设备若检测到协同通话功能由关闭状态切换为开启状态,则需要检测通话录音功能的状态,以便后续根据通话录音功能的状态,确定需要打开和关闭的用例。
164.第一设备在检测到通话录音功能处于开启状态的情况下,执行如下步骤1403和步骤1404。第一设备在检测到通话录音功能处于关闭状态的情况下,直接执行如下步骤1404。
165.步骤1403:第一设备关闭通话录音功能对应的第一用例,以关闭第一通路和第二通路。
166.第一用例用于打开第一通路和第二通路。也即,打开第一用例,就是打开了第一通路和第二通路;关闭第一用例,就是关闭了第一通路和第二通路。其中,第一通路用于获取第一设备采集的通话上行语音数据,第二通路用于获取远端通话设备发送至第一设备的通话下行语音数据。
167.若在协同通话功能由关闭状态切换为开启状态时,通话录音功能已处于开启状态,说明当前已打开了通话录音功能对应的第一用例,因而此时需要先执行步骤1403来关闭第一用例,再执行步骤1404来打开协同通话功能对应的第二用例和第三用例。如此,在协同通话功能和通话录音功能均处于开启状态的情况下,不打开通话录音功能对应的第一用例,仅打开协同通话功能对应的第二用例和第三用例。后续通过第二用例所打开的第二通路和第三用例所打开的第三通路,可以实现协同通话和通话录音对通话语音数据的正常获取。
168.若在协同通话功能由关闭状态切换为开启状态时,通话录音功能处于关闭状态,说明当前未打开通话录音功能对应的第一用例,因而此时可以无需执行步骤1403,直接执行步骤1404来打开协同通话功能对应的第二用例和第三用例即可。
169.步骤1404:第一设备打开协同通话功能对应的第二用例和第三用例,以打开第二通路和第三通路。
170.第二用例用于打开第二通路,第三用例用于打开第三通路。也即,打开第二用例,就是打开了第二通路;关闭第二用例,就是关闭了第二通路。打开第三用例,就是打开了第三通路;关闭第三用例,就是关闭了第三通路。其中,第三通路用于将第二设备发送至第一设备的通话上行语音数据发送至远端通话设备。
171.步骤1405:第一设备通过第三通路将通话上行语音数据发送至远端通话设备,将第二通路获取到的通话下行语音数据发送至第二设备进行播放。
172.第一设备通过第三通路将通话上行语音数据发送至远端通话设备,将第二通路获取到的通话下行语音数据发送至第二设备进行播放,以此实现协同通话。
173.若在协同通话功能由关闭状态切换为开启状态时,通话录音功能处于关闭状态,则第一设备通过执行步骤1405就实现了协同通话功能,无需再执行如下步骤1406。
174.若在协同通话功能由关闭状态切换为开启状态时,通话录音功能已处于开启状态,则第一设备还执行如下步骤1406来实现通话录音功能。
175.步骤1406:第一设备将通过第三通路发送的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据。
176.第一设备将通过第三通路发送的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据,以此实现通话录音。
177.值得说明的是,本技术实施例中,在协同通话功能和通话录音功能均处于开启状态的情况下,第一设备不打开通话录音功能对应的第一用例,仅打开协同通话功能对应的第二用例和第三用例。第一设备可以通过第二用例所打开的第二通路获取到远端通话设备
发送至第一设备的通话下行语音数据,将第二通路获取到的通话下行语音数据发送至第二设备进行播放,且通过第三用例所打开的第三通路将第二设备发送至第一设备的通话上行语音数据发送至远端通话设备,以此实现协同通话。并且,第一设备可将通过第三通路发送的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据,以此实现通话录音。如此,通过简单的处理流程就可以避免协同通话和通话录音同时使用时的通路冲突问题,可以保证协同通话和通话录音均能够正常获取到通话语音数据,实现逻辑易于理解和维护。
178.值得注意的是,若在协同通话功能由关闭状态切换为开启状态时,通话录音功能处于关闭状态,则第一设备不进行通话录音,即不将通过第三通路发送的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理。
179.之后,第一设备若在协同通话功能处于开启状态的过程中检测到通话录音功能由关闭状态切换为开启状态,则将通过第三通路发送的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据,以此实现通话录音。
180.之后,第一设备若在协同通话功能处于开启状态的过程中检测到通话录音功能由开启状态切换为关闭状态,则第一设备不再进行通话录音,即不再将通过第三通路发送的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理。
181.第一设备在通话过程中可以开启或关闭通话录音功能。第一设备可以通过多种可能的方式开启或关闭通话录音功能,这多种可能的方式已在上文的通话录音场景进行详细说明,本技术实施例对此不再赘述。
182.比如,第一设备在通话录音功能处于关闭状态的情况下,若检测到用户点击第一设备的通话界面中的录音按钮或点击与第一设备进行多屏协同的第二设备所显示的第一设备的通话界面中的录音按钮,则将通话录音功能由关闭状态切换为开启状态。第一设备在通话录音功能处于开启状态的情况下,若检测到用户点击第一设备的通话界面中的录音按钮或点击与第一设备进行多屏协同的第二设备所显示的第一设备的通话界面中的录音按钮,则将通话录音功能由开启状态切换为关闭状态。
183.进一步地,若第一设备检测到协同通话功能由开启状态切换为关闭状态,则检测通话录音功能的状态,以根据通话录音功能的状态确定是否要打开通话录音功能对应的第一用例。若第一设备检测到通话录音功能处于关闭状态,则关闭第二用例和第三用例。若第一设备检测到通话录音功能处于开启状态,则关闭第二用例和第三用例,且打开第一用例,以打开第一通路和第二通路,将第一通路获取到的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据,如此可以保证通话录音的正常进行。
184.第一设备可以关闭协同通话功能,以切换回第一设备进行通话语音的采集和播放。第一设备可以通过多种可能的方式关闭协同通话功能,这多种可能的方式已在上文的协同通话场景进行详细说明,本技术实施例对此不再赘述。
185.比如,第一设备在与远端通话设备进行通话的过程中已开启协同通话功能的情况下,若第一设备断开与第二设备之间的多屏协同连接,则第一设备可以将协同通话功能由开启状态切换为关闭状态。或者,第一设备若在与远端通话设备进行通话的过程中检测到协同通话开关由打开状态切换为关闭状态,则第一设备可以将协同通话功能由开启状态切换为关闭状态。
186.下面对第一设备检测到通话录音功能由开启状态切换为关闭状态,或检测到通话录音功能由关闭状态切换为开启状态时的处理流程进行说明。
187.图15是本技术实施例提供的一种通路处理方法的流程图。参见图15,该方法包括以下步骤:步骤1501:第一设备检测到通话录音功能由关闭状态切换为开启状态。
188.第一设备在通话过程中可以开启通话录音功能。第一设备可以通过多种可能的方式开启通话录音功能,这多种可能的方式已在上文的通话录音场景进行详细说明,本技术实施例对此不再赘述。
189.比如,第一设备在通话录音功能处于关闭状态的情况下,若检测到用户点击第一设备的通话界面中的录音按钮或点击与第一设备进行多屏协同的第二设备所显示的第一设备的通话界面中的录音按钮,则将通话录音功能由关闭状态切换为开启状态。
190.步骤1502:第一设备检测协同通话功能是否处于开启状态。
191.第一设备若检测到通话录音功能由关闭状态切换为开启状态,则需要检测协同通话功能的状态,以便后续根据协同通话功能的状态,确定需要打开和关闭的用例。
192.第一设备在检测到协同通话功能处于开启状态的情况下,不执行打开通话录音功能对应的第一用例的操作。在协同通话功能处于开启状态的情况下,第一设备可以直接通过协同通话功能对应的第二用例和第三用例来实现通话录音,即可以直接将协同通话功能对应的第二用例所打开的第二通路获取到的通话下行语音数据与通过协同通话功能对应的第三用例所打开的第三通路发送的通话上行语音数据进行混音处理,来得到通路录音数据。因而此时第一设备无需打开第一用例。
193.第一设备在检测到协同通话功能处于关闭状态的情况下,为了正常进行通话录音,第一设备可以执行如下步骤1503和步骤1504。
194.步骤1503:第一设备若检测到协同通话功能处于关闭状态,则打开第一用例,以打开第一通路和第二通路。
195.在通话录音功能由关闭状态切换为开启状态时,若协同通话功能处于关闭状态,则第一设备需要打开第一用例,以通过第一用例所打开的第一通路来获取通话上行语音数据,且通过第一用例所打开的第二通路来获取通话下行语音数据。
196.步骤1504:第一设备将第一通路获取到的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据。
197.第一设备将第一通路获取到的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据,以此实现通话录音。
198.进一步地,若第一设备检测到通话录音功能由开启状态切换为关闭状态,则检测协同通话功能的状态。若第一设备检测到协同通话功能处于开启状态,说明当前未打开第一用例,则此时不执行关闭第一用例的操作,且此时停止对通过第三通路发送的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,以停止通话录音。若第一设备检测到协同通话功能处于关闭状态,说明已打开了第一用例,因而此时需要关闭第一用例,以结束通话录音。
199.为了便于理解,下面结合图2所示的软件系统和图16所示的通路处理过程的流程图,来对上述通路处理方法进行举例说明。
200.参见图2,第一设备的软件系统可以包括应用程序层中的通话应用程序、通话录音应用程序和多屏协同应用程序,以及应用程序框架层中的音频框架和dmsdp,以及系统层中的音频服务,以及扩展层中的audio hal,以及内核层中的pcm设备,示例地,该audio hal可以为primary audio hal。此外,第一设备中还包括音频芯片,该音频芯片可以与远端通话设备进行通信,比如,该音频芯片可以通过调制解调处理器与远端通话设备进行通信,即通过调制解调处理器向远端通话设备发送通话上行语音数据,且通过调制解调处理器接收远端通话设备发送的通话下行语音数据。
201.参见图16,该通路处理过程可以包括如下步骤1601-步骤1612。
202.步骤1601:通话应用程序在通话界面检测到拨打电话或接听来电的操作,则通过音频框架指示音频服务调用audio hal与远端通话设备建立通话。
203.通话应用程序在通话界面(即incall ui界面)检测到拨打电话或接听来电的操作,则确定第一设备需要与远端通话设备进行通话,因而可以启动通话建立流程。此时通话应用程序可以通过音频框架指示音频服务来调用audio hal,以使audio hal启动语音通话(voice call)流程,实现通话建立。
204.步骤1602:audio hal指示音频芯片与远端通话设备建立通话。
205.audio hal启动voice call流程后,指示音频芯片选择发声设备以及进行路由切换,以实现通话建立。其中voice call流程可参考相关技术,本技术实施例对此不进行详细阐述。
206.第一设备在通过上述步骤1601和步骤1602与远端通话设备建立通话后,通话状态会由空闲转为通话中。
207.步骤1603:多屏协同应用程序在第一设备与第二设备处于多屏协同状态时,监听通话状态,若监听到通话状态由空闲转为通话中,则检测协同通话开关的状态。
208.多屏协同应用程序在多屏协同过程中会持续监听第一设备的通话状态,若监听到通话状态由空闲(idle)转为通话中(offhook),则确定第一设备开始与远端通话设备进行通话,此时多屏协同应用程序可以检测协同通话开关的状态。如果协同通话开关处于打开状态,则需要在此通话过程中开启协同通话功能,以进行协同通话;如果协同通话开关处于关闭状态,则不需要在此通话过程中开启协同通话功能,即不进行协同通话。
209.协同通话开关处于打开状态时说明用户允许在通话过程中建立协同通话,协同通话开关处于关闭状态时说明用户不允许在通话过程中建立协同通话。第一设备可以通过多种可能的方式打开和关闭协同通话开关,这多种可能的方式已在上文的协同通话场景进行详细说明,本技术实施例对此不再赘述。
210.步骤1604:多屏协同应用程序在检测到协同通话开关处于关闭状态的情况下,持续检测协同通话开关的状态。
211.多屏协同应用程序在协同通话开关关闭的情况下不建立协同通话,此时协同通话功能处于关闭状态。
212.值得注意的是,在另一些实施例中,多屏协同应用程序在监听到通话状态由空闲转为通话中时,若检测到协同通话开关处于打开状态,则可以向dmsdp发送第一切换指令,以指示dmsdp进行协同通话建立。
213.步骤1605:通话录音应用程序检测到通话录音操作,则通过音频框架指示音频服
务调用audio hal进行通话录音。
214.通话录音操作是用于指示进行通话录音的操作,比如,通话录音操作可以是用户对通话界面中的通话录音的点击操作。
215.通话录音应用程序调用audio hal进行通话录音时,audio hal即可确定通话录音功能由关闭状态切换为开启状态。
216.步骤1606:audio hal在通话录音功能由关闭状态切换为开启状态时,检测协同通话功能的状态,若检测到协同通话功能处于关闭状态,则打开通话录音功能对应的第一用例,以在audio hal中创建与第一用例对应的第一stream流,第一stream流创建时会打开音频芯片中的第一通路和第二通路。
217.这种情况下,第一设备的麦克风采集通话上行语音数据并发送至音频芯片,音频芯片通过第一通路接收该通话上行语音数据,并将该通话上行语音数据发送至远端通话设备。远端通话设备将通话下行语音数据发送至音频芯片,音频芯片通过第二通路接收该通话下行语音数据,将该通话下行语音数据发送至第一设备的扬声器或听筒进行播放。并且,音频芯片将该通话上行语音数据和通话下行语音数据进行混音处理,得到通话录音数据,将该通话录音数据发送至pcm设备。audio hal中的第一stream流从该pcm设备中读取该通话录音数据,然后将该通话录音数据发送至通话录音应用程序。如此,可实现通话录音。
218.比如,如图17所示,音频芯片中具有音频路由模块,音频路由模块中具有第一通路和第二通路。audio hal在通话录音功能由关闭状态切换为开启状态时,若检测到协同通话功能处于关闭状态,则打开通话录音功能对应的第一用例,以打开音频路由模块中的第一通路和第二通路。音频芯片将音频路由模块中的第一通路获取到的通话上行语音数据和音频路由模块中的第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据,将该通话录音数据发送至pcm设备。audio hal中的第一用例对应的第一stream流可从该pcm设备中读取该通话录音数据。
219.步骤1607:多屏协同应用程序在检测到协同通话开关由关闭状态切换为打开状态时,在监听到的第一设备的通话状态为通话中的情况下,向dmsdp发送第一切换指令,以指示dmsdp进行协同通话建立。
220.第一切换指令用于指示dmsdp建立协同通话,即指示将通话语音切换至第二设备,以由第二设备进行通话语音的采集和播放。
221.步骤1608:dmsdp接收到多屏协同应用程序发送的第一切换指令后,若确定自身监听到的通话状态为通话中,则调用audio hal建立协同通话。
222.dmsdp在多屏协同过程中也会持续监听第一设备的通话状态。dmsdp接收到第一切换指令后,确定多屏协同应用程序指示需要建立协同通话。此时dmsdp会根据自身监听到的通话状态,来确定是否要建立协同通话。
223.可选地,dmsdp在自身监听到的通话状态为空闲的情况下,确定接收到的第一切换指令与自身监听到的通话状态不符,则不建立协同通话。dmsdp在自身监听到的通话状态为通话中的情况下,确定接收到的第一切换指令与自身监听到的通话状态相符,则调用audio hal建立协同通话。
224.dmsdp调用audio hal建立协同通话时,audio hal即可确定协同通话功能由关闭状态切换为开启状态。
225.步骤1609:audio hal在协同通话功能由关闭状态切换为开启状态的情况下,检测通话录音功能的状态,若检测到通话录音功能处于开启状态,则关闭通话录音功能对应的第一用例,以断开audio hal中与第一用例对应的第一stream流,第一stream流断开时会关闭音频芯片中的第一通路和第二通路。然后audio hal打开协同通话功能对应的第二用例和第三用例,以在audio hal中创建与第二用例对应的第二stream流以及创建与第三用例对应的第三stream流,第二stream流创建时会打开音频芯片中的第二通路,第三stream流创建时会打开音频芯片中的第三通路,以实现协同通话的建立。
226.这种情况下,在第一设备与第二设备进行协同通话的过程中,dmsdp接收第二设备发送的由第二设备采集的通话上行语音数据,dmsdp将该通话上行语音数据发送至audio hal,audio hal中的第三stream流将该通话上行语音数据写入pcm设备,pcm设备将该通话上行语音数据发送至音频芯片,音频芯片通过第三通路将该通话上行语音数据发送至远端通话设备。同时,音频芯片通过第二通路接收远端通话设备发送的通话下行语音数据,将该通话下行语音数据发送至pcm设备,audio hal中的第二stream流从该pcm设备中读取该通话下行语音数据,将该通话下行语音数据发送至dmsdp,dmsdp将该通话下行语音数据发送至第二设备,由第二设备进行播放。如此,实现协同通话。
227.并且,在通话录音功能处于开启状态的情况下,audio hal将第三stream流从dmsdp接收到的通话上行语音数据(即通过第三通路发送的通话上行语音数据)和第二stream流从pcm设备中读取的通话下行语音数据(即第二通路获取到的通话下行语音数据)进行混音处理,得到通话录音数据。audio hal将该通话录音数据发送至通话录音应用程序。如此,实现通话录音。
228.比如,如图18所示,音频芯片中具有音频路由模块,音频路由模块中具有第一通路、第二通路和第三通路。audio hal在协同通话功能由关闭状态切换为开启状态时,若检测到通话录音功能处于开启状态,则关闭通话录音功能对应的第一用例,以关闭音频路由模块中的第一通路和第二通路。然后audio hal打开协同通话功能对应的第二用例和第三用例,以打开音频路由模块中的第二通路和第三通路。
229.audio hal中的第三用例对应的第三stream流将通话上行语音数据写入pcm设备,pcm设备将该通话上行语音数据发送至音频芯片中的音频路由模块中的第三通路。同时,音频芯片将音频路由模块中的第二通路获取到的通话下行语音数据发送至pcm设备,audio hal中的第二用例对应的第二stream流从pcm设备中读取该通话下行语音数据。并且,audio hal将该通话上行语音数据和该通话下行语音数据进行混音处理,得到通话录音数据。
230.值得注意的是,在另一些实施例中,audio hal在协同通话功能由关闭状态切换为开启状态的情况下,若检测到通话录音功能处于关闭状态,则直接打开第二用例和第三用例,以在audio hal中创建与第二用例对应的第二stream流以及创建与第三用例对应的第三stream流,第二stream流创建时会打开音频芯片中的第二通路,第三stream流创建时会打开音频芯片中的第三通路,以实现协同通话的建立。
231.这种情况下,在第一设备与第二设备进行协同通话的过程中,dmsdp接收第二设备发送的由第二设备采集的通话上行语音数据,dmsdp将该通话上行语音数据发送至audio hal,audio hal中的第三stream流将该通话上行语音数据写入pcm设备,pcm设备将该通话上行语音数据发送至音频芯片,音频芯片通过第三通路将该通话上行语音数据发送至远端
通话设备。同时,音频芯片通过第二通路接收远端通话设备发送的通话下行语音数据,将该通话下行语音数据发送至pcm设备,audio hal中的第二stream流从该pcm设备中读取该通话下行语音数据,将该通话下行语音数据发送至dmsdp,dmsdp将该通话下行语音数据发送至第二设备,由第二设备进行播放。
232.并且,audio hal在协同通话功能处于开启状态的过程中,若检测到通话录音功能由关闭状态切换为开启状态,则audio hal将第三stream流从dmsdp接收到的通话上行语音数据和第二stream流从pcm设备中读取的通话下行语音数据进行混音处理,得到通话录音数据。audio hal将该通话录音数据发送至通话录音应用程序。
233.步骤1610:多屏协同应用程序若检测到协同通话开关由打开状态切换为关闭状态,则向dmsdp发送第二切换指令,以指示关闭协同通话。
234.第二切换指令用于指示dmsdp关闭协同通话,即指示将通话语音切换回第一设备,以由第一设备进行通话语音的采集和播放。
235.若多屏协同应用程序检测到协同通话开关由打开状态转为关闭状态,说明用户想要在第一设备进行通话语音的采集和播放,则此时可以指示关闭协同通话。
236.值得注意的是,本技术实施例仅是以多屏协同应用程序检测到协同通话开关由打开状态切换为关闭状态时向dmsdp发送第二切换指令为例进行说明,多屏协同应用程序也可以在其他情况下向dmsdp发送第二切换指令,比如,多屏协同应用程序可以在第一设备与第二设备之间的多屏协同断开时,或在第一设备挂断电话时,向dmsdp发送第二切换指令,来指示关闭协同通话。
237.步骤1611:dmsdp接收到多屏协同应用程序发送的第二切换指令后,调用audio hal关闭协同通话。
238.dmsdp接收到第二切换指令后,确定多屏协同应用程序指示需要结束协同通话。因而此时dmsdp可以调用audio hal关闭协同通话。
239.dmsdp调用audio hal关闭协同通话时,audio hal即可确定协同通话功能由开启状态切换为关闭状态。
240.步骤1612:audio hal在协同通话功能由开启状态切换为关闭状态的情况下,检测通话录音功能的状态,若检测到通话录音功能处于开启状态,则关闭第二用例和第三用例,以断开audio hal中与第二用例对应的第二stream流和与第三用例对应的第三stream流,第二stream流断开时会关闭音频芯片中的第二通路,第三stream流断开时会关闭音频芯片中的第三通路。然后audio hal打开第一用例,以在audio hal中创建与第一用例对应的第一stream流,第一stream流创建时会打开音频芯片中的第一通路和第二通路。
241.这种情况下,第一设备的麦克风采集通话上行语音数据并发送至音频芯片,音频芯片通过第一通路接收该通话上行语音数据,并将该通话上行语音数据发送至远端通话设备。远端通话设备将通话下行语音数据发送至音频芯片,音频芯片通过第二通路接收该通话下行语音数据,将该通话下行语音数据发送至第一设备的扬声器或听筒进行播放。并且,音频芯片将该通话上行语音数据和通话下行语音数据进行混音处理,得到通话录音数据,将该通话录音数据发送至pcm设备。audio hal中的第一stream流从该pcm设备中读取该通话录音数据,然后将该通话录音数据发送至通话录音应用程序。
242.值得注意的是,在一些实施例中,若通话录音应用程序检测到通话录音操作,则通
过音频框架指示音频服务调用audio hal进行通路录音。这种情况下,audio hal确定通路录音功能由关闭状态切换为开启状态,则可以检测协同通话功能的状态。
243.若audio hal检测到协同通话功能处于开启状态,则audio hal不执行打开第一用例的操作,而是将第三stream流从dmsdp接收到的通话上行语音数据和第二stream流从pcm设备中读取的通话下行语音数据进行混音处理,得到通话录音数据,然后将该通话录音数据发送至通话录音应用程序。
244.若audio hal检测到协同通话功能处于关闭状态,则audio hal打开第一用例,以在audio hal中创建与第一用例对应的第一stream流,第一stream流创建时会打开音频芯片中的第一通路和第二通路。这种情况下,第一设备的麦克风采集通话上行语音数据并发送至音频芯片,音频芯片通过第一通路接收该通话上行语音数据,并将该通话上行语音数据发送至远端通话设备。远端通话设备将通话下行语音数据发送至音频芯片,音频芯片通过第二通路接收该通话下行语音数据,将该通话下行语音数据发送至第一设备的扬声器或听筒进行播放。并且,音频芯片将该通话上行语音数据和通话下行语音数据进行混音处理,得到通话录音数据,将该通话录音数据发送至pcm设备。audio hal中的第一stream流从该pcm设备中读取该通话录音数据,然后将该通话录音数据发送至通话录音应用程序。
245.在另一些实施例中,若通话录音应用程序检测到通话录音结束操作,则通过音频框架指示音频服务调用audio hal结束通路录音。这种情况下,audio hal确定通路录音功能由开启状态切换为关闭状态,则可以检测协同通话功能的状态。若协同通话功能处于开启状态,则audio hal不执行关闭第一用例的操作,且停止对第三stream流从dmsdp接收到的通话上行语音数据和第二stream流从pcm设备中读取的通话下行语音数据进行混音处理。若协同通话功能处于关闭状态,则audio hal关闭第一用例,以断开audio hal中与第一用例对应的第一stream流,第一stream流断开时会关闭音频芯片中的第一通路和第二通路。其中,通话录音结束操作是用于指示结束通话录音的操作,比如,通话录音结束操作可以是用户在第一设备正在进行通话录音的情况下对通话界面中的通话录音的点击操作,或者,通话录音结束操作可以是第一设备挂断电话的操作。
246.图19是本技术实施例提供的一种通路处理装置的结构示意图,该装置与第一设备处于多屏协同状态。该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,该计算机设备可以为图1-图2实施例所示的终端。参见图19,该装置包括:第一检测模块1901、第一打开模块1902和第一通话录音模块1903。
247.第一检测模块1901,用于若协同通话功能由关闭状态切换为开启状态,则检测通话录音功能的状态,协同通话功能用于指示由与该装置处于多屏协同状态的第二设备进行通话语音的采集和播放;第一打开模块1902,用于若检测到通话录音功能处于开启状态,则关闭通话录音功能对应的第一用例,打开协同通话功能对应的第二用例和第三用例,第一用例用于打开第一通路和第二通路,第二用例用于打开第二通路,第三用例用于打开第三通路,第一通路用于获取该装置采集的通话上行语音数据,第二通路用于获取与该装置进行通话的远端通话设备发送至该装置的通话下行语音数据,第三通路用于将第二设备发送至该装置的通话上行语音数据发送至远端通话设备;第一通话录音模块1903,用于通过第三通路将通话上行语音数据发送至远端通话
设备,将第二通路获取到的通话下行语音数据发送至第二设备进行播放,以及将通过第三通路发送的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据。
248.可选地,该装置还包括:第二打开模块,用于若检测到通话录音功能处于关闭状态,则打开第二用例和第三用例;协同通话模块,用于通过第三通路将通话上行语音数据发送至远端通话设备,将第二通路获取到的通话下行语音数据发送至第二设备进行播放。
249.可选地,该装置还包括:第二检测模块,用于若协同通话功能由开启状态切换为关闭状态,则检测通话录音功能的状态;第一关闭模块,用于若检测到通话录音功能处于关闭状态,则关闭第二用例和第三用例。
250.可选地,该装置还包括:第三打开模块,用于若检测到通话录音功能处于开启状态,则关闭第二用例和第三用例,打开第一用例;第二通话录音模块,用于将第一通路获取到的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据。
251.可选地,该装置还包括:第三检测模块,用于若通话录音功能由关闭状态切换为开启状态,则检测协同通话功能的状态;第四打开模块,用于若检测到协同通话功能处于关闭状态,则打开第一用例;第三通话录音模块,用于将第一通路获取到的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据。
252.可选地,该装置还包括:第四通话录音模块,用于若检测到协同通话功能处于开启状态,则将通过第三通路发送的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据。
253.可选地,该装置还包括:第四检测模块,用于若通话录音功能由开启状态切换为关闭状态,则检测协同通话功能的状态;第二关闭模块,用于若检测到协同通话功能处于关闭状态,则关闭第一用例。
254.可选地,该装置还包括:通话录音停止模块,用于若检测到协同通话功能处于开启状态,则停止对通过第三通路发送的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理。
255.在本技术实施例中,在协同通话功能和通话录音功能均处于开启状态的情况下,不打开通话录音功能对应的第一用例,仅打开协同通话功能对应的第二用例和第三用例。可通过第二用例所打开的第二通路获取到远端通话设备发送至该装置的通话下行语音数据,将第二通路获取到的通话下行语音数据发送至第二设备进行播放,且通过第三用例所
打开的第三通路将第二设备发送至该装置的通话上行语音数据发送至远端通话设备,以此实现协同通话。并且,可将通过第三通路发送的通话上行语音数据和第二通路获取到的通话下行语音数据进行混音处理,得到通话录音数据,以此实现通话录音。如此,本技术实施例通过简单的处理流程就可以避免协同通话和通话录音同时使用时的通路冲突问题,可以保证协同通话和通话录音均能够正常获取到通话语音数据,实现逻辑易于理解和维护。
256.需要说明的是:上述实施例提供的通路处理装置在通路处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
257.上述实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术实施例的保护范围。
258.上述实施例提供的通路处理装置与通路处理方法实施例属于同一构思,上述实施例中单元、模块的具体工作过程及带来的技术效果,可参见方法实施例部分,此处不再赘述。
259.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,比如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(比如:同轴电缆、光纤、数据用户线(digital subscriber line,dsl))或无线(比如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(比如:软盘、硬盘、磁带)、光介质(比如:数字通用光盘(digital versatile disc,dvd))或半导体介质(比如:固态硬盘(solid state disk,ssd))等。
260.以上所述为本技术提供的可选实施例,并不用以限制本技术,凡在本技术的揭露的技术范围之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献