适用于安卓系统的无间隙录音方法与流程

文档序号:11624516阅读:292来源:国知局
适用于安卓系统的无间隙录音方法与流程

本发明有关于一种无间隙录音方法,且特别是一种适用于安卓系统的无间隙录音方法。



背景技术:

请参照图1,图1是传统的安卓(android)系统架构控制与管理录音的示意图。安装安卓系统的装置可被称之为智能装置(smartdevice),例如智能手持装置。常见的智能手持装置如智能手机、平板电脑。安卓系统由框架层(framework)100、硬件抽象层(hardwareabstractionlayer,hal)200与核心层(kernel)300所建构。当应用于录音时,音频au的来源可能是内置的麦克风或者是外接的麦克风。在当外接麦克风插拔时,往往会造成录音中断的问题。

详细的说,依据安卓系统的设计,驱动程序(driver)31检测到耳机麦克风插入的信号时,驱动程序31通知系统(驱动程序31通知音频硬件抽象层(audiohal)21,然后音频硬件抽象层21通知音频管理器11)有外接麦克风插入,经过一段软硬件的运算时间之后,驱动程序31才收到系统切换音频路径的控制命令ss,驱动程序31因此才能将音频au的来源由原本的内置麦克风切换到外接麦克风。简言之,当外接麦克风插入智能装置,安卓系统是在经过运算延迟的时间之后,产生控制命令ss以控制驱动程序31将音频路径由内置麦克风切换到外接麦克风。然而,当外接麦克风插入但未完全插入之前,可能音频路径已切换到外接麦克风,故外接麦克风未完全插入之前仍有可能录不到外接麦克风的声音。在相反的情况,当外接麦克风拔出时,驱动程序31通知系统,系统会先通知各个应用程序,并通常在经过系统的运算延迟并再加上一个设定的延迟时间(如延迟一秒钟)之后,才产生控制命令ss以通知驱动程序31进行音频路径的切换。然而,在这段期间,由于外接麦克风已经拔出,导致系统产生延迟的这段时间内,因为音频au的来源仍然是设定为外接麦克风,如此会记录不到音频au的内容。



技术实现要素:

本发明实施例提供一种适用于安卓系统的无间隙录音方法,不论外接麦克风是否插拔皆可达到无间隙录音的效果。

本发明实施例提供一种适用于安卓系统的无间隙录音方法,所述安卓系统安装于智能装置,所述智能装置具有内置麦克风,所述无间隙录音方法用于智能装置进行录音的过程,此方法包括:智能装置的驱动程序判断智能装置是否已插入外接麦克风;当驱动程序判断智能装置已插入外接麦克风时,驱动程序依据控制命令延迟将音频路径由内置麦克风切换为外接麦克风,以确保外接麦克风完全插入智能装置后才开始录音;智能装置的驱动程序判断智能装置是否已拔除外接麦克风;以及当驱动程序判断智能装置已拔除外接麦克风时,驱动程序立即将音频路径由外接麦克风切换为内置麦克风。

综上所述,本发明实施例提供一种适用于安卓系统的无间隙录音方法,不论在外接麦克风插入或拔除时,系统都可以持续录音。使用者使用安卓系统进行录音时,不会因为切换录音的装置而间断录音的音频内容。因此,不会有录音中断而造成失去重要的信息的问题。此外,利用所述无间隙录音方法,因为录音的内容是连续没有音频中断的情况,如此也可避免使用者听到重播的录音时因声音中断变化而产生的不适感。

为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,但是此等说明与说明书附图仅是用来说明本发明,而非对本发明的权利范围作任何的限制。

附图说明

图1是传统的安卓系统架构控制与管理录音的示意图。

图2是本发明实施例的安卓系统架构应用于控制与管理录音的示意图。

图3是本发明实施例提供的智能装置与外接麦克风的示意图。

图4是本发明实施例提供的适用于安卓系统的无间隙录音方法的流程图。

图5是本发明另一实施例提供的适用于安卓系统的无间隙录音方法在判断是否插入外接麦克风的一种应用情况的流程图。

图6是本发明另一实施例提供的适用于安卓系统的无间隙录音方法在判断是否拔除外接麦克风的一种应用情况的流程图。

附图标记说明:

100:框架层

11:音频管理器

200:硬件抽象层

21:音频硬件抽象层

300:核心层

31:驱动程序

au:音频

ss:控制命令

4:智能装置

5:外接麦克风

int:中断信号

s110、s120、s130、s140、s510、s520、s530、s540、s550、s610、s620、s630、s640:步骤流程

具体实施方式

〔适用于安卓系统的无间隙录音方法的实施例〕

请参照图2,图2是本发明实施例的安卓系统架构应用于控制与管理录音的示意图。适用于安卓系统的无间隙录音方法,所述安卓系统安装于智能装置,所述智能装置具有内置麦克风。所述智能装置例如为智能手持装置,如智能手机或平板电脑,但本发明并不因此限定。请一并参照图3,图3是本发明实施例提供的智能装置与外接麦克风的示意图。当本实施例的无间隙录音方法应用于使用安卓系统的智能装置4时,智能装置4为智能手持装置,如智能手机。外接麦克风5例如是耳机麦克风(earmicrophone),但本发明并不因此限定。本发明也不限定外接麦克风的种类。

安卓系统包括框架层(framework)100、硬件抽象层(hardwareabstractionlayer,hal)200与核心层(kernel)300。对于录音的功能而言,框架层100 具有音频管理器11,抽象层200具有音频硬件抽象层21,核心层300具有驱动程序31。位于核心层300的驱动程序接收麦克风装置的音频au,音频au的来源依据所切换使用的麦克风装置而决定。所述麦克风装置包括内置麦克风与外接麦克风5,在图3中未绘示智能装置4的内置麦克风,因为通常内置麦克风为隐藏式设计。外接麦克风5的插拔会使得音频连接端子的电性状态产生改变,音频连接端子的电性状态在外接麦克风5插入时和拔除时两者并不相同。音频连接端子电性连接驱动程序31,使得驱动程序31获得中断信号(interrupt)int,依据中断信号的内容驱动程序31可知外接麦克风5是插入或者是拔除。驱动程序31则可依据中断信号int而决定并切换音频路径。驱动程序31将音频au传递至位于硬件抽象层200的音频硬件抽象层21,再传送至位于框架层100的音频管理器11。此外,当驱动程序31判断智能装置4已插入或拔除外接麦克风5时,驱动程序31通知音频管理器11音频装置变动,驱动程序31也可依据来自音频硬件抽象层21的控制命令ss而切换音频路径。音频管理器11产生传送控制命令ss至音频硬件抽象层21,再传送至驱动程序31藉此控制驱动程序31以切换音频路径。简单的说,音频管理器11可用于经由音频硬件抽象层21控制驱动程序31切换音频路径,并接收且纪录经由音频路径所传达的音频。然而,使用本实施例的无间隙录音方法,在外接麦克风5插入智能装置4时,驱动程序31延迟切换音频路径,且在外接麦克风(5)拔除时,驱动程序31不需等待来自上层的控制命令ss而立即切换音频路径。详细的实施方式请参照以下的说明。

请同时参照图2与图4,图4是本发明实施例提供的适用于安卓系统的无间隙录音方法的流程图。所述无间隙录音方法用于智能装置进行录音的过程,此方法包括以下步骤。在步骤s110中,智能装置位于核心层300的驱动程序31判断智能装置是否已插入外接麦克风。当驱动程序31判断智能装置已插入外接麦克风时,进行步骤s120,驱动程序31依据控制命令延迟将音频路径由内置麦克风切换为外接麦克风。所述控制命令是图2的来自音频管理器11并通过音频硬件抽象层21所传达的控制命令ss。所述驱动程序31的延迟是设定用于等待外接麦克风完全插入至智能装置的等待时间,但本发明并不限定驱动程序31的延迟时间长度,其可以依据设计需要 而调整。通过此驱动程序适当的延迟,使外接麦克风插入的过程中(即收到中断信号int)时,到外接麦克风完全插入前,系统维持以内置麦克风进行录音,而不会有录音中断的情况,且在外接麦克风完全插入后,才以外接麦克风进行录音。另外,当在步骤s110中,驱动程序31判断智能装置未插入外接麦克风时,重复步骤s110,以持续进行判断。

在步骤s120之后,接着进行步骤s130,智能装置的驱动程序31判断智能装置是否已拔除外接麦克风。当驱动程序31判断智能装置已拔除外接麦克风时,进行步骤s140,驱动程序31立即将音频路径由外接麦克风切换为内置麦克风。反之,当驱动程序31判断智能装置尚未拔除外接麦克风时,重复步骤s130,以持续进行判断。详细的说,在步骤s130中,当驱动程序检测到外接麦克风拔除时所产生的中断信号int,驱动程序31通知系统的上层(框架层100与硬件抽象层200),即驱动程序31通知音频管理器11音频装置变动,但是也立即切换音频路径由外接麦克风到内置麦克风。基于安卓系统的架构,除了系统运算时间之外,大约经过1~2秒钟后,系统上层的音频管理器11才产生控制命令ss通知驱动程序31切换音频路径。然而,在驱动程序31接收到控制命令ss前,驱动程序31已先将音频路径切换到内置麦克风,以避免录音中断的情况。另外,当驱动程序31接收到音频管理器11的控制命令ss后,也可再根据控制命令ss调整音频的参数,例如调整音频的强度或音质等等。因此,可做音频的微调。由此可知,当外接麦克风由智能装置拔出时,驱动程序31对于音频路径的切换不会因等待系统上层的控制命令ss而产生延迟(包括系统运算延迟与1~2秒钟的延迟),进而造成录音中断。依据上述,本实施例的驱动程序31可依据外接麦克风拔除的中断信号int立即切换音频路径,即不须通过如图2的音频管理器11及音频硬件抽象层21的控制命令ss来切换音频路径。故在外接麦克风拔除时,音频路径立即被切换至内置麦克风,因此,外接麦克风拔除的过程中所录到的声音并不会有所中断。

值得一提的是,图4的流程中的步骤s110用于判断外接麦克风是否已插入,而步骤s130用于判断外接麦克风是否已拔除,在实际应用时,步骤s110和s130的次序并不因此限定。当无外接麦克风时,智能装置的驱动程序31可以反复地进行步骤s110以持续判断是否有外接麦克风插入。当智 能装置已插入外接麦克风时,驱动程序31可以反复地进行步骤s130以持续判断外接麦克风是否被拔除。图4的流程架构用以说明本发明的步骤流程的主要精神,本发明并不因此限定步骤s110和步骤s130的使用次序和执行时机。基于图4的流程架构,以下将分别以外接麦克风插入和外接麦克风拔除这两种应用情况分别提供两个实施例以帮助说明。

请同时参照图2与图5,图5是本发明另一实施例提供的适用于安卓系统的无间隙录音方法在判断是否插入外接麦克风的一种应用情况的流程图。在步骤s510中,驱动程序31判断是否接收到中断信号int。若接收到中断信号int并确认中断信号是代表外接麦克风已插入,则进行步骤s520,通知系统(的上层)音频装置变动,也就是通知硬件抽象层21然后再经由硬件抽象层21通知音频管理器11。接着,进行步骤s530,判断系统(的上层)是否通知将音频路径切换至外接麦克风。若系统要通知驱动程序将音频路径切换至外接麦克风,则进行步骤s540,驱动程序延迟切换,然后才进行步骤s550,驱动程序将音频路径切换至外接麦克风。步骤s540的驱动程序延迟是设定用于等待外接麦克风完全插入至智能装置的等待时间,其可以依据设计需要而调整,本发明并不限定此驱动程序延迟的时间长度。此驱动程序延迟切换,目的在使外接麦克风插入的过程(即收到中断信号int)时,到外接麦克风完全插入前,系统维持以内置麦克风进行录音,且在外接麦克风完全插入后,才以外接麦克风进行录音。

接着,请同时参照图2与图6,图6是本发明另一实施例提供的适用于安卓系统的无间隙录音方法在判断是否拔除外接麦克风的一种应用情况的流程图。在步骤s610中,驱动程序31判断是否接收到中断信号int。若接收到中断信号int并确认中断信号是代表外接麦克风已被拔除,则进行步骤s620,驱动程序31通知系统的音频管理器11音频装置变动,且将音频路径立即切换至内置麦克风。接着,进行步骤s630,判断系统(的上层)是否通知切换至内置麦克风。若系统通知要切换至内置麦克风,则音频管理器11传送控制命令ss至驱动程序31,接着,再进行步骤s640。然而,在驱动程序31接收到音频管理器11传送的控制命令ss前,在步骤s620中驱动程序31已将音频路径切换至内置麦克风,以使录到的声音不会中断。在步骤s640中,可根据控制命令ss调整音频参数,诸如音频的强度或音质 等等。详细的说,音频管理器11传送的控制命令ss中可以包括让驱动程序31调整音频的参数的命令。然而,本发明不限定调整音频的控制命令的内容与格式。

由以上图5和图6的两个实施例可以明显知道,本实施例的无间隙录音方法的驱动程序31在外接麦克风插入时延迟切换音频路径以等待外接麦克风完全插入,且在外接麦克风拔除时不需等待上层的控制命令ss即可先行切换音频路径。驱动程序31也能依据上层的控制命令调整音频参数。

〔实施例的可能技术效果〕

综上所述,本发明实施例所提供的适用于安卓系统的无间隙录音方法不论在外接麦克风插入或拔除时,都可以让安卓系统持续录音。因为驱动程序在外接麦克风插入时延迟切换音频路径以等待外接麦克风完全插入,且在外接麦克风拔除时不需等待系统上层的命令才做音频路径的切换,让使用者使用安卓系统进行录音时,不会因为切换录音的装置(外接麦克风或内置麦克风)而间断录音的音频内容,藉此达到全程录音。因此,不会有录音中断而造成失去重要的信息的问题。此外,利用所述无间隙录音方法,因为录音的内容是连续没有音频中断的情况,故也可避免使用者听到重播的录音时因声音中断变化而产生的不适感。

以上所述仅为本发明的实施例,其并非用以局限本发明的专利范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1