CN113535113A - 一种音频共享方法、***及存储介质 - Google Patents
一种音频共享方法、***及存储介质 Download PDFInfo
- Publication number
- CN113535113A CN113535113A CN202110815811.7A CN202110815811A CN113535113A CN 113535113 A CN113535113 A CN 113535113A CN 202110815811 A CN202110815811 A CN 202110815811A CN 113535113 A CN113535113 A CN 113535113A
- Authority
- CN
- China
- Prior art keywords
- audio
- applications
- application
- capture
- common
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000004048 modification Effects 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 11
- 238000007781 pre-processing Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 7
- 230000035945 sensitivity Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000004888 barrier function Effects 0.000 claims description 4
- 239000003999 initiator Substances 0.000 claims description 3
- 230000030279 gene silencing Effects 0.000 claims description 2
- 230000005236 sound signal Effects 0.000 abstract description 7
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000005457 optimization Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 21
- 230000006872 improvement Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005465 channeling Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/162—Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
Abstract
本发明提供了一种音频共享方法、***及存储介质,在Android***,多个应用捕获音频时,采用优先级策略在运行的应用之间切换输入音频流,应用包括普通应用和特权应用,优先级策略如下:特权应用的优先级高于普通应用;具有可见前台界面的应用比后台应用具有更高的优先级;相较于从非隐私敏感源捕获音频的应用,从隐私敏感源捕获音频的应用有着更高的优先级;两个普通应用无法同时捕获音频;如果两个优先级相同的后台应用都在捕获音频,则后开始的应用优先级更高。本发明的有益效果是:用户在使用中可以同时打开多个不同软件应用,同时音频信号输入信号输出,实现一机多用,有效提升产品实用性,操作简单,一机多用,资源最优化以及人性化。
Description
技术领域
本发明涉及音频数据处理技术领域,尤其涉及一种音频共享方法、***及存储介质。
背景技术
一台数码设备只能打开一个音频设备信号输入或者音频信号输出,如果不同设备同时使用,使用者不能在同一设备上音频同时使用。
发明内容
本发明提供了一种音频共享方法,在Android***中,多个应用捕获音频时,采用优先级策略在运行的应用之间切换输入音频流,应用包括普通应用和特权应用,使用和共享音频输入的优先级策略如下:
特权应用的优先级高于普通应用;
具有可见前台界面的应用比后台应用具有更高的优先级;
相较于从非隐私敏感源捕获音频的应用,从隐私敏感源捕获音频的应用有着更高的优先级;
两个普通应用无法同时捕获音频;
如果两个优先级相同的后台应用都在捕获音频,则后开始的应用优先级更高。
作为本发明的进一步改进,Google助理和普通应用捕获音频时,Google助理属于特权应用,Android根据以下规则共享输入音频:
除非另一个使用隐私敏感音频源的应用已在捕获音频,否则Google助理接收音频;
除非Google助理在屏幕顶部具有可见的界面组件,否则应用会接收音频。
作为本发明的进一步改进,无障碍服务和普通应用捕获音频时,无障碍服务属于特权应用,Android根据以下规则共享输入音频:
如果无障碍服务的界面位于顶部,则无障碍服务和普通应用都将接收音频输入;
如果无障碍服务不在顶部,只有一个应用接收音频,另一个应用会受到静默处理。
作为本发明的进一步改进,两个普通应用捕获音频时,Android根据以下规则共享输入音频:
如果两个普通应用都不具备隐私敏感性,则由界面位于顶部的普通应用接收音频;如果两个普通应用都没有界面,则较晚开始者接收音频;
如果其中一个普通应用具备隐私敏感性,则由其接收音频,另一个普通应用则会受到静默处理;
如果两个普通应用都具备隐私敏感性,则由最晚开始捕获的普通应用接收音频,另一个普通应用则会受到静默处理。
作为本发明的进一步改进,当语音通话和普通应用捕获音频时,Android根据以下规则共享输入音频:
语音通话始终接收音频;
如果属于无障碍服务,则应用捕获音频;
如果是拥有CAPTURE_AUDIO_OUTPUT权限的特权应用,则应用捕获语音通话;
如要捕获语音通话的上行链路和/或下行链路,则应用必须指定音频源MediaRecorder.AudioSource.VOICE_UPLINK或MediaRecorder.AudioSource.VOICE_DOWNLINK和/或设备AudioDeviceInfo.TYPE_TELEPHONY。
作为本发明的进一步改进,当多个应用同时捕获音频时,只有一个或两个应用处于活动状态,其他应用则处于静音状态,当活动应用发生更改时,音频框架会根据以下规则重新配置音频路径:
每个活动应用的音频输入设备会更改;
启用与最高优先级活动应用相关联的预处理,其他预处理都将被忽略。
作为本发明的进一步改进,当优先级较高的应用处于活动状态时,活动应用受到静默处理,在AudioRecord或MediaRecorder对象上注册一个AudioManager.AudioRecordingCallback,以便在配置发生更改时收到通知。
作为本发明的进一步改进,所述更改包括捕获受到静默处理或解除静默处理、设备更改、预处理更改、音频流属性更改。
本发明还提供了一种音频共享***,包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现本发明所述的音频共享方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现本发明所述的音频共享方法的步骤。
本发明的有益效果是:用户在使用中可以同时打开多个不同软件应用,同时音频信号输入信号输出,实现一机多用,有效提升产品实用性,操作简单,一机多用,资源最优化以及人性化。
附图说明
图1是本发明的***原理框图。
具体实施方式
本发明公开了一种音频共享方法,同一个机器多平台音频共享,实现多个应用APP共享音频。
本发明引入音频共享设备,用户在使用中可以同时打开多个不同软件应用,同时音频信号输入信号输出,实现一机多用,有效提升产品实用性。
音频输入通常来自内置麦克风、外部麦克风或连接到设备的音频接口。音频输入也可以来自电话对话。有时候,两个或多个应用可能都想“捕获”同一个音频输入。这些应用可能在执行不同的任务。例如,某些接收音频的应用可能像简单的语音记录器一样在“录制”,而其他应用可能像响应语音指令的Google助理或无障碍服务一样在“侦听”。
无论属于哪种情况,这些应用都希望接收音频输入。在本发明中,无论应用是录制还是侦听,本发明都使用“捕获”一词。
如果两个或多个应用希望同时捕获音频,则将音频信号从同一源传送给所有应用可能存在问题。本发明介绍Android***如何在捕获音频的多个应用之间共享音频输入。
Android早前的版本:在Android早期,输入音频流一次只能由一个应用捕获。如果已有应用在录制或侦听音频,则您的应用可以创建一个AudioRecord对象,但***会在您调用AudioRecord.startRecording()时返回错误,并且不会开始录制。
该规则的一个例外情况是,特权应用(例如Google助理或无障碍服务)拥有android.permission.CAPTURE_AUDIO_HOTWORD权限并使用HOTWORD类型的音频源。在这种情况下,另一个应用可以开始录音。出现这种情况时,特权应用终止,新应用捕获输入。
Android 9中还添加了一项更改:只有在前台运行的应用(或前台服务)才能捕获音频输入。当没有前台服务或前台界面组件的应用开始捕获时,应用将继续运行,但会受到静默处理,即便它是当时唯一捕获音频的应用也是如此。
本发明的技术改进:之前的行为是“先到先得”。应用开始捕获音频后,所有其他应用在捕获应用停止之前均无法访问音频输入。本发明采用优先级任务调度方案,可以在运行的应用之间切换输入音频流。在大多数情况下,如果新应用获取音频输入,则之前的捕获应用将继续运行,但会受到静默处理。在某些情况下,***可以继续向这两个应用传送音频。下面将介绍这种共享方案。
此方案类似于音频焦点处理多个应用争夺音频输出使用的方式。不过,音频焦点获取和焦点释放由编程请求管理;此处描述的输入切换方案基于优先级策略,该策略会在新应用开始捕获音频时自动应用。
为了捕获音频,Android会区分两种类型的应用:
用户安装的“普通”应用。
设备上预安装的“特权”应用。其中包括Google助理以及所有无障碍服务。
此外,如果应用使用“隐私敏感”音频源(CAMCORDER或VOICE_COMMUNICATION),则其会受到区别对待。
使用和共享音频输入的优先级规则如下:
1.特权应用的优先级高于普通应用。
2.具有可见前台界面的应用比后台应用具有更高的优先级。
3.相较于从非隐私敏感源捕获音频的应用,从隐私敏感源捕获音频的应用有着更高的优先级。
4.两个普通应用永远无法同时捕获音频。
5.在某些情况下,特权应用可以与其他应用共享音频输入。
6.如果两个优先级相同的后台应用都在捕获音频,则后开始的那个优先级更高。
音频共享方案:当两个应用试图捕获音频时,它们都可以接收输入信号,或者其中一个可能会受到静默处理。
四种主要方案如下:
1.Google助理+普通应用。
2.无障碍服务+普通应用。
3.两个普通应用。
4.语音通话+普通应用。
Google助理+普通应用:Google助理属于特权应用,因为其预先安装在设备上并且拥有RoleManager.ROLE_ASSISTANT角色。拥有此角色的任何其他预安装应用都会受到类似处理。Android根据以下规则共享输入音频:
1.除非另一个使用隐私敏感音频源的应用已在捕获音频,否则Google助理可以接收音频(无论在前台还是后台)。
2.除非Google助理在屏幕顶部具有可见的界面组件,否则应用会接收音频。
请注意,这两个应用仅在Google助理位于后台且其他应用未从隐私敏感音频源进行捕获时才接收音频。
无障碍服务+普通应用:AccessibilityService需要严格的声明。Android根据以下规则共享输入音频:
1.如果服务的界面位于顶部,则服务和应用都将接收音频输入。此行为提供使用语音指令控制语音通话或视频捕获等功能。
2.如果该服务不在顶部,则此情况的处理方式与下述两个普通应用的情况一样。
两个普通应用:当两个应用同时进行捕获时,只有一个应用接收音频,另一个应用会受到静默处理。
Android根据以下规则共享输入音频:
1.如果两个应用都不具备隐私敏感性,则由界面位于顶部的应用接收音频。如果两个应用都没有界面,则较晚开始者接收音频。
2.如果其中一个应用具备隐私敏感性,则由其接收音频,另一个应用则会受到静默处理,即使后者由界面位于顶部或较晚开始捕获也是如此。
3.如果两个应用都具备隐私敏感性,则由最晚开始捕获的应用接收音频,另一个应用则会受到静默处理。
语音通话+普通应用:如果AudioManager.getMode()返回的音频模式为MODE_IN_CALL或MODE_IN_COMMUNICATION,则语音通话处于活动状态。Android根据以下规则共享输入音频:
1.通话始终接收音频。
2.如果属于无障碍服务,则应用可以捕获音频。
3.如果是拥有CAPTURE_AUDIO_OUTPUT权限的特权(预安装)应用,则应用可以捕获语音通话。
如要捕获语音通话的上行链路(TX)、下行链路(RX)或这两者,则应用必须指定音频源MediaRecorder.AudioSource.VOICE_UPLINK或MediaRecorder.AudioSource.VOICE_DOWNLINK和/或设备AudioDeviceInfo.TYPE_TELEPHONY。
配置变更:
当多个应用同时捕获音频时,只有一个或两个应用处于“活动”状态(正在接收音频),其他应用则处于静音状态(接收静音)。当活动应用发生更改时,音频框架可能会根据以下规则重新配置音频路径:
1.每个活动应用的音频输入设备可能会更改(例如,从内置麦克风更改为已连接的蓝牙耳机)。
2.启用与最高优先级活动应用相关联的预处理。其他预处理都将被忽略。
当优先级较高的应用处于活动状态时,活动应用可能会受到静默处理,因此您可以在AudioRecord或MediaRecorder对象上注册一个AudioManager.AudioRecordingCallback,以便在配置发生更改时收到通知。可能的更改如下:
1.捕获受到静默处理或解除静默处理
2.设备更改
3.预处理更改
4.音频流属性更改(采样率、通道掩码、采样格式)
您必须在开始捕获前调用AudioRecord.registerAudioRecordingCallback()。仅当应用正在接收音频且发生更改时才执行回调。
onRecordingConfigChanged()方法返回包含当前音频捕获状态的AudioRecordingConfiguration。使用以下方法了解更改:
isClientSilenced()
如果返回到客户端的音频当前由于捕获策略而受到静默处理,则返回true。
getAudioDevice()
返回活动音频设备。
getEffects()
返回活动预处理效果。请注意,如果客户端不是优先级最高的活动应用,则活动效果可能与getClientEffects()返回的效果不同。
getFormat()
返回音频流属性。请注意,客户端接收的实际音频数据始终遵循getClientFormat()返回的所需格式。该框架自动执行必要的重新采样、通道,以及格式转换,即从硬件接口上使用的格式转换为客户端指定的格式。
AudioRecord.getActiveRecordingConfiguration()
通过调用AudioManager.getActiveRecordingConfigurations(),可以获得设备上所有活动录音的一般路径,从而实现了多个音频信号,这样多个APP都可以共享同一个音频信号源,实现了音频共享。
代码流程分析:通过api我们知道应用是需要注册AudioManager.AudioRecordingCallback,在配置发生更改时收到通知,所以我们需要分析一下这个函数。
这是一个抽象类,是由应用自己实现的,所以需要找到是谁调用了onRecordingConfigChanged,跟踪代码发现是接收到了MSSG_RECORDING_CONFIG_CHANGE这个消息调用的,然后就去查找是在哪里发送的消息,然后找到了如下代码:
通过上面的代码我们发现我们需要去找到是哪里调用的dispatchRecordingConfigChange函数,然后就来到了RecordingActivityMonitor.java的dispatchCallbacks函数(下面就不挨个贴代码了,只贴重点),然后是onRecordingConfigurationChanged函数,然后就来到了AudioSystem.java的recordingCallbackFromNative函数,这里是AudioSystem.cpp的setRecordConfigCallback函数通过jni调用过来的(jni的调用比较简单,就不做过多分析)。
到这里java层的调用流程就完成了,下面重点来分析native的调用,主要实现也是在这里
首先来看一下AudioSystem::setRecordConfigCallback
/*static*/void AudioSystem::setRecordConfigCallback(record_config_callback cb)
{
Mutex::Autolock_l(gLock);
gRecordConfigCallback=cb;
}
由此克制callback的回调,和gRecordConfigCallback关联,通过gRecordConfigCallback找到了AudioSystem::AudioPolicyServiceClient::onRecordingConfigurationUpdate函数,然后去找是谁调用的这个函数,来到了AudioPolicyService::NotificationClient::onRecordingConfigurationUpdate函数,继续反向查找来到AudioPolicyService::doOnRecordingConfigurationUpdate,然后继续反向查找,跟踪代码确定是AudioPolicyService::onRecordingConfigurationUpdate通过RECORDING_CONFIGURATION_UPDATE这个消息调过来的,继续跟踪找到了AudioPolicyService::AudioPolicyClient::onRecordingConfigurationUpdate函数,接下来就到了AudioInputDescriptor::updateClientRecordingConfiguration函数,继续反向跟踪来到了AudioInputDescriptor::setAppState函数,然后就跟踪到了AudioPolicyService::setAppState_l函数,最终来到AudioPolicyService::updateUidStates_l这个函数,对于应用是否需要静默处理都是在这里做的。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种音频共享方法,其特征在于,在Android***中,多个应用捕获音频时,采用优先级策略在运行的应用之间切换输入音频流,应用包括普通应用和特权应用,使用和共享音频输入的优先级策略如下:
特权应用的优先级高于普通应用;
具有可见前台界面的应用比后台应用具有更高的优先级;
相较于从非隐私敏感源捕获音频的应用,从隐私敏感源捕获音频的应用有着更高的优先级;
两个普通应用无法同时捕获音频;
如果两个优先级相同的后台应用都在捕获音频,则后开始的应用优先级更高。
2.根据权利要求1所述的音频共享方法,其特征在于,Google助理和普通应用捕获音频时,Google助理属于特权应用,Android根据以下规则共享输入音频:
除非另一个使用隐私敏感音频源的应用已在捕获音频,否则Google助理接收音频;
除非Google助理在屏幕顶部具有可见的界面组件,否则应用会接收音频。
3.根据权利要求1所述的音频共享方法,其特征在于,无障碍服务和普通应用捕获音频时,无障碍服务属于特权应用,Android根据以下规则共享输入音频:
如果无障碍服务的界面位于顶部,则无障碍服务和普通应用都将接收音频输入;
如果无障碍服务不在顶部,只有一个应用接收音频,另一个应用会受到静默处理。
4.根据权利要求1所述的音频共享方法,其特征在于,两个普通应用捕获音频时,Android根据以下规则共享输入音频:
如果两个普通应用都不具备隐私敏感性,则由界面位于顶部的普通应用接收音频;如果两个普通应用都没有界面,则较晚开始者接收音频;
如果其中一个普通应用具备隐私敏感性,则由其接收音频,另一个普通应用则会受到静默处理;
如果两个普通应用都具备隐私敏感性,则由最晚开始捕获的普通应用接收音频,另一个普通应用则会受到静默处理。
5.根据权利要求1所述的音频共享方法,其特征在于,当语音通话和普通应用捕获音频时,Android根据以下规则共享输入音频:
语音通话始终接收音频;
如果属于无障碍服务,则应用捕获音频;
如果是拥有CAPTURE_AUDIO_OUTPUT权限的特权应用,则应用捕获语音通话;
如要捕获语音通话的上行链路和/或下行链路,则应用必须指定音频源MediaRecorder.AudioSource.VOICE_UPLINK或MediaRecorder.AudioSource.VOICE_DOWNLINK和/或设备AudioDeviceInfo.TYPE_TELEPHONY。
6.根据权利要求1至5任一项所述的音频共享方法,其特征在于,当多个应用同时捕获音频时,只有一个或两个应用处于活动状态,其他应用则处于静音状态,当活动应用发生更改时,音频框架会根据以下规则重新配置音频路径:
每个活动应用的音频输入设备会更改;
启用与最高优先级活动应用相关联的预处理,其他预处理都将被忽略。
7.根据权利要求6所述的音频共享方法,其特征在于,当优先级较高的应用处于活动状态时,活动应用受到静默处理,在AudioRecord或MediaRecorder对象上注册一个AudioManager.AudioRecordingCallback,以便在配置发生更改时收到通知。
8.根据权利要求7所述的音频共享方法,其特征在于,所述更改包括捕获受到静默处理或解除静默处理、设备更改、预处理更改、音频流属性更改。
9.一种音频共享***,其特征在于,包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现权利要求1-8中任一项所述的音频共享方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现权利要求1-8中任一项所述的音频共享方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110815811.7A CN113535113A (zh) | 2021-07-19 | 2021-07-19 | 一种音频共享方法、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110815811.7A CN113535113A (zh) | 2021-07-19 | 2021-07-19 | 一种音频共享方法、***及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113535113A true CN113535113A (zh) | 2021-10-22 |
Family
ID=78128787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110815811.7A Pending CN113535113A (zh) | 2021-07-19 | 2021-07-19 | 一种音频共享方法、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535113A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617803A (zh) * | 2013-11-08 | 2014-03-05 | 中标软件有限公司 | 一种车载***上多音源自动切换方法及*** |
US20160342384A1 (en) * | 2012-09-28 | 2016-11-24 | Pantech Co., Ltd. | Mobile terminal and method for controlling sound output |
US10147426B1 (en) * | 2017-08-01 | 2018-12-04 | Lenovo (Singapore) Pte. Ltd. | Method and device to select an audio output circuit based on priority attributes |
CN109032559A (zh) * | 2018-07-25 | 2018-12-18 | 南京创维信息技术研究院有限公司 | 一种多应用共享同一录音设备的配置方法及*** |
CN112805988A (zh) * | 2018-11-16 | 2021-05-14 | 深圳市欢太科技有限公司 | 通话控制方法和装置、计算机可读存储介质、电子设备 |
-
2021
- 2021-07-19 CN CN202110815811.7A patent/CN113535113A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160342384A1 (en) * | 2012-09-28 | 2016-11-24 | Pantech Co., Ltd. | Mobile terminal and method for controlling sound output |
CN103617803A (zh) * | 2013-11-08 | 2014-03-05 | 中标软件有限公司 | 一种车载***上多音源自动切换方法及*** |
US10147426B1 (en) * | 2017-08-01 | 2018-12-04 | Lenovo (Singapore) Pte. Ltd. | Method and device to select an audio output circuit based on priority attributes |
CN109032559A (zh) * | 2018-07-25 | 2018-12-18 | 南京创维信息技术研究院有限公司 | 一种多应用共享同一录音设备的配置方法及*** |
CN112805988A (zh) * | 2018-11-16 | 2021-05-14 | 深圳市欢太科技有限公司 | 通话控制方法和装置、计算机可读存储介质、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949162B2 (en) | Method for multi-channel recording based on android system and audio system | |
CN108038231B (zh) | 日志处理方法、装置、终端设备及存储介质 | |
CN107402835A (zh) | 应用程序的异常处理方法、装置及存储介质和移动终端 | |
CN103514075B (zh) | 在移动终端中监控api函数调用的方法和装置 | |
US11604674B2 (en) | Systems and methods for detecting and filtering function calls within processes for malware behavior | |
JP7020630B2 (ja) | 電子デバイスにおけるハードウェアリソースアクセスを管理するための方法および装置 | |
CN102508702B (zh) | 一种基于aop技术进行拦截来处理业务通用逻辑的方法 | |
US20050021876A1 (en) | Terminal device | |
US20090109961A1 (en) | Multiple simultaneous call management using voice over internet protocol | |
CN110933075B (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN112333282B (zh) | 一种基于混合云的服务提供方法、装置、介质及电子设备 | |
US9432954B2 (en) | Determination of device body location | |
US7945440B2 (en) | Audio stream notification and processing | |
WO2024125492A1 (zh) | 音频输出设备切换方法及装置、计算机可读存储介质 | |
CN117472321A (zh) | 音频处理方法、装置、存储介质及电子设备 | |
CN112181880B (zh) | 一种控制usb信道切换的方法及装置 | |
CN113535113A (zh) | 一种音频共享方法、***及存储介质 | |
CN112395242A (zh) | 多芯片控制方法、装置、电子设备和计算机可读存储介质 | |
CN115242972B (zh) | 一种应用调用摄像头的方法和装置、电子设备及存储介质 | |
CN116471351B (zh) | 通话音频数据的传输方法及装置 | |
CN113765939B (zh) | 呼叫方法、装置、设备及存储介质 | |
CN115022770A (zh) | 音频播放控制方法、终端设备及计算机可读存储介质 | |
CN114448553B (zh) | 防窃听方法、装置、设备以及存储介质 | |
CN109213467B (zh) | 获取音频设备声音的方法、存储介质、电子设备及*** | |
US20220365808A1 (en) | Method and system for controlling an application feature based on system metrics |
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 |