发明内容
本发明的主要目的在于提供一种通话录音方法和装置,旨在满足用户的通话录音需求,减少资源占用,提升用户体验。
为达以上目的,本发明提出一种通话录音方法,包括步骤:
(a)当呼叫建立时,判断呼叫对象是否在通讯录中;
(b)如果所述呼叫对象不在所述通讯录中,则对通话进行录音。
优选地,所述步骤(b)之后还包括步骤:
(c)通话结束后,询问用户是否需要保存本次录音;
(d)若用户选择保存,则保存本次录音;否则,舍弃本次录音。
优选地,步骤(b)中,在对通话进行录音过程中,每隔预设时间保存一次录音。
优选地,所述步骤(a)之前还包括:
广播接收器监听呼叫状态的广播,当监听到所述呼叫状态为呼叫建立时,启动录音模块;
录音模块启动后,则执行后续步骤。
优选地,所述步骤(a)之前还包括:
广播接收器监听到***启动的广播后,启动录音模块;
录音模块监听呼叫状态的广播,当监听到所述呼叫状态为呼叫建立时,则执行后续步骤。
本发明同时提出一种通话录音装置,包括一录音模块,所述录音模块包括判断单元和录制单元,其中:
判断单元,用于当呼叫建立时,判断呼叫对象是否在通讯录中,并向所述录制单元发送判断结果;
录制单元,用于当所述判断结果为所述呼叫对象不在所述通讯录中时,则对通话进行录音。
优选地,所述录制单元还用于:
通话结束后,询问用户是否需要保存本次录音;
若用户选择保存,则保存本次录音;否则,舍弃本次录音。
优选地,所述录制单元还用于:在对通话进行录音过程中,每隔预设时间保存一次录音。
优选地,所述通话录音装置还包括广播接收器,所述广播接收器用于:监听呼叫状态的广播,当监听到所述呼叫状态为呼叫建立时,启动录音模块,优选地,所述通话录音装置还包括广播接收器,所述广播接收器用于:当监听到***启动的广播后,启动录音模块;所述录音模块还包括监听单元,所述监听单元用于:监听呼叫状态的广播,并发送监听结果。
本发明所提供的一种通话录音方法,只有判定呼叫对象不在通讯录中时,才对本次通话进行录音,即只对陌生人的来电或去电进行录音,从而更加符合用户的通话录音需求,同时也避免对所有的电话进行录音而占用大量的存储空间。既满足了用户的通话录音需求,又减少了资源占用,提升了用户体验。
而且,在通话结束后,允许用户选择保存本次录音或舍弃本次录音,给予用户更多的自主选择权,更加人性化。
此外,通话过程中,每隔预设时间保存一次录音,从而即使在通话过程中终端忽然断电或死机,也不会丢失录音数据,提高了数据的安全性。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,提出本发明的通话录音方法第一实施例,所述通话录音方法包括以下步骤:
步骤S101:建立呼叫连接
所述呼叫包括呼入或呼出,呼入即接听外部电话,呼出即向外拨打电话。
步骤S102:判断呼叫对象是否在通讯录中
终端获取当前的呼叫对象的电话号码,查询通讯录(或称联系人列表)中是否有该电话号码。若没有,则认定当前的呼叫对象为陌生人,进入步骤S104;若有,则认定当前的呼叫对象为熟人,进入步骤S103。
步骤S103:不予录音
若认定当前的呼叫对象为熟人,则不进行录音。
步骤S104:对通话进行录音
若认定当前的呼叫对象为陌生人,则对通话进行录音。
步骤S105:通话结束,停止录音
步骤S106:询问用户是否需要保存本次录音
具体的,通话结束后,终端显示询问界面,询问用户是否需要保存本次录音。可选地,也可以通过语音询问用户。若用户选择不保存,则进入步骤S107;若用户选择保存,则进入步骤S108。
步骤S107:舍弃本次录音
若用户认为本次录音不需要保存,终端则舍弃本次录音,不予保存,节省存储空间。
步骤S108:保存本次录音
若用户认为本次录音需要保存,则将本次录音保存于本地或云端,并允许用户对录音文件进行命名。
具体实现上,可以采用以下方案:
方案一:在录音机应用的配置文件中,添加一个监听***启动的广播的广播接收器,当广播接收器在onReceive()中接收到***启动的广播后,就启动录音模块(或启动一个服务进程(service))进行录音相关操作,录音模块(或服务进程)一直在后台运行,监听呼叫状态的广播,其中呼叫状态包括呼叫建立、呼叫结束、呼出、呼入等。当呼入或者呼出时,***会发送相应的广播,在通话状态发生变化时,也会发送广播进行通知。其中,呼出对应的广播为Intent.ACTION_NEW_OUTGOING_CALL,通话状态发生变化对应的广播为TelephonyManager.ACTION_PHONE_STATE_CHANGED,呼叫建立(或接听状态)对应的广播为TelephonyManager.CALL_STATE_OFFHOOK,呼叫结束(或挂断状态)对应的广播为TelephonyManager.CALL_STATE_IDLE,等等。从而,录音模块(或服务进程)就可以根据接收到的***发送的广播,在广播接收器的onReceive()中,根据呼叫状态进行相应的操作。比如录音模块(或服务进程)监听到呼叫状态为呼叫建立时,则判断呼叫对象是否在通讯录中,若是则不予录音,若否则对通话进行录音。当监听到呼叫状态为呼叫结束时,则停止录音并直接予以保存;或者询问用户是否需要保存,需要保存则予以保存,否则予以舍弃。
方案二:在录音机应用的配置文件中,添加一个监听电话呼叫状态的广播的广播接收器。当广播接收器监听到呼叫状态为呼叫建立,如当前正在呼出或者呼入正在响铃时,就在其onReceive()中启动录音模块(或一个服务进程)。录音模块(或服务进程)启动后,也可以对呼叫状态的广播进行监听(或者由广播接收器将监听结果发送给录音模块,或者由广播接收器根据监听结果对录音模块进行相应控制),并执行录音相关操作。如判断呼叫对象是否在通讯录中,若是则不予录音,若否则对通话进行录音;当监听到呼叫状态为呼叫结束时,则停止录音并直接予以保存,或者询问用户是否需要保存,需要保存则予以保存,否则予以舍弃;或者在通话过程中,每隔预设时间保存一次录音。当广播接收器监听到呼叫结束后,则关闭录音模块(或停止服务进程),释放资源。
相对于方案一,方案二具有以下优势:录音模块(或服务进程)不需要一直在后台运行而导致一直占用资源,只有当有电话呼出或呼入时,才启动录音模块(或服务进程),根据呼叫状态来进行相关操作,通话结束后就关闭录音模块(或停止服务进程),释放资源。因此可以减少资源占用,降低了能耗。
从而,本发明的通话录音方法,只当判定呼叫对象不在通讯录中时,才对本次通话进行录音,即只对陌生人的来电或去电进行录音,从而更加符合用户的通话录音需求,同时也避免对所有的电话进行录音而占用大量的存储空间。既满足了用户的通话录音需求,又减少了资源占用,提升了用户体验。
参见图2,提出本发明的通话录音方法第二实施例,所述通话录音方法包括以下步骤:
步骤S201:建立呼叫连接
步骤S202:判断呼叫对象是否在通讯录中
若当前的呼叫对象在通讯录中,则进入步骤S203;若当前的呼叫对象不在通讯录中,则进入步骤S204。
步骤S203:不予录音
步骤S204:对通话进行录音
步骤S205:通话过程中,每隔预设时间保存一次录音
本实施例中,终端一边对通话进行录音,一边每隔预设时间(如每隔1~5分钟)对录音进行一次保存。即使在通话过程中终端忽然断电或死机,也不会丢失录音数据,提高了数据的安全性。
步骤S206:通话结束,停止录音并予以保存
通话结束后,自动将全部录音保存起来。
可选地,终端也可以询问用户是否进行保存,若需要保存,则予以保存;否则,删除已保存的部分数据,舍弃本次录音。
参见图3,提出本发明的通话录音方法第三实施例,所述通话录音方法包括以下步骤:
步骤S201:建立呼叫连接
步骤S202:判断呼叫对象是否在通讯录中
若当前的呼叫对象在通讯录中,则进入步骤S204;若当前的呼叫对象不在通讯录中,则进入步骤S203。
步骤S203:询问用户是否需要录音
若当前的呼叫对象不在通讯录中,则询问用户是否需要录音,若用户选择是则进入步骤S205;若用户选择否,则进入步骤S204。
具体的,终端可以在屏幕上显示询问界面,且不影响用户的通话。在用户通话过程中,若用户没有进行选择,则终端默认用户不希望录音,进入步骤S204,但该询问界面一直保持显示,用户可以根据需要随时选择录音。当用户选择否,则进入步骤S204,且询问界面消失;当用户选择是,则进入步骤S205,且询问界面消失。
步骤S204:不予录音
若呼叫对象在通讯录中,或虽然呼叫对象不在通讯录中,但用户选择不予录音,则终端不对本次通话进行录音。
步骤S205:对通话进行录音
若呼叫对象不在通讯录中且用户选择录音,终端则对本次通话进行录音。
步骤S206:通话结束,停止录音并保存本次录音
可选地,终端也可以通话过程中,每隔预设时间保存一次录音。
可选地,通话结束后,终端也可以再次询问用户是否需要保存本次录音,若用户选择是则予以保存,否则舍弃本次录音。
参见图4,提出本发明的通话录音装置第一实施例,所述通话录音装置包括广播接收器和录音模块。
广播接收器:用于监听***启动的广播,当监听到******启动的广播后,则启动录音模块。即一旦通话录音装置启动后,录音模块也随即启动,并一直在后台运行。
录音模块:用于监听呼叫状态的广播,当监听到呼叫状态为呼叫建立时,则执行录音相关操作。
具体的,录音模块包括监听单元、判断单元和录制单元。
监听单元:用于监听呼叫状态的广播,并将监听结果发送给判断单元和录制单元。所述呼叫状态包括呼叫建立、呼叫结束、呼入、呼出等。
判断单元:用于当接收到呼叫状态为呼叫建立时,判断呼叫对象是否在通讯录中,并向录制单元发送判断结果。
录制单元:用于根据判断结果和呼叫状态执行相应的操作。
若判断结果为呼叫对象在通讯录中,则不予录音。若判断结果为呼叫对象不在通讯录中,则对通话进行录音;或者询问用户是否需要录音,当用户选择是则进行录音,否则不予录音。当呼叫状态为呼叫结束时,则停止录音,并直接保存本次录音;或者询问用户是否需要保存本次录音,若用户选择是则保存本次录音,否则舍弃本次录音。
可选地,录制单元可以在通话过程中,每隔预设时间(如1~5分钟)保存一次录音。待通话结束后自动将全部录音保存起来;或者询问用户是否进行保存,若需要保存,则予以保存,否则,删除已保存的部分数据,舍弃本次录音。
本实施例的通话录音装置,只当判定呼叫对象不在通讯录中时,才对本次通话进行录音,即只对陌生人的来电或去电进行录音,从而更加符合用户的通话录音需求,同时也避免对所有的电话进行录音而占用大量的存储空间。既满足了用户的通话录音需求,又减少了资源占用,提升了用户体验。
参见图5,提出本发明的通话录音装置第二实施例,所述通话录音装置包括广播接收器和录音模块。
广播接收器:用于监听呼叫状态的广播,根据呼叫状态控制录音模块执行相应的操作,或者同时向录音模块发送呼叫状态。
如当监听到呼叫状态为呼叫建立时,启动录音模块,以使录音模块执行录音相关操作。当监听到呼叫状态为呼叫结束时,则关闭录音模块,释放资源。
录音模块:用于在广播接收器的控制下或根据呼叫状态执行录音相关操作。其包括判断单元和录制单元。
判断单元:用于判断呼叫对象是否在通讯录中,并向录制单元发送判断结果。判断单元在广播接收器的控制下执行判断操作或根据呼叫状态如呼叫建立时执行判断操作。
录制单元:用于在广播接收器的控制下根据判断结果执行相应的操作,或根据判断结果和呼叫状态执行相应的操作。
若判断结果为呼叫对象在通讯录中,则不予录音。若判断结果为呼叫对象不在通讯录中,则对通话进行录音;或者询问用户是否需要录音,当用户选择是则进行录音,否则不予录音。当呼叫状态为呼叫结束时则(或在广播接收器的控制下)停止录音,并直接保存本次录音;或者询问用户是否需要保存本次录音,若用户选择是则保存本次录音,否则舍弃本次录音。
可选地,录制单元可以在通话过程中,每隔预设时间(如1~5分钟)保存一次录音。待通话结束后自动将全部录音保存起来;或者询问用户是否进行保存,若需要保存,则予以保存,否则,删除已保存的部分数据,舍弃本次录音。
可选地,录音模块也可以包括一监听单元,用于监听呼叫状态的广播,并将监听结果发送给判断单元和录制单元。
本实施例中录音模块不需要一直在后台运行而导致一直占用资源,只有当有电话呼出或呼入时,广播接收器才启动录音模块,录音模块启动后执行录音相关操作,待通话结束后广播接收器就关闭录音模块,释放资源。因此可以减少资源占用,降低了能耗。
上述方法实施例中的技术特征在本装置均对应适用,这里不再重述。
需要说明的是:上述实施例提供的通话录音装置在进行通话录音时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成。另外,上述实施例提供的通话录音装置与通话录音方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤可以通过程序来控制相关的硬件完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质可以是ROM/RAM、磁盘、光盘等。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。