网约车行程安全中音频采集漏洞优化方法、装置及产品

专利类型 发明公开 法律事件 公开; 实质审查;
专利有效性 实质审查 当前状态 实质审查
申请号 CN202411152650.8 申请日 2024-08-21
公开(公告)号 CN119135806A 公开(公告)日 2024-12-13
申请人 北京白龙马云行科技有限公司; 申请人类型 企业
发明人 刘吉新; 第一发明人 刘吉新
权利人 北京白龙马云行科技有限公司 权利人类型 企业
当前权利人 北京白龙马云行科技有限公司 当前权利人类型 企业
省份 当前专利权人所在省份:北京市 城市 当前专利权人所在城市:北京市朝阳区
具体地址 当前专利权人所在详细地址:北京市朝阳区望京东路6号院6号楼-2至4层01内3层H01 邮编 当前专利权人邮编:100102
主IPC国际分类 H04M19/04 所有IPC国际分类 H04M19/04H04L41/0803H04R3/00
专利引用数量 0 专利被引用数量 0
专利权利要求数量 10 专利文献类型 A
专利代理机构 北京市万慧达律师事务所 专利代理人 刘艳丽;
摘要 本 发明 公开了一种网约车行程安全中音频采集漏洞优化方法、装置及产品,涉及网约车技术领域。方案包括:客户端响应于网络通话 请求 ,对音频会话管理类中当前音频会话的所有音频会话配置方法进行拦截;客户端检测拦截的所述音频会话配置方法中是否存在缺少扬声器选项的所述音频会话配置方法,其中,所述扬声器选项用于指示当前音频会话默认输出到扬声器;若存在所述缺少扬声器选项的所述音频会话配置方法,则客户端对所述缺少扬声器选项的所述音频会话配置方法增加所述扬声器选项对应的枚举值。本发明能够使再次接听网络通话时的铃声播放声音恢复正常。
权利要求

1.一种网约车行程安全中音频采集漏洞优化方法,其特征在于,所述方法包括:
客户端响应于网络通话请求,对音频会话管理类中当前音频会话的所有音频会话配置方法进行拦截;
所述客户端检测拦截的所述音频会话配置方法中是否存在缺少扬声器选项的所述音频会话配置方法;
若存在所述缺少扬声器选项的所述音频会话配置方法,则所述客户端对所述缺少扬声器选项的所述音频会话配置方法增加所述扬声器选项对应的枚举值;
其中,所述扬声器选项用于指示当前音频会话默认输出到扬声器。
2.根据权利要求1所述的网约车行程安全中音频采集漏洞优化方法,其特征在于,所述音频会话配置方法包括第一配置方法、第二配置方法、第三配置方法和第四配置方法,其中:
所述第一配置方法用于对所述当前音频会话的类别进行配置;
所述第二配置方法用于对所述当前音频会话的类别和选项进行配置;
所述第三配置方法用于对所述当前音频会话的类别和模式进行配置;
所述第四配置方法用于对所述当前音频会话的类别、模式、路由共享策略和选项进行配置。
3.根据权利要求1或2所述的网约车行程安全中音频采集漏洞优化方法,其特征在于,所述客户端响应于网络通话请求,对音频会话管理类中当前音频会话的所有音频会话配置方法进行拦截包括:
所述客户端分别通过方法对象获取函数获取每个所述音频会话配置方法的原始方法和自定义方法的方法对象;
所述客户端通过方法交换函数交换所述原始方法和所述自定义方法的实现。
4.根据权利要求3所述的网约车行程安全中音频采集漏洞优化方法,其特征在于,所述自定义方法与所述原始方法的方法签名相同,所述方法签名包括参数类型、参数数量和返回值类型。
5.一种网约车行程安全中音频采集漏洞优化装置,其特征在于,所述装置包括:拦截模、检测模块和增加模块;其中,
所述拦截模块,与所述检测模块连接,用于客户端响应于网络通话请求,对音频会话管理类中当前音频会话的所有音频会话配置方法进行拦截;
所述检测模块,分别与所述拦截模块和所述增加模块连接,用于所述客户端检测拦截的所述音频会话配置方法中是否存在缺少扬声器选项的所述音频会话配置方法;其中,所述扬声器选项用于指示当前音频会话默认输出到扬声器;
所述增加模块,与所述检测模块连接,用于若存在所述缺少扬声器选项的所述音频会话配置方法,则所述客户端对所述缺少扬声器选项的所述音频会话配置方法增加所述扬声器选项对应的枚举值。
6.根据权利要求5所述的网约车行程安全中音频采集漏洞优化装置,其特征在于,所述拦截模块,具体用于所述客户端响应于所述网络通话请求,对第一配置方法、第二配置方法、第三配置方法和第四配置方法进行拦截;
其中,所述第一配置方法用于对所述当前音频会话的类别进行配置;
所述第二配置方法用于对所述当前音频会话的类别和选项进行配置;
所述第三配置方法用于对所述当前音频会话的类别和模式进行配置;
所述第四配置方法用于对所述当前音频会话的类别、模式、路由共享策略和选项进行配置。
7.根据权利要求5或6所述的网约车行程安全中音频采集漏洞优化装置,其特征在于,所述拦截模块,还具体用于所述客户端分别通过方法对象获取函数获取每个所述音频会话配置方法的原始方法和自定义方法的方法对象;所述客户端通过方法交换函数交换所述原始方法和所述自定义方法的实现。
8.一种电子设备,其特征在于,包括处理器和存储器
所述存储器中存储有能够被所述处理器加载并执行如权利要求1至4任一项所述网约车行程安全中音频采集漏洞优化方法的计算机程序或计算机指令。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有能够被处理器加载并执行如权利要求1至4任一项所述网约车行程安全中音频采集漏洞优化方法的计算机程序或计算机指令。
10.一种计算机程序产品,包括计算机程序或计算机指令,其特征在于,所述计算机程序或所述计算机指令被处理器加载并执行时实现如权利要求1至4任一项所述网约车行程安全中音频采集漏洞优化方法的步骤。

说明书全文

网约车行程安全中音频采集漏洞优化方法、装置及产品

技术领域

[0001] 本发明涉及网约车技术领域,更具体地,涉及一种网约车行程安全中音频采集漏洞优化方法、装置及产品。

背景技术

[0002] 随着科技的进步,网约车行业正朝着智能化、高效化方向发展,其提供网约出租车、快车、专车、顺车等服务类型,满足不同用户的出行需求,已然成为一种主流的出行方式。因此,提升服务产品质量、减少司乘纠纷、保障用户安全也是网约车平台追求的目标。其中,网约车行程录音就是一种有效措施,在网约车行驶过程中进行录音,可以在发生服务质量问题或安全事件时,作为重要证据来协助解决问题。
[0003] 目前,对于搭载IOS系统的司机端,开启行中录音后,如果司机端被网络通话呼叫,在未接听(即未加入频道)时,录音以及呼叫铃声的声音大小均正常,此时行中录音和铃声播放使用相同的AudioSession配置,在通话过程中司机端的音频播放声音会变小,在挂断网络通话后,如果再次被网络通话呼叫,此时呼叫铃声的声音可能无法恢复正常,会导致录音过程中的语音播报的声音小,影响行中录音质量,同时也会导致司机容易错过乘客端发起的网络通话,影响网约车乘客的用户体验。
[0004] 中国专利申请号202111320312.7,申请日2021.11.09,公开了一种终端视频播放方法,其根据启动RTC的启动指令调用RTCSDK进行连麦,如果连麦成功,设置AVAudioSeesionCategory为AVAudioSeesionCategoryPlayAndRecord,进一步,如果在连麦成功后,又接收到媒体播放请求,即同时需要语音通话和视频播放的场景,根据媒体播放请求将播放器的音频渲染驱动设置为AudioUnit,并将AudioComponentDescription的参数componentSubType设置为kAudioUnitSubType_VoiceProcessingIO,因此,通过改变视频播放器的音频渲染逻辑,iOS移动操作系统会将媒体音量当做通话音量,从而不会被回音消除出现被抑制甚至是听不到,避免了视频播放的媒体音量被抑制的问题。该专利方案解决的是语音通话过程中媒体音量过小的问题,并不能解决再次接听网络通话时铃声播放声音无法恢复正常的问题。

发明内容

[0005] 有鉴于此,本发明提供了一种网约车行程安全中音频采集漏洞优化方法、装置及产品,能够使司机端再次接听网络通话时的铃声播放声音恢复正常。
[0006] 为达到上述目的,本发明采用如下技术方案:
[0007] 第一方面,本发明提供一种网约车行程安全中音频采集漏洞优化方法,该方法包括:
[0008] 客户端响应于网络通话请求,对音频会话管理类中当前音频会话的所有音频会话配置方法进行拦截;
[0009] 客户端检测拦截的音频会话配置方法中是否存在缺少扬声器选项的音频会话配置方法;
[0010] 若存在缺少扬声器选项的音频会话配置方法,则客户端对缺少扬声器选项的音频会话配置方法增加扬声器选项对应的枚举值;
[0011] 其中,扬声器选项用于指示当前音频会话默认输出到扬声器。
[0012] 本发明提供的方法,在客户端接收到网络通话请求时,会自动拦截所有音频会话配置方法,检测是否存在未设置音频会话默认输出到扬声器的情况,如果存在该情况,就增加音频会话默认输出到扬声器这一选项到缺少该选项的音频会话配置方法中,这样,新的网络通话请求的铃声音量会恢复到正常,保障行中录音质量,同时,也减少了司机因为铃声音量小而错过网络通话的可能性。
[0013] 在一种可能的实现方式中,音频会话配置方法包括第一配置方法、第二配置方法、第三配置方法和第四配置方法,其中:
[0014] 第一配置方法用于对当前音频会话的类别进行配置;
[0015] 第二配置方法用于对当前音频会话的类别和选项进行配置;
[0016] 第三配置方法用于对当前音频会话的类别和模式进行配置;
[0017] 第四配置方法用于对当前音频会话的类别、模式、路由共享策略和选项进行配置。
[0018] 在一种可能的实现方式中,客户端响应于网络通话请求,对音频会话管理类中当前音频会话的所有音频会话配置方法进行拦截包括:
[0019] 客户端分别通过方法对象获取函数获取每个音频会话配置方法的原始方法和自定义方法的方法对象;
[0020] 客户端通过方法交换函数交换原始方法和自定义方法的实现。
[0021] 在一种可能的实现方式中,自定义方法与原始方法的方法签名相同,方法签名包括参数类型、参数数量和返回值类型。
[0022] 第二方面,本发明提供一种网约车行程安全中音频采集漏洞优化装置,该装置包括:拦截模、检测模块和增加模块;其中,
[0023] 拦截模块,与检测模块连接,用于客户端响应于网络通话请求,对音频会话管理类中当前音频会话的所有音频会话配置方法进行拦截;
[0024] 检测模块,分别与拦截模块和增加模块连接,用于客户端检测拦截的音频会话配置方法中是否存在缺少扬声器选项的音频会话配置方法;其中,扬声器选项用于指示当前音频会话默认输出到扬声器;
[0025] 增加模块,与检测模块连接,用于若存在缺少扬声器选项的音频会话配置方法,则客户端对缺少扬声器选项的音频会话配置方法增加扬声器选项对应的枚举值。
[0026] 在一种可能的实现方式中,拦截模块,具体用于客户端响应于网络通话请求,对第一配置方法、第二配置方法、第三配置方法和第四配置方法进行拦截;
[0027] 其中,第一配置方法用于对当前音频会话的类别进行配置;
[0028] 第二配置方法用于对当前音频会话的类别和选项进行配置;
[0029] 第三配置方法用于对当前音频会话的类别和模式进行配置;
[0030] 第四配置方法用于对当前音频会话的类别、模式、路由共享策略和选项进行配置。
[0031] 在一种可能的实现方式中,拦截模块,还具体用于客户端分别通过方法对象获取函数获取每个音频会话配置方法的原始方法和自定义方法的方法对象;客户端通过方法交换函数交换原始方法和自定义方法的实现。
[0032] 第三方面,本发明提供一种电子设备,包括处理器和存储器;存储器中存储有能够被处理器加载并执行如第一方面及其任一种可能的实现方式的网约车行程安全中音频采集漏洞优化方法的计算机程序或计算机指令。
[0033] 第四方面,本发明提供一种计算机可读存储介质,计算机可读存储介质中存储有能够被处理器加载并执行如第一方面及其任一种可能的实现方式的网约车行程安全中音频采集漏洞优化方法的计算机程序或计算机指令。
[0034] 第五方面,本发明提供一种计算机程序产品,包括计算机程序或计算机指令,计算机程序或计算机指令被处理器加载并执行时实现如第一方面及其任一种可能的实现方式的网约车行程安全中音频采集漏洞优化方法的步骤。
[0035] 本发明中第二方面到第五方面及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述;并且,第二方面到第五方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式中的有益效果分析,此处不再赘述。附图说明
[0036] 被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
[0037] 图1是本发明实施例的一种网约车行程安全中音频采集漏洞优化方法的流程示意图;
[0038] 图2是本发明实施例的一种网约车行程安全中音频采集漏洞优化方法的另一流程示意图;
[0039] 图3是本发明实施例的一种网约车行程安全中音频采集漏洞优化方法的具体应用的流程示意图;
[0040] 图4是本发明实施例的一种网约车行程安全中音频采集漏洞优化装置的内部结构框图
[0041] 图5是本发明实施例的一种电子设备的内部结构框图。

具体实施方式

[0042] 现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
[0043] 以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
[0044] 对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0045] 在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
[0046] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0047] 为了便于理解本发明的技术方案,下面先对本发明所涉及的术语进行简单介绍。
[0048] 1、司机端:是指具有网约车服务平台专为司机设计的应用界面或者操作系统,以及具有司机接收乘客的约车请求、查看订单详情、导航、接单和送客等功能的智能服务终端设备。其可以是智能手机、平板电脑、便携计算机等。
[0049] 2、乘客端:是指具有网约车服务平台专为乘客设计的应用界面或者操作系统,以及具有预约、导航、车费支付、接收订单状态更新等功能的智能服务终端设备。其可以是智能手机、平板电脑、便携计算机等。
[0050] 3、AVAudioSession:AVAudioSession是iOS和macOS开发中用于管理音频会话的类,它提供了对音频设备的控制和访问,允许应用配置其音频行为。AVAudioSession通过不同的设置可以协调多个应用对音频硬件设备的使用,处理音频播放和录制等场景。例如,可以设置APP是否可以和其他APP的音频同时存在,或者在手机调到静音模式下是否可以播放声音。
[0051] 4、AVAudioSessionCategory:是一组用于标识应用程序对音频资源使用意图的类别。通过设置不同的类别,可以控制应用程序的音频行为,例如是否允许与其他应用程序的音频混音、是否响应系统的静音键、是否支持录音或播放等。
[0052] 5、AVAudioSessionCategoryOptionDefaultToSpeaker:是一个用于设置音频会话默认输出到扬声器的选项,它属于AVAudioSessionCategoryOptions枚举类型,用于指定音频会话的默认输出方式。这个选项仅在使用AVAudioSessionCategoryPlayAndRecord类别时有效。
[0053] 6、AVAudioSessionCategoryPlayAndRecord:是一个音频会话类别(Category),表示应用程序既需要播放音频也需要录制音频。使用该类别时,应用程序可以同时进行音频的播放和录制。
[0054] 7、AVAudioSessionModeDefault:是一个音频会话模式(Mode),表示音频会话使用的是默认模式。默认模式通常适用于大多数应用程序,它提供了基本的音频行为。
[0055] 实施例一:
[0056] 本发明实施例提供一种网约车行程安全中音频采集漏洞优化方法。请参考图1,其为本发明实施例提供的网约车行程安全中音频采集漏洞优化方法的流程示意图。如图1所示,本发明提供的网约车行程安全中音频采集漏洞优化方法主要包括如下步骤(步骤S101~S103):
[0057] 步骤S101,客户端响应于网络通话请求,对音频会话管理类中当前音频会话的所有音频会话配置方法进行拦截;
[0058] 步骤S102,客户端检测拦截的音频会话配置方法中是否存在缺少扬声器选项的音频会话配置方法;
[0059] 步骤S102中,扬声器选项用于指示当前音频会话默认输出到扬声器。
[0060] 步骤S103,若存在缺少扬声器选项的音频会话配置方法,则客户端对缺少扬声器选项的音频会话配置方法增加扬声器选项对应的枚举值。
[0061] 本实施例中,增加扬声器选项对应的枚举值后,会使缺失的扬声器选项增加到该音频会话配置方法中。
[0062] 正常来说,在网络通话阶段,音频播报声音音量会低于网络通话声音音量,而在结束通话后,系统会自动将音频会话默认输出到扬声器,即提高音频播报声音音量。但是,在现有的IOS系统中,再次接收到网络通话请求时,铃声音量即音频播报声音音量并没有恢复到正常音量,这属于系统BUG,并未在通话结束后,将音频会话默认输出到扬声器。
[0063] 为此,本实施例的方法,在司机端接收到网络通话请求时,会自动拦截所有音频会话配置方法,检测是否存在未设置音频会话默认输出到扬声器的情况,如果存在该情况,就增加音频会话默认输出到扬声器这一选项到缺少该选项的音频会话配置方法中,这样,再次接收到的网络通话请求的铃声音量会恢复到正常,保障行中录音质量,同时,也减少了司机因为铃声音量小而错过网络通话的可能性。
[0064] 实施例二:
[0065] 本发明实施例还提供一种网约车行程安全中音频采集漏洞优化方法。请参考图2,其为本发明实施例提供的网约车行程安全中音频采集漏洞优化方法的流程示意图。如图2所示,本发明提供的网约车行程安全中音频采集漏洞优化方法主要包括如下步骤(步骤S201~S204):
[0066] 步骤S201,客户端响应于网络通话请求,分别通过方法对象获取函数获取音频会话管理类中当前音频会话的每个音频会话配置方法的原始方法和自定义方法的方法对象;
[0067] 步骤S202,客户端通过方法交换函数交换原始方法和自定义方法的实现,以实现拦截;
[0068] 步骤S203,客户端检测拦截的音频会话配置方法中是否存在缺少扬声器选项的音频会话配置方法;
[0069] 步骤S203中,扬声器选项用于指示当前音频会话默认输出到扬声器。
[0070] 步骤S204,若存在缺少扬声器选项的音频会话配置方法,则客户端对缺少扬声器选项的音频会话配置方法增加扬声器选项对应的枚举值。
[0071] 可选的,音频会话配置方法包括第一配置方法、第二配置方法、第三配置方法和第四配置方法,其中:
[0072] 第一配置方法用于对当前音频会话的类别进行配置;
[0073] 第二配置方法用于对当前音频会话的类别和选项进行配置;
[0074] 第三配置方法用于对当前音频会话的类别和模式进行配置;
[0075] 第四配置方法用于对当前音频会话的类别、模式、路由共享策略和选项进行配置[0076] 由于音频会话管理类包括类别、模式、选项、路由共享策略这几类属性,因此,上述四种配置方法基本涵盖了所有音频会话配置方法。
[0077] 为了能够成功拦截,需要将自定义方法与原始方法的方法签名设置相同,即参数类型、参数数量和返回值类型这些参数要设置相同。
[0078] 本实施例采用runtime技术拦截音频会话配置方法,使得开发者可以在不修改原有代码的情况下,对音频会话管理类的行为进行修改。
[0079] 进一步地,为了保证线程安全,通常在+load方法中进行步骤S202的方法交换,因为load方法在类第一次加载时调用,且保证只调用一次。
[0080] 因此,在司机端接收到网络通话请求时,会通过runtime技术自动拦截所有音频会话配置方法的调用,检测是否存在未设置音频会话默认输出到扬声器的情况,如果存在该情况,就增加音频会话默认输出到扬声器这一选项到缺少该选项的音频会话配置方法中,这样,再次接收到的网络通话请求的铃声音量会恢复到正常,保障行中录音质量,同时,也减少了司机因为铃声音量小而错过网络通话的可能性。
[0081] 实施例三:
[0082] 在实际应用中,可将上述实施例二以及优选实施例根据实际应用需求进行融合,为了便于本领域技术人员理解实际应用具体如何实现以及如何结合优选实施例,下面结合具体用于场景为例对上述网约车行程安全中音频采集漏洞优化方法进行详细说明。
[0083] 当司机端被网络通话呼叫时,播放铃声,在未接听(未加入频道)时,录音以及音频播放声音大小正常,此时行中录音和铃声播放使用相同的AudioSession 配 置 , 类 别 Category 为AVAudioSessionCategoryPlayAndRecord, 模式mode为AVAudioSessionModeDefault, 选项options为43即AVAudioSessionCategoryOptionDefaultToSpeaker 、AVAudioSessionCategoryOptionMixWithOthers 、AVAudioSessionCategoryOptionDuckOthers 、AVAudioSessionCategoryOptionAllowBluetoothA2DP。
[0084] 当加入频道后,模式mode设置为AVAudioSessionVoiceChat,类别Category为AVAudioSessionCategoryPlayAndRecord,选项option不包含AVAudioSessionCategoryOptionDefaultToSpeaker,此时音频播报声音会变低。而在挂断网络通话后,IOS系统会重置音频会话,即类别Category为AVAudioSessionCategoryPlayAndRecord,模式mode设置为AVAudioSessionModeDefault,选项option包含AVAudioSessionCategoryOptionDefaultToSpeaker,但是,IOS系统存在漏洞,在重新接收新的网络通话请求后,选项option进行了‑0x8操作,即移除了AVAudioSessionCategoryOptionDefaultToSpeaker选项。
[0085] 所以,为了使新的网络通话请求的铃声音量正常,需要找到进行‑0x8操作的音频会话配置方法,并对其强制进行+0x8操作,重新设置上AVAudioSessionCategoryOptionDefaultToSpeaker。
[0086] 具体实现流程请参考图3,图3为本发明实施例中一种网约车行程安全中音频采集漏洞优化方法的具体应用示意图。如图3所示,该方法包括以下步骤(步骤S301~S303):
[0087] 步骤S301,客户端响应于网络通话请求,对音频会话管理类AVAudioSession中当前音频会话的所有音频会话配置方法进行拦截;
[0088] 步骤S302,客户端检测拦截的音频会话配置方法中是否存在缺少扬声器选项AVAudioSessionCategoryOptionDefaultToSpeaker的音频会话配置方法,其中,扬声器选项AVAudioSessionCategoryOptionDefaultToSpeaker用于指示当前音频会话默认输出到扬声器;
[0089] 步骤S303,若存在缺少扬声器选项AVAudioSessionCategoryOptionDefaultToSpeaker的音频会话配置方法,则客户端对缺少扬声器选项AVAudioSessionCategoryOptionDefaultToSpeaker的音频会话配置方法增加扬声器选项AVAudioSessionCategoryOptionDefaultToSpeaker对应的枚举值。
[0090] 一些可选的实施例中,司机端分别通过方法对象获取函数class_getInstanceMethod获取每个音频会话配置方法的原始方法和自定义方法的方法对象,然后通过方法交换函数method_exchangeImplementations交换原始方法和自定义方法的实现,完成对所有音频会话配置方法的拦截,并在交换成功后,当调用原始方法时,将执行交换后的自定义方法的代码。
[0091] 为保障拦截成功,自定义方法与原始方法的方法签名相同,方法签名包括参数类型、参数数量和返回值类型。
[0092] 本实施例中,音频会话配置方法可以包括以下几种:
[0093] (1)用于对当前音频会话的类别进行配置的第一配置方法setCategory:error:;
[0094] (2)用于对当前音频会话的类别和选项进行配置的第二配置方法setCategory:withOptions:error:;
[0095] (3)用于对当前音频会话的类别和模式进行配置的第三配置方法setCategory:mode:options:error:;以及,
[0096] (4)用于对当前音频会话的类别、模式、路由共享策略和选项进行配置的第四配置方法setCategory:mode:routeSharingPolicy:options:error:。
[0097] 以下是上述会话配置方法中各个参数的具体含义:
[0098] category:指定音频会话的类别,如播放、录音或同时进行播放和录音;该参数决定了应用程序对音频硬件的访问权限和行为。
[0099] mode:指定音频会话的模式,如默认模式、语音聊天、视频聊天等;该参数进一步细化了音频会话的行为,以适应特定的使用场景。
[0100] routeSharingPolicy:指定音频会话的路由共享策略;该参数决定了音频输出如何与其他应用程序共享或竞争音频硬件资源。
[0101] options:包含AVAudioSessionCategoryOptions的位掩码,用于微调音频会话的行为。例如,可以设置是否允许与其他应用程序的音频混音,或者是否支持蓝牙设备等。
[0102] error:指向NSError对象的指针,如果在设置音频会话属性时发生错误,错误信息会被存储在这个对象中。
[0103] 此外,为方便理解本发明实施例的方法,将AVAudioSession类中涉及的AVAudioSessionCategory(音频会话类别)、AVAudionSessionMode(音频会话模式)、AVAudioSessionCategoryOptions(音频会话选项)之间的适用关系与属性描述列于表1。
[0104] 表1AVAudioSession类中各类别、模式、选项之间的适用关系与属性描述[0105]
[0106]
[0107]
[0108] 需要注意的是,如果不按照本实施例的方法来对上述IOS系统漏洞进行优化,而是在新的网络通话请求产生时,将AVAudioSession的属性active设置为NO,使当前音频会话被停用,将会影响行程录音的配置,导致录音失败,因此,该方案并推荐。
[0109] 需要说明的是,上述实施例中的客户端是指司机端。
[0110] 实施例四:
[0111] 基于同样的发明构思,本发明实施例还提供了一种用于实现上述所涉及的网约车行程安全中音频采集漏洞优化方法的网约车行程安全中音频采集漏洞优化装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个网约车行程安全中音频采集漏洞优化装置实施例中的具体限定可以参见上文中对于网约车行程安全中音频采集漏洞优化方法的限定,在此不再赘述。
[0112] 图4示出了一种网约车行程安全中音频采集漏洞优化装置400的结构框图。如图4所示,该网约车行程安全中音频采集漏洞优化装置400包括:拦截模块401、检测模块402和增加模块403;其中,
[0113] 拦截模块401,与检测模块402连接,用于司机端响应于网络通话请求,对音频会话管理类中当前音频会话的所有音频会话配置方法进行拦截;
[0114] 检测模块402,分别与拦截模块401和增加模块403连接,用于检测拦截的音频会话配置方法中是否存在缺少扬声器选项的音频会话配置方法,其中,扬声器选项用于指示当前音频会话默认输出到扬声器;
[0115] 增加模块403,与检测模块402连接,用于若存在缺少扬声器选项的音频会话配置方法,则对缺少扬声器选项的音频会话配置方法增加扬声器选项对应的枚举值。
[0116] 一些可选的实施例中,拦截模块401,具体用于司机端响应于网络通话请求,对第一配置方法、第二配置方法、第三配置方法和第四配置方法进行拦截;
[0117] 其中,第一配置方法用于对当前音频会话的类别进行配置;
[0118] 第二配置方法用于对当前音频会话的类别和选项进行配置;
[0119] 第三配置方法用于对当前音频会话的类别和模式进行配置;
[0120] 第四配置方法用于对当前音频会话的类别、模式、路由共享策略和选项进行配置。
[0121] 进一步地,拦截模块401,还具体用于司机端分别通过方法对象获取函数获取每个音频会话配置方法的原始方法和自定义方法的方法对象;司机端通过方法交换函数交换原始方法和自定义方法的实现。
[0122] 需要说明的是,上述各功能模块可以集成在一起形成一个独立的单元,例如集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成形成一个独立的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0123] 实施例五:
[0124] 基于同样的发明构思,本发明实施例还提供了一种电子设备500,该电子设备500的内部结构如图5所示。该电子设备500包括存储器501、处理器502和通信总线503;存储器501、处理器502通过通信总线503相连。
[0125] 存储器501可用于存储指令、程序、代码、代码集或指令集。存储器501可以包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令以及用于实现上述实施例提供的网约车行程安全中音频采集漏洞优化方法的指令等;存储数据区可存储上述实施例提供的一种网约车行程安全中音频采集漏洞优化方法中涉及到的数据等。
[0126] 处理器502可以包括一个或者多个处理核心。处理器502通过运行或执行存储在存储器501内的指令、程序、代码集或指令集,调用存储在存储器501内的数据,执行本发明的各种功能和处理数据。处理器502可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器微控制器微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
[0127] 通信总线503可包括一通路,在上述组件之间传送信息。通信总线503可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。通信总线503可以分为地址总线数据总线、控制总线等。为便于表示,图5中仅用一个双箭头表示,但并不表示仅有一根总线或一种类型的总线。且图5示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0128] 本领域技术人员可以理解,图5中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0129] 特别地,根据本发明的实施例,上述流程示意图描述的过程可以被实现为计算机软件程序。
[0130] 本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,即本发明的实施例还提供一种计算机可读存储介质,其包括若干计算机程序或计算机指令,用以使得一台电子设备(可以是个人计算机、服务器或者网络设备等)或处理器(processor)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘只读存储器随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
[0131] 本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程示意图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本发明中限定的各种功能。
[0132] 虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
QQ群二维码
意见反馈