在基于iOS的移动电话上实现通话录音的方法和装置制造方法

文档序号:7771514
在基于iOS的移动电话上实现通话录音的方法和装置制造方法
【专利摘要】本发明公开了一种在基于iOS的移动电话上实现通话录音的方法和装置,其中的通话录音的方法包括:监听基于iOS的移动电话的通话事件;基于MobileSubstrate框架,截获所述基于iOS的移动电话的操作系统中的音频数据处理函数;在根据所述通话事件的监听结果判断出所述基于iOS的移动电话当前处于通话状态,且在根据用户的录音设置信息判断出当前通话为需要进行录音的通话的情况下,从截获到的所述音频数据处理函数的输入参数中获取当前通话的音频数据;将所述音频数据存储到当前通话对应的音频文件中。
【专利说明】在基于iOS的移动电话上实现通话录音的方法和装置
【技术领域】
[0001]本发明涉及移动电话,特别是涉及一种在基于iOS的移动电话上实现通话录音的方法和装置。
【背景技术】
[0002]iOS是苹果公司的iPhone移动电话的操作系统。
[0003]由于iOS是一个封闭的操作系统,因此,应用开发者只能使用苹果公司对外公开提供的开发接口进行应用软件的开发;从而针对ios的应用软件所能够实现的功能会受制于这些开发接口。
[0004]针对语音通话,用户常常会有通话录音需求,然而,目前苹果公司并没有针对语音通话内容(即语音数据)提供相关的接口,因此,应用开发者无法获取语音通话过程中的语音数据,从而也就无法开发出通话录音的应用软件。而苹果公司只能给用户提供语音通话的概要信息,例如,语音通话何时开始、何时结束以及通话对方的移动电话号码等。
[0005]目前,针对iPhone移动电话,通常通过间接录音方式来实现语音通话的录音,下面例举几种通过间接录音方式实现语音通话录音的方法:
[0006]方法1、用户采用免提方式进行语音通话,并使用iPhone移动电话中的录音软件或者其他录音工具来录制iPhone移动电话外放的通话对方的通话声音以及iPhone移动电话的使用者的通话声音。
[0007]方法2、用户通过带录音功能的蓝牙耳机对语音通话进行录音。
[0008]方法3、iPhone移动电话先呼叫具有录音功能的第三方,再由第三方自动呼叫语音通话对方,然后,在iPhone移动电话与语音通话对方之间通话过程中,由第三方进行语首通话录首。
[0009]发明人在实现本发明过程中发现,上述方法一会存在录制话音不清晰的问题,而且大多数人在进行语音通话时并不习惯开启免提方式;上述方法二需要另外购置蓝牙耳机,且使用蓝牙耳机进行录音也存在使用不便之处;上述方法三需要具有自动拨号以及录音功能的第三方参与,实现成本较高,且录音内容保存在第三方,也会涉及隐私问题。

【发明内容】

[0010]鉴于上述问题,提出了本发明,以便提供一种克服上述问题或者至少部分地解决上述问题的在基于ios的移动电话上实现通话录音的方法和相应的在基于iOS的移动电话上实现通话录音的装置。
[0011]依据本发明的一个方面,提供了在基于iOS的移动电话上实现通话录音的方法,该方法包括:监听基于ios的移动电话的通话事件;基于MobileSubstrate框架,截获所述基于iOS的移动电话的操作系统中的音频数据处理函数;在根据所述通话事件的监听结果判断出所述基于iOS的移动电话当前处于通话状态,且在根据用户的录音设置信息判断出当前通话为需要进行录音的通话的情况下,从截获到的所述音频数据处理函数的输入参数中获取当前通话的音频数据;将所述音频数据存储到当前通话对应的音频文件中。
[0012]可选地,在上述方法中,所述根据所述通话事件的监听结果判断出所述基于iOS的移动电话当前处于通话状态包括:在监听到通话开始事件的情况下,判断出所述基于ios的移动电话当前处于通话状态。
[0013]可选地,在上述方法中,所述监听基于iOS的移动电话的通话事件包括:在监听到通话开始事件的情况下,将预先设置的通话状态标志位的取值设置为第一预定值;在监听到通话结束事件的情况下,将预先设置的通话状态标志位的取值设置为第二预定值;且所述根据所述通话事件的监听结果判断出所述基于ios的移动电话当前处于通话状态包括:在每次截获到所述音频数据处理函数的情况下,查询所述通话状态标志位的当前取值,并在所述通话状态标志位的当前取值为第一预定值时,判断出基于ios的移动电话当前处于通话状态。
[0014]可选地,在上述方法中,所述截获所述基于iOS的移动电话的操作系统中的音频数据处理函数包括:在所述操作系统中的进程需要调用所述音频数据处理函数时,预先设置的通话录音函数被所述进程调用,且由所述通话录音函数调用所述音频数据处理函数,以截获所述音频数据处理函数。
[0015]可选地,在上述方法中,所述方法还包括:根据用户的录音设置信息设置录音标志位的取值;且所述根据用户的录音设置信息判断出当前通话为需要进行录音的通话包括:在每次截获到所述音频数据处理函数时,查询所述录音标志位的当前取值,并根据所述录音标志位的当前取值判断出当前通话为需要进行录音的通话。
[0016]可选地,在上述方法中,所述根据用户的录音设置信息判断出当前通话为需要进行录音的通话包括:
[0017]根据用户的录音设置信息将所有的当前通话均确定为需要进行录音的通话;或者
[0018]在当前通话为拨入通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0019]在当前通话为针对预定通话对方的拨入通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0020]在当前通话为拨出通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0021]在当前通话为针对预定通话对方的拨出通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0022]在当前通话为针对预定通话对方的通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0023]在当前通话过程中,根据用户点击录音按键所产生的临时录音设置信息判断出当前通话为需要进行录音的通话。
[0024]可选地,在上述方法中,所述用户的录音设置信息包括:对所有通话进行录音的设置信息、对所有拨入通话进行录音的设置信息、针对预定通话对方的所有拨入通话进行录音的设置信息、对所有拨出通话进行录音的设置信息、针对预定通话对方的所有拨出通话进行录音的设置信息、针对预定通话对方的所有通话进行录音的设置信息以及用户针对当前通话触发基于ios的移动电话显示的录音按键所产生的临时录音设置信息中的至少一个。
[0025]可选地,在上述方法中,所述将所述音频数据存储到当前通话对应的音频文件中包括:对所述音频数据的格式进行识别;根据音频数据的格式的识别结果在判断出所述音频数据为通话对方的音频数据时,将所述音频数据存储在通话对方单声道音频文件中;根据音频数据的格式的识别结果在判断出所述音频数据为通话本方的音频数据时,将所述音频数据存储在通话本方单声道音频文件中。
[0026]可选地,在上述方法中,所述方法还包括:
[0027]在播放通话录音时,同时播放所述通话对方单声道音频文件和通话本方单声道音频文件;或者
[0028]在播放通话录音时,将所述通话对方单声道音频文件和通话本方单声道音频文件合成为双声道音频文件,并播放所述双声道音频文件。
[0029]可选地,在上述方法中,该方法还包括:对通话对方的音频数据进行音量放大调

iF.0
[0030]可选地,在上述方法中,该方法还包括:所述基于iOS的移动电话中存储有录音提示音频数据,在当前通话为需要进行录音的通话的情况下,在当前通话过程中播放所述录音提示音频数据。
[0031]根据本发明的另一方面,提供了在基于iOS的移动电话上实现通话录音的装置,该装置包括:
[0032]监听模块,用于监听基于iOS的移动电话的通话事件;
[0033]截获模块,用于基于MobileSubstrate框架,截获所述基于iOS的移动电话的操作系统中的音频数据处理函数;
[0034]获取模块,用于在根据所述通话事件的监听结果判断出所述基于iOS的移动电话当前处于通话状态,且在根据用户的录音设置信息判断出当前通话为需要进行录音的通话的情况下,从截获到的所述音频数据处理函数的输入参数中获取当前通话的音频数据;
[0035]存储模块,用于将所述音频数据存储到当前通话对应的音频文件中。
[0036]可选地,在上述装置中,所述获取模块具体用于:在监听到通话开始事件的情况下,判断出所述基于iOS的移动电话当前处于通话状态。
[0037]可选地,在上述装置中,所述监听模块具体用于:在监听到通话开始事件时,将预先设置的通话状态标志位的取值设置为第一预定值;在监听到通话结束事件时,将预先设置的通话状态标志位的取值设置为第二预定值;且所述获取模块具体用于:在截获模块每次截获到所述音频数据处理函数时,获取模块查询所述通话状态标志位的当前取值,并在所述通话状态标志位的当前取值为第一预定值时,判断出基于ios的移动电话当前处于通话状态。
[0038]可选地,在上述装置中,所述截获模块、获取模块和存储模块设置于预先设置的通话录音函数中,且在所述操作系统中的进程需要调用所述音频数据处理函数时,所述通话录音函数被所述进程调用,且由所述截获模块调用所述音频数据处理函数,以截获所述音频数据处理函数。
[0039]可选地,在上述装置中,所述装置还包括:录音标志位设置模块,用于根据用户的录音设置信息设置录音标志位的取值;[0040]且所述获取模块具体用于:在每次截获到所述音频数据处理函数时,查询所述录音标志位的当前取值,并根据所述录音标志位的当前取值判断出当前通话为需要进行录音的通话。
[0041]可选地,在上述装置中,所述获取模块具体用于:
[0042]根据用户的录音设置信息将所有的当前通话均确定为需要进行录音的通话;或者
[0043]在当前通话为拨入通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0044]在当前通话为针对预定通话对方的拨入通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0045]在当前通话为拨出通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0046]在当前通话为针对预定通话对方的拨出通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0047]在当前通话为针对预定通话对方的通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0048]在当前通话过程中,根据用户点击录音按键所产生的临时录音设置信息判断出当前通话为需要进行录音的通话。
[0049]可选地,在上述装置中,所述用户的录音设置信息包括:对所有通话进行录音的设置信息、对所有拨入通话进行录音的设置信息、针对预定通话对方的所有拨入通话进行录音的设置信息、对所有拨出通话进行录音的设置信息、针对预定通话对方的所有拨出通话进行录音的设置信息、针对预定通话对方的所有通话进行录音的设置信息以及用户针对当前通话触发基于ios的移动电话显示的录音按键所产生的临时录音设置信息中的至少一个。
[0050]可选地,在上述装置中,所述存储模块具体用于:对所述音频数据的格式进行识别;根据音频数据的格式的识别结果在判断出所述音频数据为通话对方的音频数据时,将所述音频数据存储在通话对方单声道音频文件中;根据音频数据的格式的识别结果在判断出所述音频数据为通话本方的音频数据时,将所述音频数据存储在通话本方单声道音频文件中。
[0051]可选地,在上述装置中,所述装置还包括:录音播放模块,用于在播放通话录音时,同时播放所述通话对方单声道音频文件和通话本方单声道音频文件;或者,用于在播放通话录音时,将所述通话对方单声道音频文件和通话本方单声道音频文件合成为双声道音频文件,并播放所述双声道音频文件。
[0052]可选地,在上述装置中,该装置还包括:音量放大模块,用于对通话对方的音频数据进行音量放大调整。
[0053]可选地,在上述装置中,该装置还包括:录音提示模块,用于存储有录音提示音频数据,在当前通话为需要进行录音的通话的情况下,在当前通话过程中播放所述录音提示音频数据。
[0054]根据本发明实施例提供的在基于iOS的移动电话上实现通话录音的方法和装置,通过利用MobileSubstrate框架可以截获到基于iOS的移动电话的iOS操作系统的音频数据处理函数(如mediaserverd进程所调用的音频数据处理函数),这样,在判断出该基于iOS的移动电话处于通话状态且当前通话需要录音时,可以方便的从截获到的音频数据处理函数的输入参数中获取到当前通话的音频数据,并将这些音频数据存储为可播放的音频文件格式,从而后续可以通过播放相应的音频文件来回放对应的通话;本发明提供的方法和装置勿需添加任何附加设备,且具有使用方便、对基于iOS的移动电话的通话无任何影响以及易于应用推广等特点。
[0055]上述说明仅是本发明技术方案的概述,为了能够更清楚的了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【专利附图】

【附图说明】
[0056]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0057]图1示出了根据本发明一实施例的在基于iOS的移动电话上实现通话录音方法流程图;
[0058]图2示出了根据本发明一实施例的在基于iOS的移动电话上实现通话录音装置示意图;
[0059]图3示出了根据本发明另一实施例的在基于iOS的移动电话上实现通话录音装置示意图;
[0060]图4示出了图3示出的装置所执行的部分操作流程图。
【具体实施方式】
[0061]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0062]实施例一、在基于iOS的移动电话上实现通话录音的方法。该方法的流程如图1所示。下面以iPhone移动电话为基于iOS的移动电话为例对本方法实施例进行说明。
[0063]图1中,S100、监听iPhone移动电话的通话事件。
[0064]具体的,本发明实施例监听iPhone移动电话的通话事件主要是为了确定iPhone移动电话当前是否处于通话状态,如在监听到通话开始事件时,表示iPhone移动电话接通电话,当前处于通话状态,而后续在监听到通话结束事件时,表示iPhone移动电话已挂断当前的通话,从而其不再处于通话状态。
[0065]为了便于后续对iPhone移动电话当前是否处于通话状态进行判断,本发明实施例可以针对通话状态设置标志位,即通话状态标志位,通话状态标志位的当前取值可以明确的表示出iPhone移动电话当前是否处于通话状态;例如,在监听到通话开始事件时,将通话状态标志位的取值设置为第一预定值(如1),表示iPhone移动电话当前处于通话状态;而在监听到通话结束事件时,将通话状态标志位的取值设置为第二预定值(如0),表示iPhone移动电话当前并未处于通话状态。该通话状态标志位可以在应用初始化流程过程中被设置为第二预定值,而应用初始化流程可以在iPhone移动电话每次开机后被激活执行。
[0066]S110、基于MobileSubstrate框架,截获iPhone移动电话的操作系统中的音频数据处理函数。
[0067]具体的,针对具有MobileSubstrate框架的iPhone移动电话而言,可以通过利用MobileSubstrate框架来截获操作系统中的进程所调用的函数,从而可以获取到操作系统所产生的全部原始数据。
[0068]本发明实施例可以基于MobileSubstrate框架来设置通话录音函数,该通话录音函数的主要作用在于,截获操作系统的进程所调用的音频数据处理函数,并适时的从截获的音频数据处理函数的输入参数中获取通话的音频数据,然后,将其获取的音频数据存储起来。
[0069]在基于MobileSubstrate框架设置了通话录音函数后,在操作系统中的进程需要调用音频数据处理函数时,本发明实施例中的通话录音函数会被该进程调用,并由通话录音函数来调用音频数据处理函数,从而可以截获到操作系统中的音频数据处理函数。
[0070]一个具体的例子,mediaserverd是一个在iPhone移动电话的操作系统(iOS操作系统)上运行的系统进程,该进程负责对移动电话的音频数据进行处理;而在通话过程中,mediaserverd进程也会对各通话方的音频数据进行处理,因此,本发明实施例可以通过截获mediaserverd进程所调用的相应函数(即音频数据处理函数)来获取通话过程中的通话音频数据,通过将这些音频数据存储为可播放的音频文件格式,从而可以实现通话录音功倉泛。
[0071]需要说明的是,虽然上述S100和SllO是按照顺序先后说明的,但是在实际应用中,两者之间并没有先后执行顺序,两者通常是并行执行的。
[0072]S120、在根据通话事件的监听结果判断出iPhone移动电话当前处于通话状态,且在根据用户的录音设置信息判断出当前通话为需要进行录音的通话的情况下,从截获到的音频数据处理函数的输入参数中获取当前通话的音频数据。
[0073]具体的,iPhone移动电话的操作系统在需要对音频数据进行处理时,通常会由mediaserverd进程调用音频数据处理函数,因此,本发明实施例截获的音频数据处理函数的输入参数中的音频数据并不一定是通话过程中的音频数据;另外,有些通话也许并不是用户需要进行录音的通话,因此,本发明实施例在每次截获到音频数据处理函数时,均应进行iPhone移动电话当前是否为通话状态以及当前通话是否为需要录音的通话的判断操作。该判断操作可以由通话录音函数来执行,即在通话录音函数被进程调用后,通话录音函数需要执行上述判断操作,如果判断的结果为iPhone移动电话当前不处于通话状态,或者当前通话不是需要进行录音的通话,则通话录音函数不会执行后续的获取音频数据以及存储的操作,可以仅调用音频数据处理函数即可。
[0074]本发明实施例中的当前通话是否为需要录音的通话的判断操作可以基于录音标志位来实现。上述录音标志位的取值是根据用户的录音设置信息来设置的。上述用户的录音设置信息可以具体包括:对所有通话进行录音的设置信息、对所有拨入通话进行录音的设置信息、针对预定通话对方的所有拨入通话进行录音的设置信息、对所有拨出通话进行录音的设置信息、针对预定通话对方的所有拨出通话进行录音的设置信息、针对预定通话对方的所有通话进行录音的设置信息以及用户针对当前通话触发iPhone移动电话显示的录音按键所产生的临时录音设置信息等等。上述用户的录音设置信息可以通过iPhone移动电话中通话录音应用等提供的设置通话录音参数的界面来设置。
[0075]如果用户设置了对所有通话进行录音的设置信息,则上述录音标志位的当前取值可以始终被设置为第三预定值。
[0076]如果用户设置了对所有拨入通话进行录音的设置信息,则在监听到通话开始事件时,应判断出当前通话是拨入通话还是拨出通话,如果是拨入通话则将录音标志位的当前取值设置为第三预定值,否则,将录音标志位的当前取值设置为第四预定值。
[0077]如果用户设置了针对预定通话对方的所有拨入通话进行录音的设置信息,则在监听到通话开始事件时,可以先判断当前通话是拨入通话还是拨出通话,如果是拨入通话,可以再继续判断该拨入通话是否为预定通话对方的拨入通话,如果是预定通话对方的拨入通话,则将录音标志位的当前取值设置为第三预定值,否则,将录音标志位的当前取值设置为第四预定值。
[0078]如果用户设置了对所有拨出通话进行录音的设置信息,则在监听到通话开始事件时,应判断当前通话是拨入通话还是拨出通话,如果当前通话是拨出通话,则将录音标志位的当前取值设置为第三预定值,否则,将录音标志位的当前取值设置为第四预定值。
[0079]如果用户设置了针对预定通话对方的所有拨出通话进行录音的设置信息,则在监听到通话开始事件时,可以先判断当前通话是拨入通话还是拨出通话,如果是拨出通话,再继续判断该拨出通话是否为针对预定通话对方的拨出通话,如果是针对预定通话对方的拨出通话,则将录音标志位的当前取值设置为第三预定值,否则,将录音标志位的当前取值设置为第四预定值。
[0080]如果用户设置了针对预定通话对方的所有通话进行录音的设置信息,则在监听到通话开始事件时,应判断当前通话的通话对方是否为预先设置的预定通话对方,如果是预定通话对方,则将录音标志位的当前取值设置为第三预定值,否则,将录音标志位的当前取值设置为第四预定值。
[0081]如果在监听到通话开始事件时,已经判断出当前通话不需要录音,则录音标志位的当前取值被设置为第四预定值,然而,如果用户在当前通话过程中临时点击了 iPhone移动电话显示画面中的录音按键,则应将录音标志位的当前取值修改为第三预定值,之后,如果用户在当前通话过程中临时点击了 iPhone移动电话显示画面中的停止录音按键,则应将录音标志位的当前取值更改为第四预定值。
[0082]该录音标志位可以在应用初始化流程过程中被设置为第四预定值,而应用初始化流程可以在iPhone移动电话每次开机后被激活执行。
[0083]在设置了通话状态标志位以及录音标志位的情况下,本发明实施例可以在每次截获到音频数据处理函数时,查询通话状态标志位的当前取值以及录音标志位的当前取值,如果查询到的通话状态标志位的当前取值为第一预定值(如1),且录音标志位的当前取值为第三预定值(如1),则可以判断出iPhone移动电话当前处于通话状态且当前通话为需要进行录音的通话,从而应从截获的音频数据处理函数的输入参数中获取音频数据,否则,无论通话状态标志位和录音标志位的当前取值为I和0还是0和I,亦或是0和0,均不执行从截获的音频数据处理函数的输入参数中获取音频数据的操作。[0084]另外,需要说明的是,在判断出需要对当前通话进行录音的情况下,可以在通话过程中播放预先存储的录音提示音的音频数据;该录音提示音的音频数据可以为提示通话对方“当前通话会被录音”的音频数据;也可以是每隔预定间隔而播放的诸如“滴”的一声响的音频数据(如每5秒播放0.3秒的滴滴声),以提示通话本方,当前通话正在被录音;当然,也可以是其他需要警示的提示音的音频数据。
[0085]还有,虽然上述S100、S110和S120是按照顺序先后说明的,但是在实际应用中,根据用户的录音设置信息设置录音标志位的取值的过程与SlOO和SllO之间可以没有先后执行顺序。
[0086]S130、将音频数据存储到当前通话对应的音频文件中。
[0087]具体的,本发明实施例可以将获取的音频数据存储到当前通话对应的单声道音频文件中,这里的单声道音频文件有两个,即通话对方单声道音频文件和通话本方单声道音频文件;单声道音频文件的文件名可以与通话时间以及通话对方的标识相关。
[0088]本发明实施例可以通过对获取的音频数据的数据格式进行识别,来判断当前获取到的音频数据是通话对方的音频数据(即基于speaker拾取的音频数据),还是通话本方的音频数据(即基于麦克拾取的音频数据),从而通过数据格式的识别可以实现将当前获取到的音频数据存储到通话对方单声道音频文件或者通话本方单声道音频文件中。
[0089]另外,本发明实施例可以在通话结束时,对已存储的通话对方的音频数据进行音量放大调整,以使该通话录音在回放时,通话对方和通话本方的音频数据的播放音量基本相同,以便于录音回放时更够更真实的还原通话时的场景;当然,本发明实施例也可以在播放通话录音时,对通话对方的音频数据进行音量放大调整;或者,本发明实施例也可以在音频数据的存储过程中进行音量放大调整。本发明实施例不限制执行音量放大调整操作的具体实现时机。
[0090]需要说明的是,在音量放大调整过程中,本发明实施例可以参照通话本方的音频数据的音量属性来调整通话对方的音频数据的音量,以便于在通话录音回放过程中,通话本方的音量与通话对方的音量基本一致。当然,本发明实施例也可以根据经验预先设置通话对方的音频数据的音量调整倍数,这样,可以直接根据该音量调整倍数对通话对方的音频数据进行音量调整。
[0091]S140、根据用户的选择播放相应的通话录音。
[0092]具体的,用户可以通过iPhone移动电话中的录音播放画面选择其需要播放的通话录音。在上述存储的音频数据为两个单声道音频文件的情况下,如果上述音频数据是以通话对方单声道音频文件和通话本方单声道音频文件的形式存储的,则可以在播放通话录音时,同时播放该通话对方单声道音频文件和通话本方单声道音频文件;也可以在播放通话录音时,先将两个单声道音频文件合成一个双声道音频文件,然后,再播放该双声道音频文件。该双声道音频文件可以是能够在计算机中播放的音频文件。
[0093]另外,本发明实施例也可以在存储音频数据的时候,对音频数据进行格式转换,这样,可以直接将截获到的音频数据存储为双声道音频文件,从而在通话录音的回放时,可以直接播放该双声道音频文件即可。
[0094]需要说明的是,本发明实施例可以在被录音的通话结束时,存储与该通话相关的概要信息,如通话开始时间、通话结束时间、通话对方的号码/姓名以及该通话为拨出/拨入电话等。该概要信息可以有助于用户选择其需要播放的通话录音。上述与通话相关的概要信息可以存储于数据库或者表中。
[0095]实施例二、在基于iOS的移动电话上实现通话录音的装置。该装置如图2所示。下面以iPhone移动电话为基于iOS的移动电话为例对本装置的实施例进行说明。
[0096]图2中,该装置主要包括:监听模块200、截获模块210、获取模块220以及存储模块230,另外,该装置还可以包括:录音标志位设置模块240、录音播放模块250、音量放大模块260以及录音提示模块270。其中,上述截获模块210、获取模块220以及存储模块230可以通过下述的通话录音函数来实现。
[0097]监听模块200与获取模块220连接。监听模块200主要用于监听iPhone移动电话的通话事件。
[0098]具体的,监听模块200主要是为了确定iPhone移动电话当前是否处于通话状态,为了便于获取模块220对iPhone移动电话当前是否处于通话状态进行判断,本发明实施例可以针对通话状态设置标志位(即通话状态标志位),通话状态标志位的当前取值可以明确的表示出iPhone移动电话当前是否处于通话状态;例如,在监听模块200监听到通话开始事件时,监听模块200将通话状态标志位的取值设置为第一预定值(如I ),表示iPhone移动电话当前处于通话状态;而在监听模块200监听到通话结束事件时,监听模块200将通话状态标志位的取值设置为第二预定值(如0),表示iPhone移动电话当前并未处于通话状态。该通话状态标志位可以在应用初始化流程过程中被设置为第二预定值,而应用初始化流程可以在iPhone移动电话每次开机后被激活执行。
[0099]截获模块210与获取模块220连接。截获模块210主要用于基于MobileSubstrate框架,截获iPhone移动电话的操作系统中的音频数据处理函数。
[0100]具体的,针对具有MobileSubstrate框架的iPhone移动电话而言,截获模块210可以通过利用MobileSubstrate框架来截获操作系统中的进程所调用的函数,从而可以获取到操作系统所产生的全部原始数据。
[0101]本发明实施例的截获模块210可以设置于通话录音函数中,这样,在操作系统中的进程需要调用音频数据处理函数时,本发明实施例中的通话录音函数会被该进程调用,并由通话录音函数来调用音频数据处理函数,从而截获模块210可以截获到音频数据处理函数。
[0102]获取模块220与监听模块200、截获模块210以及录音标志位设置模块240分别连接。获取模块220主要用于在根据通话事件的监听结果(如监听模块200设置的通话状态标志位)判断出iPhone移动电话当前处于通话状态,且在根据用户的录音设置信息判断出当前通话为需要进行录音的通话(如根据录音标志位的当前取值进行判断)的情况下,从截获模块210截获到的音频数据处理函数的输入参数中获取当前通话的音频数据。
[0103]具体的,在监听模块200设置了通话状态标志位以及录音标志位设置模块240设置了录音标志位的情况下,获取模块220可以在截获模块210每次截获到音频数据处理函数时,查询通话状态标志位的当前取值以及录音标志位的当前取值,如果通话状态标志位的当前取值为第一预定值(如1),且录音标志位的当前取值为第三预定值(如1),则获取模块220可以判断出iPhone移动电话当前处于通话状态且当前通话为需要进行录音的通话,从而应从截获模块210截获的音频数据处理函数的输入参数中获取音频数据,否则,无论通话状态标志位和录音标志位的当前取值为I和O还是O和I,亦或是O和0,获取模块220均不执行从截获模块210截获的音频数据处理函数的输入参数中获取音频数据的操作。
[0104]存储模块230与获取模块220连接。存储模块230主要用于将获取模块220获取到的音频数据存储到当前通话对应的音频文件中。
[0105]具体的,存储模块230可以将获取模块220获取的音频数据存储到当前通话对应的单声道音频文件中,这里的单声道音频文件有两个,即通话对方单声道音频文件和通话本方单声道音频文件;单声道音频文件的文件名可以与通话时间以及通话对方的标识相关。
[0106]存储模块230可以通过对获取模块220获取的音频数据的数据格式进行识别,来判断当前获取到的音频数据是通话对方的音频数据(即基于speaker拾取的音频数据),还是通话本方的音频数据(即基于麦克拾取的音频数据),从而存储模块230通过数据格式的识别可以实现将当前获取到的音频数据存储到通话对方单声道音频文件或者通话本方单声道音频文件中。另外,存储模块230在存储音频数据时,也可以将其获取到的所有音频数据均转换为双声道音频文件的格式的音频数据,并将转换后的音频数据存储在双声道音频文件中。
[0107]录音标志位设置模块240与获取模块220连接。录音标志位设置模块240主要用于根据用户的录音设置信息设置录音标志位的取值,该录音标志位的取值是获取模块220执行判断操作的一个依据。
[0108]具体的,上述用户的录音设置信息可以具体包括:对所有通话进行录音的设置信息、对所有拨入通话进行录音的设置信息、针对预定通话对方的所有拨入通话进行录音的设置信息、对所有拨出通话进行录音的设置信息、针对预定通话对方的所有拨出通话进行录音的设置信息、针对预定通话对方的所有通话进行录音的设置信息以及用户针对当前通话触发iPhone移动电话显示的录音按键所产生的临时录音设置信息等等。上述用户的录音设置信息可以通过设置模块(图2中未示出)为用户提供的设置通话录音参数的界面来设置,录音标志位设置模块240根据用户的录音设置信息设置录音标志位的取值的具体例子如上述方法实施例中的描述,在此不再详细说明。
[0109]该录音标志位可以在应用初始化流程过程中被设置为第四预定值,而应用初始化流程可以在iPhone移动电话每次开机后被激活执行。
[0110]录音播放模块250与存储模块230连接。录音播放模块250主要用于回放通话录音。具体的,在通话录音为两个单声道音频文件的情况下,录音播放模块250在根据用户的选择播放相应的通话录音时,可以同时播放通话对方单声道音频文件和通话本方单声道音频文件;也可以先将通话对方单声道音频文件和通话本方单声道音频文件合成为双声道音频文件,然后,再播放该双声道音频文件。另外,如果存储模块230在存储音频数据时,已经将该音频数据已双声道音频文件的格式存储,则录音播放模块250可以直接播放该双声道首频文件。
[0111]音量放大模块260与存储模块230连接。音量放大模块260主要用于在当前通话结束时,对存储模块230存储的通话对方的音频数据进行音量放大调整,以使该通话录音在回放时,通话对方和通话本方的音频数据的播放音量基本相同,以便于录音回放时更够更真实的还原通话时的场景。当然,音量放大模块260也可以在录音播放模块250播放通话录音时,对通话对方的音频数据进行音量放大调整;或者,音量放大模块260也可以在音频数据的存储过程中进行音量放大调整。本发明实施例不限制音量放大模块260执行音量放大调整操作的具体实现时机。
[0112]在音量放大调整过程中,音量放大模块260可以参照通话本方的音频数据的音量属性来调整通话对方的音频数据的音量,以便于在通话录音回放过程中,通话本方的音量与通话对方的音量基本一致。当然,音量放大模块260中可以存储有根据经验预先设置通话对方的音频数据的音量调整倍数,这样,音量放大模块260可以直接根据该音量调整倍数对通话对方的音频数据进行音量调整。
[0113]录音提示模块270与获取模块220连接。录音提示模块270主要用于在需要对当前通话进行录音的情况下,可以在通话过程中播放预先存储的录音提示音的音频数据;该录音提示音的音频数据可以为提示通话对方“当前通话会被录音”的音频数据;也可以是每隔预定间隔而播放的诸如“滴”的一声响的音频数据,以提示通话本方,当前通话正在被录音;当然,也可以是其他需要警示的提示音的音频数据。
[0114]实施例三、在基于iOS的移动电话上实现通话录音的装置。该装置如图3所示。
[0115]图3中,该装置主要包括:音频数据处理模块300、录音按键显示模块310、设置模块320以及录音文件浏览模块330。
[0116]音频数据处理模块300 (包括上述监听模块200、截获模块210、获取模块220、存储模块230、录音标志位设置模块240、音量放大模块260以及录音提示模块270)主要用于截获音频数据以及保存音频数据等。
[0117]录音按键显示模块310主要用于在通话的界面显示录音按键(如红色的录音按键),该录音按键可以提示用户当前的录音状态。
[0118]设置模块320主要用于对用户的通话录音的参数进行设定,如是否开启通话录音功能、是否自动录制所有通话、是否只录制呼出通话、是否只录制呼入通话以及是否开启手动通话录音。另外,设置模块320还可以设置是否播放录音警告音以及录音提示音等。上述设置的用户的通话录音的参数可以存储于录音配置文件中。
[0119]录音文件浏览模块330 (包括上述录音播放模块250)主要用于为用户展示已经录制好的通话录音的概要信息,在用户点击收听相应的通话录音的概要信息时,为用户播放相应的通话内容。另外,录音文件浏览模块330也可以实现将相应通话录音的音频文件导出到电脑上或者将相应的通话录音的音频文件通过电子邮件的附件发送出去。
[0120]该装置实现通话录音的一个具体例子如下:
[0121]通过MobileSubstrate框架,音频数据处理模块300截获进程mediaserverd中处理音频数据处理函数,并监听系统的通话事件。
[0122]通过MobileSubstrate框架,录音按键显示模块310截获id分别为"com.apple.mobilephone"(系统电话进程)和"com.apple, springboard"(系统桌面进程)中显示默认通话界面函数。
[0123]当有电话接通时,音频数据处理模块300检测用户通过设置模块320设置于录音配置文件中的通话录音参数,以根据其检测的参数而执行相应的操作;具体的,如果用户未开启通话录音功能,则音频数据处理模块300不进行获取音频数据并存储等操作。如果用户开启了通话录音功能,且用户选择的通话录音模式是录制所有通话,或者只录制拨出通话且当前通话是拨出通话状态,或者只录制拨入通话且当前通话是拨入通话状态,则音频数据处理模块300开始收集通过移动电话的speaker发出的音频数据,以及通过移动电话的麦克(mic)接收的音频数据,并以“移动电话号码-电话接通时间.caf”为文件名,分别将这两种音频数据保存到两个单声道音频文件中;同时,音频数据处理模块300通知录音按键显示模块310显示录音按键动画(如红色录音按键闪烁的动画),以提示用户此时正在录音;否则,音频数据处理模块300通知录音按键显示模块310显示一个静止的录音按键(如红色录音按键),表示此时尚未录音(如图4所示的流程)。在当前通话结束时,音频数据处理模块300应对通过移动电话speaker发出的音频数据对应的文件中的音频数据进行音量放大处理,使两种音频数据的音量范围基本一致。
[0124]需要说明的是,用户可以通过点击录音按键(如点击红色按键),以通知音频数据处理模块300开始对当前通话录音。且在用户点击了该录音按键(如点击红色按键)的情况下,则录音按键显示模块310应显示红色按键闪烁的动画,以提示用户此时正在录音。
[0125]本发明实施例还提供了 Al、一种在基于iOS的移动电话上实现通话录音的方法,其中,该方法包括:
[0126]监听基于iOS的移动电话的通话事件;
[0127]基于MobileSubstrate框架,截获所述基于iOS的移动电话的操作系统中的音频数据处理函数;
[0128]在根据所述通话事件的监听结果判断出所述基于iOS的移动电话当前处于通话状态,且在根据用户的录音设置信息判断出当前通话为需要进行录音的通话的情况下,从截获到的所述音频数据处理函数的输入参数中获取当前通话的音频数据;
[0129]将所述音频数据存储到当前通话对应的音频文件中。
[0130]A2、如Al所述的方法,其中,所述根据所述通话事件的监听结果判断出所述基于ios的移动电话当前处于通话状态包括:
[0131]在监听到通话开始事件的情况下,判断出所述基于iOS的移动电话当前处于通话状态。
[0132]A3、如Al所述的方法,其中,所述监听基于iOS的移动电话的通话事件包括:
[0133]在监听到通话开始事件的情况下,将预先设置的通话状态标志位的取值设置为第
一预定值;
[0134]在监听到通话结束事件的情况下,将预先设置的通话状态标志位的取值设置为第
二预定值;
[0135]且所述根据所述通话事件的监听结果判断出所述基于iOS的移动电话当前处于通话状态包括:
[0136]在每次截获到所述音频数据处理函数的情况下,查询所述通话状态标志位的当前取值,并在所述通话状态标志位的当前取值为第一预定值时,判断出基于ios的移动电话当前处于通话状态。
[0137]A4、如Al所述的方法,其中,所述截获所述基于iOS的移动电话的操作系统中的音频数据处理函数包括:
[0138]在所述操作系统中的进程需要调用所述音频数据处理函数时,预先设置的通话录音函数被所述进程调用,且由所述通话录音函数调用所述音频数据处理函数,以截获所述音频数据处理函数。
[0139]A5、如Al所述的方法,其中,所述方法还包括:
[0140]根据用户的录音设置信息设置录音标志位的取值;
[0141]且所述根据用户的录音设置信息判断出当前通话为需要进行录音的通话包括:
[0142]在每次截获到所述音频数据处理函数时,查询所述录音标志位的当前取值,并根据所述录音标志位的当前取值判断出当前通话为需要进行录音的通话。
[0143]A6、如Al所述的方法,其中,所述根据用户的录音设置信息判断出当前通话为需要进行录音的通话包括:
[0144]根据用户的录音设置信息将所有的当前通话均确定为需要进行录音的通话;或者
[0145]在当前通话为拨入通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0146]在当前通话为针对预定通话对方的拨入通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0147]在当前通话为拨出通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0148]在当前通话为针对预定通话对方的拨出通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0149]在当前通话为针对预定通话对方的通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0150]在当前通话过程中,根据用户点击录音按键所产生的临时录音设置信息判断出当前通话为需要进行录音的通话。
[0151]A7、如Al所述的方法,其中,所述用户的录音设置信息包括:对所有通话进行录音的设置信息、对所有拨入通话进行录音的设置信息、针对预定通话对方的所有拨入通话进行录音的设置信息、对所有拨出通话进行录音的设置信息、针对预定通话对方的所有拨出通话进行录音的设置信息、针对预定通话对方的所有通话进行录音的设置信息以及用户针对当前通话触发基于iOS的移动电话显示的录音按键所产生的临时录音设置信息中的至少一个。
[0152]AS、如AAl所述的方法,其中,所述将所述音频数据存储到当前通话对应的音频文件中包括:
[0153]对所述音频数据的格式进行识别;
[0154]根据音频数据的格式的识别结果在判断出所述音频数据为通话对方的音频数据时,将所述音频数据存储在通话对方单声道音频文件中;
[0155]根据音频数据的格式的识别结果在判断出所述音频数据为通话本方的音频数据时,将所述音频数据存储在通话本方单声道音频文件中。
[0156]A9、如A8所述的方法,其中,所述方法还包括:
[0157]在播放通话录音时,同时播放所述通话对方单声道音频文件和通话本方单声道音频文件;或者
[0158]在播放通话录音时,将所述通话对方单声道音频文件和通话本方单声道音频文件合成为双声道音频文件,并播放所述双声道音频文件。[0159]A10、如Al至9中任一所述的方法,其中,该方法还包括:
[0160]对通话对方的音频数据进行音量放大调整。
[0161]AU、如Al至A9中任一所述的方法,其中,该方法还包括:
[0162]所述基于iOS的移动电话中存储有录音提示音频数据,在当前通话为需要进行录音的通话的情况下,在当前通话过程中播放所述录音提示音频数据。
[0163]本发明实施例还提供了 B12、一种在基于iOS的移动电话上实现通话录音的装置,其中,该装置包括:
[0164]监听模块,用于监听基于iOS的移动电话的通话事件;
[0165]截获模块,用于基于MobileSubstrate框架,截获所述基于iOS的移动电话的操作系统中的音频数据处理函数;
[0166]获取模块,用于在根据所述通话事件的监听结果判断出所述基于iOS的移动电话当前处于通话状态,且在根据用户的录音设置信息判断出当前通话为需要进行录音的通话的情况下,从截获到的所述音频数据处理函数的输入参数中获取当前通话的音频数据;
[0167]存储模块,用于将所述音频数据存储到当前通话对应的音频文件中。
[0168]B13、如B12所述的装置,其中,所述获取模块具体用于:
[0169]在监听到通话开始事件的情况下,判断出所述基于iOS的移动电话当前处于通话状态。
[0170]B14、如B12所述的装置,其中,所述监听模块具体用于:
[0171]在监听到通话开始事件时,将预先设置的通话状态标志位的取值设置为第一预定值;
[0172]在监听到通话结束事件时,将预先设置的通话状态标志位的取值设置为第二预定值;
[0173]且所述获取模块具体用于:
[0174]在截获模块每次截获到所述音频数据处理函数时,获取模块查询所述通话状态标志位的当前取值,并在所述通话状态标志位的当前取值为第一预定值时,判断出基于iOS的移动电话当前处于通话状态。
[0175]B15、如B12所述的装置,其中,所述截获模块、获取模块和存储模块设置于预先设置的通话录音函数中,且在所述操作系统中的进程需要调用所述音频数据处理函数时,所述通话录音函数被所述进程调用,且由所述截获模块调用所述音频数据处理函数,以截获所述音频数据处理函数。
[0176]B16、如B12所述的装置,其中,所述装置还包括:
[0177]录音标志位设置模块,用于根据用户的录音设置信息设置录音标志位的取值;
[0178]且所述获取模块具体用于:
[0179]在每次截获到所述音频数据处理函数时,查询所述录音标志位的当前取值,并根据所述录音标志位的当前取值判断出当前通话为需要进行录音的通话。
[0180]B17、如B12所述的装置,其中,所述获取模块具体用于:
[0181]根据用户的录音设置信息将所有的当前通话均确定为需要进行录音的通话;或者
[0182]在当前通话为拨入通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者[0183]在当前通话为针对预定通话对方的拨入通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0184]在当前通话为拨出通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0185]在当前通话为针对预定通话对方的拨出通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0186]在当前通话为针对预定通话对方的通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者
[0187]在当前通话过程中,根据用户点击录音按键所产生的临时录音设置信息判断出当前通话为需要进行录音的通话。
[0188]B18、如B12所述的装置,其中,所述用户的录音设置信息包括:对所有通话进行录音的设置信息、对所有拨入通话进行录音的设置信息、针对预定通话对方的所有拨入通话进行录音的设置信息、对所有拨出通话进行录音的设置信息、针对预定通话对方的所有拨出通话进行录音的设置信息、针对预定通话对方的所有通话进行录音的设置信息以及用户针对当前通话触发基于iOS的移动电话显示的录音按键所产生的临时录音设置信息中的至少一个。
[0189]B19、如B12所述的装置,其中,所述存储模块具体用于:
[0190]对所述音频数据的格式进行识别;
[0191]根据音频数据的格式的识别结果在判断出所述音频数据为通话对方的音频数据时,将所述音频数据存储在通话对方单声道音频文件中;
[0192]根据音频数据的格式的识别结果在判断出所述音频数据为通话本方的音频数据时,将所述音频数据存储在通话本方单声道音频文件中。
[0193]B20、如B19所述的装置,其中,所述装置还包括:
[0194]录音播放模块,用于在播放通话录音时,同时播放所述通话对方单声道音频文件和通话本方单声道音频文件;或者
[0195]用于在播放通话录音时,将所述通话对方单声道音频文件和通话本方单声道音频文件合成为双声道音频文件,并播放所述双声道音频文件。
[0196]B21、如B12至20中任一所述的装置,其中,该装置还包括:
[0197]音量放大模块,用于对通话对方的音频数据进行音量放大调整。
[0198]B22、如B12至20中任一所述的装置,其中,该装置还包括:
[0199]录音提示模块,用于存储有录音提示音频数据,在当前通话为需要进行录音的通话的情况下,在当前通话过程中播放所述录音提示音频数据。
[0200]在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0201]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0202]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0203]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0204]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0205]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网络接入设备、服务器以及主控终端设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0206]应该注意的是,上述实施例对本发明进行的详细说明并不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
【权利要求】
1.一种在基于ios的移动电话上实现通话录音的方法,其中,该方法包括: 监听基于iOS的移动电话的通话事件; 基于MobileSubstrate框架,截获所述基于iOS的移动电话的操作系统中的音频数据处理函数; 在根据所述通话事件的监听结果判断出所述基于iOS的移动电话当前处于通话状态,且在根据用户的录音设置信息判断出当前通话为需要进行录音的通话的情况下,从截获到的所述音频数据处理函数的输入参数中获取当前通话的音频数据; 将所述音频数据存储到当前通话对应的音频文件中。
2. 如权利要求1所述的方法,其中,所述根据所述通话事件的监听结果判断出所述基于iOS的移动电话当前处于通话状态包括: 在监听到通话开始事件的情况下,判断出所述基于iOS的移动电话当前处于通话状态。
3.如权利要求1所述的方法,其中,所述监听基于iOS的移动电话的通话事件包括: 在监听到通话开始事件的情况下,将预先设置的通话状态标志位的取值设置为第一预定值; 在监听到通话结束事件的情况下,将预先设置的通话状态标志位的取值设置为第二预定值; 且所述根据所述通话事件的监听结果判断出所述基于ios的移动电话当前处于通话状态包括: 在每次截获到所述音频数据处理函数的情况下,查询所述通话状态标志位的当前取值,并在所述通话状态标志位的当前取值为第一预定值时,判断出基于ios的移动电话当前处于通话状态。
4.如权利要求1所述的方法,其中,所述截获所述基于iOS的移动电话的操作系统中的音频数据处理函数包括: 在所述操作系统中的进程需要调用所述音频数据处理函数时,预先设置的通话录音函数被所述进程调用,且由所述通话录音函数调用所述音频数据处理函数,以截获所述音频数据处理函数。
5.如权利要求1所述的方法,其中,所述方法还包括: 根据用户的录音设置信息设置录音标志位的取值; 且所述根据用户的录音设置信息判断出当前通话为需要进行录音的通话包括: 在每次截获到所述音频数据处理函数时,查询所述录音标志位的当前取值,并根据所述录音标志位的当前取值判断出当前通话为需要进行录音的通话。
6.如权利要求1所述的方法,其中,所述根据用户的录音设置信息判断出当前通话为需要进行录音的通话包括: 根据用户的录音设置信息将所有的当前通话均确定为需要进行录音的通话;或者在当前通话为拨入通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者 在当前通话为针对预定通话对方的拨入通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者在当前通话为拨出通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者 在当前通话为针对预定通话对方的拨出通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者 在当前通话为针对预定通话对方的通话的情况下,根据用户的录音设置信息判断出当前通话为需要进行录音的通话;或者 在当前通话过程中,根据用户点击录音按键所产生的临时录音设置信息判断出当前通话为需要进行录音的通话。
7.如权利要求1所述的方法,其中,所述用户的录音设置信息包括:对所有通话进行录音的设置信息、对所有拨入通话进行录音的设置信息、针对预定通话对方的所有拨入通话进行录音的设置信息、对所有拨出通话进行录音的设置信息、针对预定通话对方的所有拨出通话进行录音的设置信息、针对预定通话对方的所有通话进行录音的设置信息以及用户针对当前通话触发基于iOS的移动电话显示的录音按键所产生的临时录音设置信息中的至少一个。
8.如权利要求1所述的方法,其中,所述将所述音频数据存储到当前通话对应的音频文件中包括: 对所述音频数据的格式进行识别; 根据音频数据的格式的识别结果在判断出所述音频数据为通话对方的音频数据时,将所述音频数据存储在通话对方单声道音频文件中; 根据音频数据的格式的识别结果在判断出所述音频数据为通话本方的音频数据时,将所述音频数据存储在通话本方单声道音频文件中。
9.一种在基于iOS的移动电话上实现通话录音的装置,其中,该装置包括: 监听模块,用于监听基于ios的移动电话的通话事件; 截获模块,用于基于MobileSubstrate框架,截获所述基于iOS的移动电话的操作系统中的音频数据处理函数; 获取模块,用于在根据所述通话事件的监听结果判断出所述基于iOS的移动电话当前处于通话状态,且在根据用户的录音设置信息判断出当前通话为需要进行录音的通话的情况下,从截获到的所述音频数据处理函数的输入参数中获取当前通话的音频数据; 存储模块,用于将所述音频数据存储到当前通话对应的音频文件中。
10.如权利要求9所述的装置,其中,所述获取模块具体用于: 在监听到通话开始事件的情况下,判断出所述基于ios的移动电话当前处于通话状态。
【文档编号】H04M1/656GK103491252SQ201310439472
【公开日】2014年1月1日 申请日期:2013年9月24日 优先权日:2013年9月24日
【发明者】刘斌 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1