CN117692832A - 超声波通路与耳机通路的冲突解决方法及相关装置 - Google Patents

超声波通路与耳机通路的冲突解决方法及相关装置 Download PDF

Info

Publication number
CN117692832A
CN117692832A CN202310621487.4A CN202310621487A CN117692832A CN 117692832 A CN117692832 A CN 117692832A CN 202310621487 A CN202310621487 A CN 202310621487A CN 117692832 A CN117692832 A CN 117692832A
Authority
CN
China
Prior art keywords
thread
ultrasonic
earphone
path
headset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310621487.4A
Other languages
English (en)
Inventor
高骏鹏
苏俊峰
王俊超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202310621487.4A priority Critical patent/CN117692832A/zh
Publication of CN117692832A publication Critical patent/CN117692832A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Telephone Function (AREA)

Abstract

本申请实施例提供一种超声波通路与耳机通路的冲突解决方法及相关装置,调用耳机线程管理耳机通路,调用超声波线程管理超声波通路。在打开或者关闭耳机通路时,调用耳机线程向超声波线程发送通知消息的过程中,需要对耳机线程进行加锁保护,防止打开或者关闭超过程中,耳机通路或者超声波通路的状态发生冲突。从而可以提高耳机通路、超声波通路的打开或者关闭的工作效率。

Description

超声波通路与耳机通路的冲突解决方法及相关装置
技术领域
本申请涉及音频领域,尤其涉及超声波通路与耳机通路的冲突解决方法及相关装置。
背景技术
为了节省电子设备的功耗,以及为了防止靠近耳部后对电子设备的误触。在触发接近事件的情况下,电子设备可以控制电子设备的显示屏灭屏,从而达到节省电子设备的功耗以及防止误触的目的。其中,电子设备靠近用户的耳部的事件可以称为接近事件。
接近事件的判定方法通常为,打开电子设备中具备接近光功能的应用程序后,触发接近光业务,电子设备通过听筒发送超声波数据,通过麦克风接收超声波数据。电子设备对发送的超声波数据和接收的超声波数据进行计算,得到接近结果。电子设备结合接近结果来控制显示屏灭屏。
超声波数据需要在电子设备的芯片的硬件通路中进行模数转换后发送。受限于现有芯片的功能,在某些型号的芯片上,硬件通路存在公共部分,比如说传输超声波数据的超声波通路和传输音频数据的耳机通路。当关闭应用程序,从而结束接近光业务时,会关闭超声波数据和超声波通路,而通路的公共部分也随之关闭。所以,会造成音频数据级通路工作的异常,导致耳机的左右声道无声,影响用户体验。
发明内容
本申请实施例提供的一种超声波通路与耳机通路的冲突解决方法及相关装置,通过多线程来分别管理耳机通路和超声波通路,避免了耳机通路和超声波通路的冲突,提高了耳机通路和/或超声波通路的工作效率。
第一方面,本申请实施例提供了一种超声波通路与耳机通路的冲突解决方法,应用于电子设备,所述电子设备包含超声波通路和耳机通路,所述超声波通路用于传输超声波数据,所述耳机通路用于传输音频数据,所述方法包括:
触发第一事件,将耳机线程设置为阻塞状态,其中,所述阻塞状态下的所述耳机线程不可以用于处理与所述耳机通路相关的事务;
调用所述耳机线程向超声波线程发送第一通知消息,其中,所述第一通知消息包含与所述第一事件有关的消息;
调用所述超声波线程向所述耳机线程发送第二通知消息,其中,所述第二通知消息包括根据所述第一通知消息对所述超声波通路进行处理后的处理结果;
根据所述第二通知消息将所述耳机线程设置为非阻塞状态,其中,所述非阻塞状态下的所述耳机线程可以用于处理与所述耳机通路相关的事务。
可以看出,通过两个线程来管理不同的通道,耳机线程用于管理耳机通路,比如说打开或者关闭耳机通路。超声波线程用于管理超声通路,比如说打开或者关闭超声波通路。在调用耳机线程向超声波线程发送第一通知消息时,对耳机线程进行加锁保护。这样,防止关闭超声波通路过程中,超声波通路的状态影响耳机通路的状态;或者,防止关闭耳机通路的过程中,耳机通路的状态影响超声波通路的状态。
在一种可能的实施方式中,所述将所述耳机线程设置为阻塞状态,包括:
通过条件变量阻塞所述耳机线程,使得所述耳机线程在预设时间内为所述阻塞状态。
可以看出,通过条件变量来对耳机线程进行加锁保护,可以避免关闭或者打开超声笔通路的过程中,对耳机通路造成影响。
在一种可能的实施方式中,所述触发第一事件,将耳机线程设置为阻塞状态,包括:
在打开所述耳机通路之前,将耳机线程设置为阻塞状态。
可以看出,在耳机通路打开前,对耳机线程进行加锁保护,避免对耳机通路的状态造成影响。
在一种可能的实施方式中,所述根据所述第二通知消息将所述耳机线程设置为非阻塞状态,包括:
根据所述第二通知消息确定所述超声波通路已经关闭,满足所述耳机线程的条件变量;
在满足所述条件变量的情况下,将所述耳机线程设置为非阻塞状态;
调用所述非阻塞状态的所述耳机线程打开所述耳机通路。
可以看出,在打开耳机通路之前,在关闭超声波通路时,因为耳机线程处于阻塞状态,所以不会对耳机通路造成影响。在得知超声波通路已经关闭后,再打开耳机通路,从而可以避免超声波通路和耳机通路的冲突。其中,条件变量是一种线程同步机制,允许线程以无竞争的方式等待特定条件,条件不满足时线程挂起并等待。
在一种可能的实施方式中,所述调用所述耳机线程向所述超声波线程发送第一通知消息之后,所述调用所述超声波线程向所述耳机线程发送第二通知消息或之前,还包括:
在确定要关闭所述超声波通路的情况下,调用所述超声波线程关闭所述超声波通路;
在确定所述超声波通路关闭之后,生成所述第二通知消息。
可以看出,在超声波线程中需要对超声波通路进行处理,为了不影响耳机通路的打开,若超声波通路在位,则关闭超声波通路。
在一种可能的实施方式中,在关闭所述耳机通路时,超声波通路处于关闭状态,所述触发第一事件,将耳机线程设置为阻塞状态,包括:
在关闭所述耳机通路之后,将所述耳机线程设置为阻塞状态。
可以看出,在关闭耳机通路时,超声波通路处于关闭状态,所以耳机通路的关闭对超声波通路的状态不会造成影响。在耳机通路关闭之后,对耳机线程进行加锁保护,避免因为耳机通路的状态会超声波通路造成影响。比如说避免耳机通路可以重新打开对超声波通路造成影响。
在一种可能的实施方式中,所述根据所述第二通知消息将所述耳机线程设置为非阻塞状态,包括:
根据所述第二通知消息确定在所述超声线程中已经执行完毕关于所述超声通道的事务,满足用于阻塞所述耳机线程的条件变量;
在满足所述条件变量的情况下,将所述耳机线程设置为非阻塞状态。
可以看出,在关闭超声波通路时,因为耳机线程处于阻塞状态,所以不会对耳机通路造成影响。因此,可以调用超声波线程对超声波通路进行处理,在对超声波通路处理完毕后,可以解锁耳机线程。这样,耳机线程可以接着处理其他事务。
在一种可能的实施方式中,所述调用所述耳机线程向所述超声波线程发送第一通知消息之后,所述调用所述超声波线程向所述耳机线程发送第二通知消息之前,还包括:
在所述超声波线程中确定要打开超声波通路的情况下,调用所述超声波线程打开所述超声波通路;
在所述超声波线程中确定不打开超声波通路的情况下,则不调用所述超声波线程;
在所述超声波线程执行完毕之后,生成所述第二通知消息。
可以看出,在关闭耳机通路之后,调用耳机线程向超声波线程发送消息。因为耳机通路已经关闭,且耳机线程处于阻塞状态,所以耳机通路不会对超声波通路造成影响,因此调用超声波线程对超声波通路进行处理,比如说打开超声波通路。
在一种可能的实施方式中,所述调用所述超声波线程打开所述超声波通路,包括:
调用所述超声波线程判断所述耳机通路的状态;
若所述耳机通路处于关闭状态,则调用所述超声波线程打开所述超声波通路;
若所述耳机通路处于打开状态,则不打开所述超声波通路。
可以看出,超声波线程维护耳机通路的打开或者关闭的状态位,用来判断是否打开或者关闭超声波通路。
第二方面,本申请实施例提供的一种电子设备,所述电子设备包括:一个或多个处理器,存储器;其中,所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行第一方面或第一方面的任一种可能的实现方式中描述的方法。
第三方面,本申请提供一种芯片或者芯片***,该芯片或者芯片***包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
在一种可能的实现中,本申请实施例中上述描述的芯片或者芯片***还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
第四方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,该计算机程序被处理器执行时,使得计算机执行如第一方面或第一方面的任一种可能的实现方式中描述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,当该计算机程序产品在通信装置上运行时,使得该通信装置执行如第一方面或第一方面的任一种可能的实现方式中描述的方法。
应当理解的是,本申请中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
以下对本申请实施例用到的附图进行介绍。
图1A是本申请实施例提供的一种电子设备100的结构示意图;
图1B是本申请实施例提供的电子设备软件结构框图;
图2A是本申请实施例提供的一种电子设备的显示屏的灭屏的示意图;
图2B是本申请实施例提供的一种利用超声雷达测距的原理实现接近远离功能的示意图;
图2C是本申请实施例提供的一种超声波通路和耳机通路的硬件示意图;
图3A是本申请实施例提供的一种超声波通路和耳机通路不冲突的示意图;
图3B是本申请实施例提供的一种超声通路和耳机通路冲突的示意图;
图3C是本申请实施例提供的另一种超声通路和耳机通路冲突的示意图;
图4A是本申请实施例提供的一种触发接近光业务的界面示意图;
图4B是本申请实施例提供的一种触发耳机播放事件的界面示意图;
图4C是本申请实施例提供的一种打开耳机通路的交互示意图;
图5A是本申请实施例提供的一种关闭耳机播放事件的界面示意图;
图5B是本申请实施例提供的一种触发接近事件的界面示意图;
图5C是本申请实施例提供的一种打开超声波通路的交互示意图;
图6是本申请实施例提供的一种超声接近光通路和耳机通路的冲突接近方法的流程示意图;
图7是本申请实施例提供的一种打开超声波通路的流程示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请以下实施例中的术语“用户界面(user interface,UI)”,是应用程序或操作***与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markuplanguage,XML)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphicuser interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
首先,本申请实施例提供了一种电子设备。图1A是本申请实施例提供的一种电子设备100的结构示意图。
电子设备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 identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等***器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与***设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,听筒170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal 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转为电磁波辐射出去。示例性地,无线通信模块160可以包括蓝牙模块、Wi-Fi模块等。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯***(global system for mobile communications,GSM)通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TDSCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位***(global positioning system,GPS),全球导航卫星***(global navigation satellite system,GLONASS),北斗卫星导航***(beidounavigation satellite system,BDS),准天顶卫星***(quasi-zenith satellitesystem,QZSS)和/或星基增强***(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)。显示面板还可以采用有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,QLED)等制造。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过音频模块170,扬声器170A,听筒170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
听筒170B,也称“受话器”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将听筒170B靠近人耳接听语音。在本申请实施例中,通过听筒170B可以发送超声波数据。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。在本申请实施例中,通过麦克风170C可以接收经物体反射的超声波数据。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。在本申请实施例中,通过连接的耳机的左右声道可以发送音频数据,通过耳机的麦克风可以接收语音数据。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。
陀螺仪传感器180B可以用于检测电子设备100在各个方向上(一般为三轴)角速度的大小。加速度传感器180E可检测电子设备100在各个方向上加速度的大小。陀螺仪传感器180B与加速度传感器180E可用于确定电子设备100的运动姿态。在本申请实施例中,加速度传感器180E、陀螺仪传感器180B上报的数据可用于确定设备运动状态,进而辅助确定对应时刻的图像是否会抖动、重影等等。
气压传感器180C用于测量气压。磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。距离传感器180F用于测量距离。在拍摄场景中,电子设备100可以利用距离传感器180F测距以实现快速对焦。接近光传感器180G可以用于确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。在拍摄场景中,环境光传感器180L也可用于拍照时自动调节白平衡。指纹传感器180H用于采集指纹。温度传感器180J用于检测温度。骨传导传感器180M可以获取振动信号。
触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
按键190包括开机键,音量键等。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。指示器192可以是指示灯。SIM卡接口195用于连接SIM卡。
请参见图1B,图1B是本申请实施例提供的电子设备软件结构框图。
如图1B所示,分层架构将***分成若干层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些可能的实施方式中,可将***分为四层,从上之下分别为应用程序层、应用程序框架层、硬件抽象层((hardware abstraction layer,HAL)、内核层以及硬件层。其中:
应用程序层可以包括一系列应用程序包。
如图1B所示,应用程序包可以包括相机、图库、社交应用、浏览器、短信息、视频、音乐、蓝牙、导航和WLAN等应用程序(application,APP)。
应用程序框架层为应用程序层的应用程序提供应用编程接口和编程框架。应用程序框架层包括一些预先定义的函数。
如图1B所示,应用程序框架层可以包括窗口管理器,内容提供器,电话管理器,资源管理器(图1B未示意出),通知管理器等(图1B未示意出),视图***(图1B未示意出)。应用程序框架层还可以包括:音频服务(audio service)、传感器管理器(sensor manager)、***服务(system services)(图1B未示意出)。
其中,音频服务用于提供发射超声波数据和接收超声波数据的能力。
传感器管理器用于通过应用编程接口(application program interface,API)上与使用传感器的应用程序进行交互,可以通过HAL接口定义语言(HAL interfacedefinition language,HIDL)下与HAL交互。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。
HAL用于提供标准界面,并向更高级别的java API框架显示设备硬件功能。HAL包含多个模块,其中,每个模块都为特定类型的硬件组件实现一个界面,例如音频Audio模块,传感器sensor模块,相机camera模块(图1B未示意出),蓝牙bluetooth模块(图1B未示意出)。
示例性的,音频模块用于控制超声接近音频开关,打开超声波通路。音频模块还用于配置高保真HIFI、智能功率放大器smart PA,编码译码器Codec等音频通路。音频模块还用于超声校准控制、非易失性数据NV参数读写。
内核层是硬件层和软件之间的层。内核层至少包括以下一项或多项:显示驱动(图1B未示意出),摄像头驱动(图1B未示意出),音频驱动和传感器驱动。硬件层至少包括以下一项或多项:传感器数据信号处理器(sensor digital signal processing,sensor DSP)、音频数字信号处理器Audio DSP、听筒和麦克风MIC。
示例性的,音频驱动用于驱动音频模块产生超声波数据,并通过超声波通道smartPA到听筒发出超声波数据。音频驱动还用于驱动音频模块利用超声接近算法,对麦克风MIC通过编码译码器Codec上传的超声波数据进行计算,得到超声判定结果。
示例性的,传感器数据信号处理器用于驱动传感器驱动获取音频模块得到的超声判定结果,并利用融合算法,对一个或多个传感器采集的数据进行计算,得到接近结果。其中,融合算法可以理解为对加速度传感器ACC和陀螺仪传感器Gyro形成的手势接近判定结果、环境光传感器形成的环境光接近判定结果、触摸接近判定TP结果和超声判定结果进行融合的算法。传感器驱动还用于驱动sensors传感器驱动将接近结果上报给***服务。
下面结合超声波接近光打开场景,示例性说明电子设备以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件终端被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该操作是触摸操作,该触摸操作所对应的控件为视频应用图标的控件为例,通话应用调用应用程序框架层的接口,打开通话应用,打开接近光。通过传感器管理器与传感器模块进行交互,进而通过调用内核层打开传感器驱动。传感器驱动用于根据传感器管理器下发的通知驱动传感器数字信号处理器,对传感器获得的数据进行处理,得到处理结果。将处理结果向音频数字信号处理器发送。音频数字信号处理器用于根据处理结果控制音频驱动来驱动音频模块打开超声波通路,通过超声波通路发送超声波信号。通过传感器DSP向音频DSP发送触发接近光业务的信息,音频DSP通过音频驱动调用音频模块生成超声波数据,通过超声通路传输超声波数据。通过听筒发送超声数据,通过麦克风接收超声波数据。
为了节省电子设备的功耗,以及为了防止靠近耳边对电子设备的误触。通常为电子设备100在一些场景控制电子设备的显示屏的亮屏或灭屏,比如说在电子设备100自带的通话场景,即时通信应用等第三方软件实现的语音通话场景或者语音消息播放场景,以及其他第三方软件调用接近光的场景等。具体的,请参见图2A,图2A是本申请实施例提供的一种电子设备的显示屏的灭屏的示意图。在电子设备100接听电话的场景中,当检测到电子设备100靠近用户的耳部接听电话时,电子设备100可以控制手机的显示屏194灭屏,从而达到节省功耗的目的。
上述电子设备100靠近用户的耳部等事件可以称为接近事件。请参见图2B,图2B是本申请实施例提供的一种利用超声雷达测距的原理实现接近远离功能的示意图。目前,该接近事件的判定方法可以为:电子设备100具有听筒170B、麦克风170C、陀螺仪传感器180B和加速度传感器180E。打开电子设备100中具有打开接近光的应用程序后,触发接近光业务,打开接近光。因此电子设备100可以通过听筒170B发射超声波数据,麦克风170C接收反射后的超声波数据。电子设备100利用超声雷达测距的原理实现接近远离功能,从而提供语音通话场景下的亮灭屏功能。超声判定的原理是通过检测麦克风170C接收到的超声波数据的回波能量的变化来判断手机和物体是处于接近状态还是远离状态。
也即,电子设备100通过听筒170B发射固定频率的超声波数据,超声波数据接触到物体200后会在接触面产生反射,发射的回波会有一部分被麦克风170C接收。当物体200距离听筒170B和麦克风170C较远时,回波能量较低;当物体200距离听筒170B和麦克风170C较近时,回波能量较高。因此,电子设备100对发送和接收的超声波数据的幅值、频率、相位等特性进行计算,得到接近结果。电子设备100结合接近结果、陀螺仪传感器180B和加速度传感器180E采集的数据,计算出物体200和电子设备100是处于接近状态还是远离状态。
若计算出物体200和电子设备100处于接近状态(也可以称为是触发接近事件),则电子设备100控制显示屏194灭屏。若计算出物体200和电子设备100处于远离状态(也可称为是触发远离事件),则电子设备100控制显示屏194亮屏。
请参见图2C,图2C是本申请实施例提供的一种超声波通路和耳机通路的硬件示意图。从图2C的可以看出,电子设备100通过听筒170B发送超声波数据,电子设备100通过麦克风170C接收经物体反射后的超声波数据。当电子设备100与耳机210建立连接后,对音频数据来说,电子设备100通过耳机210的左右声道发出音频数据,电子设备100通过耳机210的麦克风接收语音数据。
一般来说,电子设备100需要通过编解码器(codec)芯片230的硬件通路对超声波数据和音频数据进行模数转换后再发送。相对应地,电子设备100需要通过编解码器(codec)芯片230的硬件通路对接收到的超声波数据和音频数据进行模数转换。再如图2C所示,受限于编解码器芯片230的功能,某些型号的codec芯片的硬件通路存在公共部分231。也即,超声波通路和耳机通路存在公共部分231。
综上所述。当触发接近光业务时,比如说打开具有接近光功能的应用程序,电子设备100可以通过听筒170B发送超声波数据,通过麦克风170C接收超声波的回波数据。当触发耳机播放事件,比如说通过耳机210播放音频文件,电子设备100可以通过耳机210的左右声道发送音频数据,通过耳机210的麦克风接收语音数据。可以理解的是,虽然接近光业务和耳机播放事件是相互独立的业务,但是上述两个业务也可以同时存在。所以,在接近光业务和耳机播放事件同时存在的场景下,会存在超声波数据和超声波通路,以及,音频数据和耳机通路同时工作的情况。当接近光业务需要关闭时,会将超声波数据和超声波通路关掉。由于超声波数据和音频数据的硬件通路存在公共部分231,所以当超声波数据和超声波通路关掉后,通路的公共部分231也随之关闭。若此时耳机播放事件还存在,将会造成音频数据和耳机通路的异常,导致耳机210的左右声道无声。
反之亦然,若耳机播放事件需要关闭时,接近光业务还存在,将会造成超声波数据及通路的异常,从而无法确定接近光业务的判断的准确性。
请参见图3A至图3C,图3A是本申请实施例提供的一种超声波通路和耳机通路不冲突的示意图。图3B是本申请实施例提供的一种超声通路和耳机通路冲突的示意图,图3C是本申请实施例提供的另一种超声通路和耳机通路冲突的示意图。
如图3A的(a)所示,第一时刻,触发耳机播放事件,电子设备打开耳机通路,通过耳机通路可以传送音频数据或者接收语音数据。在第二时刻,结束耳机播放事件,电子设备关闭耳机通路。在第二时刻之后的第三时刻,触发接近光业务,电子设备打开超声波通路,通过超声波通路可以传送超声波数据或者接收经物体反射后的超声波数据。在第四时刻,结束接近光业务,电子设备关闭超声波通路。可以看出,在耳机播放事件结束后才触发的接近光业务,所以耳机通路的关闭影响不到超声波通路的正常使用。
如图3A的(b)所示,第一时刻,触发接近光业务,电子设备打开超声波通路,通过超声波通路可以传送超声波数据或者接收经物体反射后的超声波数据。在第二时刻,结束接近光业务,电子设备关闭超声波通路。在第二时刻之后的第三时刻,触发耳机播放事件,电子设备打开耳机通路,通过耳机通路可以传送音频数据或者接收语音数据。在第四时刻,结束耳机播放事件,电子设备关闭耳机通路。可以看出,在接近光业务结束后才触发的耳机播放事件,所以超声波通路的关闭影响不到耳机通路的正常使用。
需要说明的是,本申请对触发耳机播放事件的时机不做任何限制。可以在播放音频数据之前,电子设备与耳机建立连接。这样,播放音频数据可以认为是触发了耳机播放事件。或者,可以在播放音频数据之后,也即在播放音频数据的过程中,电子设备与耳机建立连接,从而触发耳机播放事件。
如图3B的(a)所示,第一时刻,电子设备已经与耳机建立连接,电子设备播放音频数据从而触发耳机播放事件,通过耳机通路传送音频数据或者接收语音数据。或者,第一时刻,电子设备播放音频数据,并且因为在第一时刻,电子设备没有与耳机建立连接,所以通过扬声器或者听筒播放音频数据。在播放音频数据的过程中,也即第三时刻,电子设备与耳机建立连接,从而触发耳机播放事件,通过耳机通路传送音频数据或者接收语音数据。在第四时刻,结束耳机播放事件,电子设备关闭耳机通路。
从图3B的(a)可以看出,在通过耳机通路传送音频数据的过程中,也即第二时刻,触发接近光业务,电子设备打开超声波通路,通过超声波通路传输超声波数据或者接收经物体反射后的超声波数据。因为超声波通路和耳机通路具有公共部分,所以在第四时刻,由于耳机通路的关闭会使得上述公共部分也被关闭,所以会对超声波通路的正常使用产生影响。
如图3B的(b)所示,在第一时刻,触发接近光业务,电子设备打开超声波通路,通过超声波通路传输超声波数据或者接收经物体反射后的超声波数据。在第四时刻,结束接近光业务,电子设备关闭超声波通路。
从图3B的(b)可以看出,在打开超声波通路之后,关闭超声波通路之前。也即在第二时刻,电子设备已经与耳机建立连接,电子设备播放音频数据从而触发耳机播放事件,通过耳机通路传送音频数据或者接收语音数据。或者,第二时刻,电子设备播放音频数据,在第三时刻,电子设备与耳机建立连接,从而触发耳机播放事件,通过耳机通路传送音频数据或者接收语音数据。因为超声波通路和耳机通路具有公共部分,所以在第四时刻,由于超声波通路的关闭会使得上述公共部分也被关闭,所以会对耳机通路的正常工作产生影响。
如图3C的(a)所示,第一时刻,电子设备已经与耳机建立连接,电子设备播放音频数据从而触发耳机播放事件,通过耳机通路传送音频数据或者接收语音数据。或者,第一时刻,电子设备播放音频数据。因为在第一时刻,电子设备没有与耳机建立连接,所以通过扬声器或者听筒播放音频数据。在播放音频数据的过程中,也即第三时刻,电子设备与耳机建立连接,从而触发耳机播放事件,通过耳机通路传送音频数据或者接收语音数据。在第五时刻,结束耳机播放事件,电子设备关闭耳机通路。
从图3C的(a)可以看出,在通过耳机通路传送音频数据的过程中,也即第二时刻,触发接近光业务,电子设备打开超声波通路,通过超声波通路传输超声波数据或者接收经物体反射后的超声波数据。在第四时刻,结束接近光业务,电子设备关闭超声波通路。因为超声波通路和耳机通路具有公共部分,所以在第四时刻,由于超声波通路的关闭会使得上述公共部分也被关闭,所以会对耳机通路的正常使用产生影响。
如图3C的(b)所示,在第一时刻,触发接近光业务,电子设备打开超声波通路,通过超声波通路传输超声波数据或者接收经物体反射后的超声波数据。在第五时刻,结束接近光业务,电子设备关闭超声波通路。
从图3C的(b)可以看出,在打开超声波通路之后,关闭超声波通路之前。也即在第二时刻,电子设备已经与耳机建立连接,电子设备播放音频数据从而触发耳机播放事件,通过耳机通路传送音频数据或者接收语音数据。或者,第二时刻,电子设备播放音频数据,在第三时刻,电子设备与耳机建立连接,从而触发耳机播放事件,通过耳机通路传送音频数据或者接收语音数据。第四时刻,结束耳机播放事件,电子设备关闭耳机通路。因为超声波通路和耳机通路具有公共部分,所以在第四时刻,由于耳机通路的关闭会使得上述公共部分也被关闭,所以会对超声波通路的正常工作产生影响。
有鉴于此,本申请提供了一种超声波通路和耳机通路的冲突解决方法及相关装置,超声波线程用于管理超声波通路,耳机线程用于管理耳机通路,通过线程之间信息交互来控制超声波通路和耳机通路不会产生冲突,从而保证接近光业务和耳机播放事件的稳定。
电子设备是具有“接近光业务”功能和与***设备(比如说有线耳机等)建立连接的设备,例如智能手机、平板电脑、大屏设备等。
首先,结合电子设备提供的用户交互(user interface,UI)界面描述本申请实施例提供的超声波通路与耳机通路不冲突的场景。
场景一,打开耳机通路之前,如果超声波通路处于工作状态,则关闭超声波通路。
请参见图4A至图4C,图4A是本申请实施例提供的一种触发接近光业务的界面示意图。图4B是本申请实施例提供的一种触发耳机播放事件的界面示意图,图4C是本申请实施例提供的一种打开耳机通路的交互示意图。
需要说明的是,通话状态可包括电子设备100处于即时通话状态,也可以包括电子设备处于非即时通话状态,也即是本申请中所指的通话应用可以包含即时通话功能或非即时通话功能。其中,即时通话可以包括语音通话,视频通话等。非即时通话可以包括语音消息等。
因此,在本申请实施例中,电子设备100的通话状态可以包括用户可能需要贴近耳部收听语音通话或者语音消息内容从而导致电子设备100反复亮屏或者灭屏的所有应用程序所提供的一种状态。接下来,本申请实施例以语音通话为例来说明。
请参见图4A,图4A示例性示出了智能手机等电子设备上的“通话”应用程序的用户界面41和用户界面42。如图4A所示,该用户界面41可以包括来电人信息栏410、拒接控件411和接听控件412。其中,来电人信息栏410包括来电人姓名、来电号码归属地以及所属运营商,等等)。当用户想要接听该来电通话时,则可以通过点击接听控件412,当用户想要拒接该来电通话时,则可以通过点击拒接控件411。
当电子设备100通过触摸传感器180K检测到作用于接听控件412的触控操作(如在图标401上的点击操作),响应于该操作,可以显示图4A示例性所示的用户界面42。该用户界面42可包括通话时长栏413(用于显示接通电话后的通话时长)和通话功能区域414,该通话功能区域414可以包括录音控件、等待控件、添加通话控件、视频通话、静音控件、联系人控件等;用户界面42的底部还进一步的包括常用通话功能控件如:拨号键盘415、挂断控件416以及免提控件417。
其中,“通话”是智能手机、平板电脑等电子设备上的一款通话的应用程序,本申请对该应用程序的名称不做限制。在本申请中,电子设备100处于通话状态是指电子设备100在检测到作用于接听控件412的触控操作之后,以及在检测到作用于挂断控件416的触控操作之前的状态。也即是用户在接听来电之后以及挂断通话之前。
在初始接听到来电通话时(比如说刚刚点击接听控件412),触发接近光业务,“通话”应用程序打开接近光。电子设备100创建超声波线程,调用超声波线程来打开超声波通路。因此,电子设备100可以通过超声波通路传输超声波数据,然后通过听筒170B发送超声波数据,通过麦克风170C接收经物体200反射后的超声波数据。电子设备100对于发送和接收的超声波数据的幅值、频率、相位等特性进行计算,得到接近结果。电子设备100再结合接近结果、陀螺仪传感器180B和加速度传感器180E采集的数据,计算出物体200和电子设备100是处于接近状态还是远离状态。物体200可以指其他物体,例如衣物、书本等。物体200还可以指用户的身体部位,例如耳朵、脸部、手指,等等。当然,本申请实施例中提到的物体不仅仅指代一个,还可以指代多个,具体可以根据实际情况确定。
再如图4A所示,在接听到来电通话之后,电子设备100可以通过听筒170B来播放音频数据,比如说语音通话内容。
如图4B所示,在接听电话的过程中,通过USB接口130连接耳机300,从而触发耳机播放事件,电子设备创建耳机线程。如图4C所示,电子设备调用耳机线程向超声波线程发送第一通知消息,第一通知消息包括要打开耳机通路的消息。
在打开耳机通路之前,电子设备还可以将耳机线程设置为阻塞状态,处于阻塞状态的耳机线程不能处理与耳机通路相关的事务,比如说打开耳机通路或者关闭耳机通路。在一种可能的实现中,电子设备在调用耳机线程向超声波线程发送第一通知消息的过程中,需要对耳机线程进行加锁保护,也即可以通过条件变量来阻塞耳机线程,使得耳机线程在预设时间内为阻塞状态。其中,预设时间可以为1秒。条件变量可以为超声波通路是否关闭。也即,当没有等待到满足条件变量的消息时,将继续阻塞耳机线程。处于阻塞状态的耳机线程不能处理与耳机通路有关的事务,比如说若要关闭耳机通路,因为耳机线程处于阻塞状态,所以不能调用耳机线程来关闭耳机通路。
再如图4C所示,当超声波线程接收到第一通知消息后,判断是否关闭超声波通路。若关闭,则调用超声波线程关闭超声波通路;若不关闭,则不调用超声波线程。在一种可能的实现中,在超声波线程中,电子设备100可以根据耳机通路的工作状态,是否有应用程序触发接近光业务、超声波通路是否已打开,来判断是否关闭超声波通路。
情况一,耳机通路的工作状态是打开状态,有应用程序触发接近光业务,超声波通路是打开的,则调用超声波线程关闭超声波通路。
情况二,耳机通路的工作状态是打开状态,有应用程序触发接近光业务,超声波通路是关闭的,则不调用超声波线程。
情况三,耳机通路的工作状态是打开状态,没有应用程序触发接近光业务,超声波通路是打开的,则调用超声波线程关闭超声波通路。
情况四,耳机通路的工作状态是打开状态,没有应用程序触发接近光业务,超声波通路是关闭的,则不调用超声波线程。
情况五,耳机通路的工作状态是关闭状态,有应用程序触发接近光业务,超声波通路是打开的,则不调用超声波线程。
情况六,耳机通路的工作状态是关闭状态,有应用程序触发接近光业务,超声波通路是关闭的,则不调用超声波线程。
情况七,耳机通路的工作状态是关闭状态,没有应用程序触发接近光业务,超声波通路是打开的,则调用超声波线程关闭超声波通路。
情况八,耳机通路的工作状态是关闭状态,没有应用程序触发接近光业务,超声波通路是关闭的,则不调用超声波线程。
需要说明的是,情况一至情况八是预先设置在电子设备100中的,当电子设备100接收到满足对应情况的条件后,将对超声波通路进行对应处理。在本申请实施例的场景一中,超声波线程接收到将要打开耳机通路的消息后,说明耳机通路的工作状态是打开状态,则对应于情况一至情况八中的情况一至情况四。根据情况一至情况四可知,需要判断是否有超声波数据在工作。若超声波通路是打开的,说明有超声波流工作,则要调用超声波线程关闭超声波通路。若超声波通路是关闭的,说明没有超声波流在工作,则不调用超声波线程。
再如图4B所示,若通话状态还没结束,则“通话”应用程序将继续打开接近光功能。因此,电子设备100会继续通过超声波通路发送或者接收超声波数据。为了避免超声波通路与耳机通路发生冲突,电子设备100会调用超声波线程关闭超声波通路。也即,当超声流在工作时,关闭超声波通路。因此,在关闭超声波通路后,电子设备不能通过超声波通路发送或者接收超声波数据。
若通话状态已经结束,说明“通话”应用程序和接近光功能被关闭了。因此,电子设备100关闭了超声波通路,不能通过超声波通路发送和接收超声波数据。
在如图4C所示,确定超声波通道关闭后,超声波线程向耳机线程发送第二通知消息。其中,第二通知消息包括根据第一通知消息对超声波通路进行处理后的处理结果,比如说若超声波通路中有工作流在工作,则处理结果为关闭超声波通路;若超声波通路中没有超声波数据流在工作,说明超声波通路已经被关闭,则处理结果为不调用超声波线程。耳机线程接收到第二通知消息后,根据第二通知消息确定超声波通路已经关闭,满足条件变量,则可以将耳机线程设置为非阻塞状态。电子设备可以调用耳机线程来打开耳机通路。
可以理解的是,存在超声波数据流,则超声波通路是处于打开状态;没有超声波数据流,则超声波通路是处于关闭状态。
因此,在如图4B所示,电子设备100可以通过耳机通路传输音频数据,通过耳机300的左右声道来播放音频数据,还可以通过耳机300的麦克风301接收用户的语音数据,从而进行语音通话。
可以看出,若触发耳机播放事件,可以调用耳机线程通知超声波线程要打开耳机通道,并将耳机线程设置为阻塞状态。这样,在确定超声波通路已经被关闭后,由超声波线程通知耳机线程超声波通路已经关闭。当确定超声波通路关闭后,将耳机线程设置为非阻塞状态,调用耳机线程打开耳机通路。从而可以防止在关闭超声波通路的过程中,超声波通路与耳机通路产生冲突。
场景二,关闭耳机通路之后,如果需要打开超声波通路,则打开超声波通路。
请参见图5A至图5C,图5A是本申请实施例提供的一种关闭耳机播放事件的界面示意图,图5B是本申请实施例提供的一种触发接近事件的界面示意图,图5C是本申请实施例提供的一种打开超声波通路的交互示意图。
在一种可能的实现中,图4A-图4B之后,实现图5A所示的过程。
如图5A所示,电子设备建立语音通话后,可以显示用户界面42。用户界面42可以包括通话时长栏413(用于显示接通电话后的通话时长)和通话功能区域414,该通话功能区域414可以包括录音控件、等待控件、添加通话控件、视频通话、静音控件、联系人控件等;用户界面42的底部还进一步的包括常用通话功能控件如:拨号键盘415、挂断控件416以及免提控件417。在语音通话过程中,比如说在通话时长为00:10时,电子设备100通过USB接口130与耳机300建立连接,用户可以通过耳机300进行语音通话。也即,电子设备100创建耳机线程,调用耳机线程打开耳机通路。电子设备100可以通过耳机通道传输音频数据,然后用户可以通过耳机300的左右声道接收到音频数据。耳机300的麦克风301可以接收用户的语音数据,并通过耳机线向电子设备100发送。电子设备100可以通过耳机通路接收语音数据。
示例性的,如图5A所示,在语音通话时长为00:35时,用户不想通过耳机300进行语音通话时,可以将耳机300的接口从电子设备100的USB接口130中拔出。拔出后,耳机300与电子设备100断开了连接,从而结束耳机播放事件,电子设备100调用耳机线程关闭耳机通路。
如图5C所示,电子设备100调用耳机线程关闭耳机通路,在关闭耳机通路之后,调用耳机线程向超声波线程发送第一通知消息,第一通知消息包括已经关闭耳机通路的消息。并且,电子设备100在关闭耳机通路之后,可以将耳机线程设置为阻塞状态。需要说明的是,因为在打开耳机通路之前,需要确定超声波通路是关闭的。所以,在关闭耳机通路时,因为超声波通路是关闭的,所以耳机通路的关闭不会影响超声波通路的状态。
在一种可能的实现中,电子设备100在调用耳机线程向超声波线程发送第一通知消息的过程中,需要对耳机线程进行加锁保护,也即可以通过条件变量来阻塞耳机线程,使得耳机线程在预设时间内为阻塞状态。其中,预设时间可以为1秒。条件变量可以为超声波线程是否执行完成关于超声波通路的事务。也即,当没有等待到满足条件变量的消息时,将继续阻塞耳机线程。
当超声波线程接收到关于已经关闭耳机通路的第一通知消息后,需要判断是否需要超声流工作,也可以理解为是否需要打开超声波通路。在一种可能的实现中,在超声波线程中,电子设备100可以根据耳机通路的工作状态,应用程序是否触发接近光业务,超声通路的工作状态,来判断是否打开超声波通路。
情况一,耳机通路的工作状态是打开状态,有应用程序触发接近光业务,超声波通路是打开的,则不调用超声波线程。
情况二,耳机通路的工作状态是打开状态,有应用程序触发接近光业务,超声波通路是关闭的,则不调用超声波线程。
情况三,耳机通路的工作状态是打开状态,没有应用程序触发接近光业务,超声波通路是打开的,则不调用超声波线程。
情况四,耳机通路的工作状态是打开状态,没有应用程序触发接近光业务,超声波通路是关闭的,则不调用超声波线程。
情况五,耳机通路的工作状态是关闭状态,有应用程序触发接近光业务,超声波通路是打开的,则不调用超声波线程。
情况六,耳机通路的工作状态是关闭状态,有应用程序触发接近光业务,超声波通路是关闭的,则调用超声波线程打开超声波通路。
情况七,耳机通路的工作状态是关闭状态,没有应用程序触发接近光业务,超声波通路是打开的,则不调用超声波线程。
情况八,耳机通路的工作状态是关闭状态,没有应用程序触发接近光业务,超声波通路是关闭的,则不调用超声波线程。
需要说明的是,情况一至情况八是预先设置在电子设备100中的,当电子设备100接收到满足对应情况的条件后,将对超声波通路进行对应处理。在本申请实施例的场景二中,超声波线程接收到耳机通路是关闭的消息后,超声波线程接收到耳机通路是关闭的消息后,说明耳机通路的工作状态是关闭状态,则对应于情况一至情况八中的情况五至情况八。需要判断是否打开超声波通路。若有应用程序触发接近光业务,且超声波通路是关闭的,说明需要有超声波流工作,则调用超声波线程打开超声通路。若没有应用程序触发接近光业务,则不调用超声波线程。
举例来说,如图5B所示,由于通话状态还存在,说明“通话”应用程序将继续打开接近光功能,所以接近光业务还没有结束。电子设备100还需要超声流工作,因此需要通过超声波通路发送或者接收超声波数据。所以电子设备100调用超声波线程打开超声波通路,通过超声波通路传输超声波数据,然后通过听筒170B发送超声波数据,通过麦克风170C接收经物体201反射后的超声波数据。
如果通话状态已经结束了,说明不需要超声流工作,则不调用超声波线程。
在超声波线程已经执行完成关于超声波通路的事务后,电子设备100调用超声波线程向耳机线程发送第二通知消息,第二通知消息包括超声波线程已经执行完毕关于超声波通路的事务。耳机线程接收到第二通知消息后,根据第二通知消息确定在超声波线程中已经执行完成关于超声波通路的事务,使得满足上述条件变量,唤醒被阻塞的耳机线程。因此,可以将耳机线程设置为非阻塞状态,处于非阻塞状态的耳机线程可以处理其他事务。
可以看出,耳机播放事件结束后,可以调用耳机线程通知超声波线程已经关闭耳机通路,并将耳机线程设置为阻塞状态。因为耳机线程是阻塞状态,所以耳机通路的状态不会被改变。因此,在超声波线程中对超声波通路进行处理的过程中,不会因为耳机通路的状态改变而对超声波通路的状态造成影响,导致出现状态混乱的情况。当确定超声波线程执行完毕后,将耳机线程设置为非阻塞状态,耳机线程可以用于处理其他事务。
基于以上所示实施例,接下来介绍本申请实施例提供的超声接近光通路和耳机通路的冲突接近方法。该方法可以应用于上述内容所示的电子设备100,该方法可以包括但不限于以下步骤:
请参见图6,图6是本申请实施例提供的一种超声接近光通路和耳机通路的冲突接近方法的流程示意图。
步骤S601,电子设备100触发第一事件,将耳机线程设置为阻塞状态。
其中,处于阻塞状态的耳机线程不用于处理与耳机通道相关的事务,比如说打开耳机通路或者关闭耳机通路,等等。
用户控制电子设备100发起某一交互事件时,电子设备100中的处理器会发起用于执行用户交互事件中相关任务的线程来处理该事件,以做出对该事件的响应,将用于执行用户交互事件中与处理耳机通路的线程用耳机线程表示,将用于执行用户交互事件中与处理超声波通路的线程用超声波线程表示。
在一种可能的实现中,第一事件包括打开耳机通路之前和关闭耳机通路之后。
在一种可能的实施方式中,电子设备100在打开耳机通路之前,将耳机线程设置为阻塞状态。所以,在打开耳机通路之前,耳机通道可以不受超声波通路影响,防止在关闭超声波通路的过程中影响耳机通路的状态。
在另一种可能的实施方式中,电子设备100在关闭耳机通路之后,将耳机线程设置为阻塞状态。所以在关闭耳机通路之后,耳机通路的状态不会被改变。因此,不存在因为耳机通路的状态改变而对超声波通道的状态造成影响。比如说,若耳机通路没有被设置为阻塞状态,在通过超声波通路发送和接收超声波数据的过程中,若耳机通路反复被打开和关闭,因为耳机通路的关闭,将会对超声波通路的状态造成影响。
在一种可能的实现中,电子设备100在调用耳机线程向超声波线程发送第一通知消息的过程中,需要对耳机线程进行加锁保护。也即,电子设备100可以通过条件变量来阻塞耳机线程,使得耳机线程在预设时间内为阻塞状态。其中,预设时间可以为1秒。
当第一事件为打开耳机通路之前,条件变量可以为超声波通路是否关闭。也即,当没有等待到满足条件变量的第一通知消息时,将继续阻塞耳机线程。
当第一事件为关闭耳机通路之后,条件变量可以为超声波线程是否执行完毕。也即,当没有等待到满足条件变量的消息时,将继续阻塞耳机线程。
需要说明的是,预设时间可以为其他时间,本申请对预设时间的取值不做任何限制。
步骤S602,电子设备100调用耳机线程向超声波线程发送第一通知消息。
其中,第一通知消息包含与第一事件有关的消息。
在一种可能的实现中,当第一事件为打开耳机通路时,第一通知消息包括将要打开耳机通路的消息。
在另一种可能的实现中,当第一事件为关闭耳机通路时,第一通知消息包括已经关闭耳机通路的消息。
步骤S603,电子设备100调用超声波线程向耳机线程发送第二通知消息。
其中,第二通知消息包括根据第一通知消息对超声波通路进行处理后的处理结果。
在一种可能的实施方式中,打开耳机通路之前,超声波线程接收到来自耳机线程的第一通知消息后,得知将要打开耳机通路的消息。电子设备100判断是否要关闭超声波通路。也即,电子设备100需要判断此时是否有通过超声波通路发送或者接收超声波数据。若应用程序触发接近光业务,且超声波通路是打开的,说明在通过超声波通路发送或者接收超声波数据,则需要关闭超声波通路。因此,在确定要关闭超声波通路的情况下,调用超声波线程关闭超声波通路。若没有超声流在工作,说明超声波通道是关闭的。则不对超声波通道进行处理在确定超声波通路的关闭后,生成包含关闭超声波通道的第二通知消息。
在另一种可能的实施方式中,关闭耳机通路之后,超声波线程接收到来自耳机线程的第一通知消息后,得知耳机通道已经被关闭的消息。电子设备100判断是否要打开超声波通路。也即电子设备100判断是否需要通过超声波通路发送或者接收超声波数据。若有应用程序触发超声接近光业务,且超声波通路是关闭的,说明需要通过超声波通道发送或者接收超声波数据,则调用超声波线程打开超声波通路。若没有应用程序触发超声接近光业务,则不调用超声波线程。在判断完成后,生成包含超声波线程执行完成的第二通知消息。
在一种可能的实现中,请参见图7,图7是本申请实施例提供的一种打开超声波通路的流程示意图。如图7所示,电子设备100可以调用超声波线程来维护耳机通路打开或者关闭的状态位。也即,电子设备100在调用超声波线程打开超声波线程之前,需要判断耳机通路的状态位,若耳机通路的状态位为打开耳机通路,比如说耳机与电子设备100设备建立了连接,则电子设备100不调用超声波线程打开超声波通路。若耳机通路的状态为关闭耳机通路,比如说耳机没有与电子设备100建立连接,则电子设备100调用超声波线程打开超声波通路。
步骤S604,电子设备100根据第二通知消息将耳机线程设置为非阻塞状态。
其中,处于非阻塞状态下的耳机线程用于处理与耳机通路相关的事务。
在一种可能的实现中,开启耳机通路之前,电子设备100根据第二通知消息确定超声波通路已经满足,满足耳机线程的条件变量。在满足条件变量的情况下,将耳机线程设置为非阻塞状态。因此,电子设备100可以调用非阻塞状态的耳机线程打开耳机通路。也即,处于非阻塞状态下的耳机线程用于打开耳机通路。
在另一种可能的实现中,关闭耳机通路之后,电子设备100根据第二通知消息确定在超声线程中已经执行完毕关闭超声波通路的事务,满足耳机线程的条件变量。在满足条件变量的情况下,将耳机线程设置为非阻塞状态。因此,电子设备100可以调用耳机线程去处理别的事务。也即,处于非阻塞状态下的耳机线程用于处理其他事务。
以上模块或单元的一个或多个可以软件、硬件或二者结合来实现。
当以上任一模块或单元以软件实现的时候,所述软件以计算机程序指令的方式存在,并被存储在存储器中,处理器可以用于执行所述程序指令以实现以上方法流程。所述处理器可以包括但不限于以下至少一种:中央处理单元(central processing unit,CPU)、微处理器、数字信号处理器(DSP)、微控制器(microcontroller unit,MCU)、或人工智能处理器等各类运行软件的计算设备,每种计算设备可包括一个或多个用于执行软件指令以进行运算或处理的核。该处理器可以是个单独的半导体芯片,也可以跟其他电路一起集成为一个半导体芯片,例如,可以跟其他电路(如编解码电路、硬件加速电路或各种总线和接口电路)构成一个SoC(片上***),或者也可以作为一个ASIC的内置处理器集成在所述ASIC当中,该集成了处理器的ASIC可以单独封装或者也可以跟其他电路封装在一起。该处理器除了包括用于执行软件指令以进行运算或处理的核外,还可进一步包括必要的硬件加速器,如现场可编程门阵列(field programmable gate array,FPGA)、PLD(可编程逻辑器件)、或者实现专用逻辑运算的逻辑电路。
当以上模块或单元以硬件实现的时候,该硬件可以是CPU、微处理器、DSP、MCU、人工智能处理器、ASIC、SoC、FPGA、PLD、专用数字电路、硬件加速器或非集成的分立器件中的任一个或任一组合,其可以运行必要的软件或不依赖于软件以执行以上方法流程。

Claims (12)

1.一种超声波通路与耳机通路的冲突解决方法,其特征在于,应用于电子设备,所述电子设备包含超声波通路和耳机通路,所述超声波通路用于传输超声波数据,所述耳机通路用于传输音频数据,所述方法包括:
触发第一事件,将耳机线程设置为阻塞状态,其中,所述阻塞状态下的所述耳机线程不用于处理与所述耳机通路相关的事务;
调用所述耳机线程向超声波线程发送第一通知消息,其中,所述第一通知消息包含与所述第一事件有关的消息;
调用所述超声波线程向所述耳机线程发送第二通知消息,其中,所述第二通知消息包括根据所述第一通知消息对所述超声波通路进行处理后的处理结果;
根据所述第二通知消息将所述耳机线程设置为非阻塞状态,其中,所述非阻塞状态下的所述耳机线程用于处理与所述耳机通路相关的事务。
2.根据权利要求1所述的方法,其特征在于,所述将耳机线程设置为阻塞状态,包括:
通过条件变量阻塞所述耳机线程,使得所述耳机线程在预设时间内为所述阻塞状态。
3.根据权利要求1或2所述的方法,其特征在于,所述触发第一事件,将耳机线程设置为阻塞状态,包括:
在打开所述耳机通路之前,将所述耳机线程设置为所述阻塞状态。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第二通知消息将所述耳机线程设置为非阻塞状态,包括:
根据所述第二通知消息确定所述超声波通路已经关闭,满足所述耳机线程的条件变量;
在满足所述条件变量的情况下,将所述耳机线程设置为非阻塞状态;
调用所述非阻塞状态的所述耳机线程打开所述耳机通路。
5.根据权利要求3或4所述的方法,其特征在于,所述调用所述耳机线程向超声波线程发送第一通知消息之后,所述调用所述超声波线程向所述耳机线程发送第二通知消息之前,还包括:
在确定要关闭所述超声波通路的情况下,调用所述超声波线程关闭所述超声波通路;
在确定所述超声波通路是关闭之后,生成所述第二通知消息。
6.根据权利要求1或2所述的方法,其特征在于,在关闭所述耳机通路时,所述超声波通路处于关闭状态,所述触发第一事件,将耳机线程设置为阻塞状态,包括:
在关闭所述耳机通路之后,将所述耳机线程设置为所述阻塞状态。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第二通知消息将所述耳机线程设置为非阻塞状态,包括:
根据所述第二通知消息确定在所述超声线程中已经执行完毕关于所述超声波通道的事务,满足所述耳机线程的条件变量;
在满足所述条件变量的情况下,将所述耳机线程设置为非阻塞状态。
8.根据权利要求6或7所述的方法,其特征在于,所述调用所述耳机线程向超声波线程发送第一通知消息之后,所述调用所述超声波线程向所述耳机线程发送第二通知消息之前,还包括:
在所述超声波线程中确定要打开超声波通路的情况下,调用所述超声波线程打开所述超声波通路;
在所述超声波线程中确定不打开超声波通路的情况下,则不调用所述超声波线程;
在所述超声波线程执行完毕之后,生成所述第二通知消息。
9.根据权利要求8所述的方法,其特征在于,所述调用所述超声波线程打开所述超声波通路,包括:
调用所述超声波线程判断所述耳机通路的状态;
若所述耳机通路处于关闭状态,则调用所述超声波线程打开所述超声波通路;
若所述耳机通路处于打开状态,则不打开所述超声波通路。
10.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器,存储器;其中,所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行如权利要求1-9中任一项所述的方法。
11.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如权利要求1-9中任一项所述的方法。
12.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1-9中任一项所述的方法。
CN202310621487.4A 2023-05-29 2023-05-29 超声波通路与耳机通路的冲突解决方法及相关装置 Pending CN117692832A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310621487.4A CN117692832A (zh) 2023-05-29 2023-05-29 超声波通路与耳机通路的冲突解决方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310621487.4A CN117692832A (zh) 2023-05-29 2023-05-29 超声波通路与耳机通路的冲突解决方法及相关装置

Publications (1)

Publication Number Publication Date
CN117692832A true CN117692832A (zh) 2024-03-12

Family

ID=90135912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310621487.4A Pending CN117692832A (zh) 2023-05-29 2023-05-29 超声波通路与耳机通路的冲突解决方法及相关装置

Country Status (1)

Country Link
CN (1) CN117692832A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109891392A (zh) * 2017-09-30 2019-06-14 华为技术有限公司 一种***服务超时的处理方法及装置
CN112489671A (zh) * 2020-12-18 2021-03-12 深圳市潮流网络技术有限公司 回声数据消除方法及装置、终端设备、存储介质
CN112913321A (zh) * 2018-12-07 2021-06-04 华为技术有限公司 一种使用蓝牙耳机进行通话的方法、设备及***
WO2022111665A1 (zh) * 2020-11-30 2022-06-02 花瓣云科技有限公司 应用的管理方法、装置、设备及存储介质
CN115480250A (zh) * 2021-05-31 2022-12-16 华为技术有限公司 语音识别方法、装置、电子设备及存储介质
CN115706755A (zh) * 2021-08-06 2023-02-17 华为技术有限公司 回声消除方法、电子设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109891392A (zh) * 2017-09-30 2019-06-14 华为技术有限公司 一种***服务超时的处理方法及装置
CN112913321A (zh) * 2018-12-07 2021-06-04 华为技术有限公司 一种使用蓝牙耳机进行通话的方法、设备及***
WO2022111665A1 (zh) * 2020-11-30 2022-06-02 花瓣云科技有限公司 应用的管理方法、装置、设备及存储介质
CN112489671A (zh) * 2020-12-18 2021-03-12 深圳市潮流网络技术有限公司 回声数据消除方法及装置、终端设备、存储介质
CN115480250A (zh) * 2021-05-31 2022-12-16 华为技术有限公司 语音识别方法、装置、电子设备及存储介质
CN115706755A (zh) * 2021-08-06 2023-02-17 华为技术有限公司 回声消除方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US12032410B2 (en) Display method for flexible display, and terminal
WO2020062159A1 (zh) 无线充电方法及电子设备
CN111602379B (zh) 语音通话方法、电子设备及***
US11785128B2 (en) Caller identification display method based on application, and terminal device
US11843712B2 (en) Address book-based device discovery method, audio and video communication method, and electronic device
US11775135B2 (en) Application icon displaying method and terminal
EP4152190A1 (en) Permission management method and apparatus for application, and electronic device
US11973895B2 (en) Call method and apparatus
EP4130955A1 (en) Method for managing application window, and terminal device and computer-readable storage medium
US12027112B2 (en) Always on display method and mobile device
US20220377278A1 (en) Video Communication Method and Video Communications Apparatus
CN115242994B (zh) 视频通话***、方法和装置
EP4258099A1 (en) Double-channel screen projection method and electronic device
CN117692832A (zh) 超声波通路与耳机通路的冲突解决方法及相关装置
CN113678481B (zh) 无线音频***、音频通讯方法及设备
CN110737916A (zh) 通信终端及处理方法
CN116489272B (zh) 语音消息播放方法及电子设备
WO2024104095A1 (zh) 一种数据传输方法、装置及***
CN115706752B (zh) 来电音量控制方法、电子设备及存储介质
WO2023124829A1 (zh) 语音协同输入方法、电子设备及计算机可读存储介质
WO2022042774A1 (zh) 头像显示方法及电子设备
CN116405593A (zh) 音频处理方法及相关装置
CN117251223A (zh) 一种云函数插件配置、调度方法、***和电子设备
CN116095224A (zh) 通知显示方法和终端设备
CN117931463A (zh) 一种应用控制方法、电子设备和***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination