音频数据流输入/输出无间断软件切换的方法和系统的制作方法

文档序号:6573306阅读:334来源:国知局
专利名称:音频数据流输入/输出无间断软件切换的方法和系统的制作方法
技术领域
本发明涉及无线通信技术,具体地涉及一种用于操作系统中音频数 据流输入/输出进行无间断软件切换的方法、设备和系统。
背景技术
无线技术(例如蓝牙技术、Wi-Fi技术、UWB技术等)的出现, 使得用户可以以无线方式听音乐、打电话。其实现方式通常是在音频 输出设备(如计算机,PDA,手机等)和音频接收设备(耳机,音箱, 无绳电话等)中各有一个无线收发器,音频输出设备的音频数据流通 过无线技术传输给用户端的音频接收设备。以蓝牙技术为例,在蓝牙音频应用方面,它提供了 SCO/eSCO链 路,用来传输采样频率较低的实时语音信号,方便用户使用手持设备 接听和呼叫电话(Headset Profile, Hands Free Profile, Cordless Telephone Profile);同时它使用ACL链路来传输高质量的音频编码数据(MP3, SBC等音频编码格式),方便用户听音乐等(A2DPProfile)。通常,在蓝 牙设备操作系统中实现蓝牙音频应用的支持都需要给操作系统(例如 Windows或者Linux系统)添加蓝牙虚拟声卡(即实现音频数据流采 集与输出的软件模块),音频应用程序(Media player, RealPlayer, Skype 等)通过操作系统将音频数据流输出到蓝牙虚拟声卡,蓝牙虚拟声卡 将音频数据流通过蓝牙音频传输信道发送到远端蓝牙音频设备,另一 个方向,蓝牙虚拟声卡通过蓝牙音频传输信道收到远端蓝牙音频设备 输入的音频数据流,然后将该音频数据流通过操作系统输入给音频应 用程序。与蓝牙音频应用相对应的是,在蓝牙设备操作系统中还存在着主 要以硬件的方式实现音频数据流采集和输出的本地物理声卡(不局限 于通常所知的声卡概念,有的也叫音频设备或其它),操作系统中的音 频应用程序播放的音频数据流也可以通过本地物理声卡输出给有线音频设备(例如PDA的扬声器,通过计算机接口有线连接着的耳机或音 箱等)。另一个方向,可以通过有线连接计算机、PDA接口的麦克风向 本地物理声卡输入音频数据流,然后通过操作系统输入到音频应用程序。目前,通常用户可以开始通过有线音频设备来听音乐或者打Skype、 MSN等电话,而后切换到使用蓝牙音频设备(蓝牙耳机和蓝 牙耳麦),这时,虽然在建立蓝牙音频连接的时候能够自动将操作系统 中输入/输出音频数据流的缺省输入声卡和缺省输出声卡都从本地物理 声卡切换成蓝牙虚拟声卡,也有少数音频应用程序(如Skype)提供了 接口,使得蓝牙应用程序可以发送相关命令通知音频应用程序缺省声 卡已被设置为蓝牙虚拟声卡,音频应用程序能够识别并自动将音频数 据流从蓝牙虚拟声卡进行输入/输出,但是当前的音频应用程序要想完 成切换,音频应用程序必须关闭当前打开的本地物理声卡,中断当前 的音频应用,然后重新打开系统缺省声卡,即蓝牙虚拟声卡,甚至重 新启动音频应用程序,才能完成切换,音频应用被中断,用户体验很 不好。同样的问题,如果用户一开始使用蓝牙音频设备来听音乐或者打 电话,而碰到蓝牙音频传输信道断开或者蓝牙音频设备没电等情况, 用户又希望通过有线音频设备来接听和/或输入音频数据流,这时,虽 然蓝牙应用程序能够自动将操作系统中输入/输出音频数据流的缺省输 入声卡和缺省输出声卡从蓝牙虚拟声卡切换到本地物理声卡,但是当 前的音频应用程序要想完成切换,音频应用程序必须关闭当前打开的 蓝牙虚拟声卡,中断当前的音频应用,然后重新打开系统缺省声卡, 即本地物理声卡,甚至重新启动音频应用程序,才能完成切换,音频 应用被中断。由此可见,音频应用程序输入/输出的音频数据流无法在蓝牙音频 传输信道和本地物理声卡之间进行输入/输出的无间断切换,不仅给用 户带来了操作上的不便,而且在一些对音频数据流输入/输出实时性要 求较高的场合,如打Skype电话、观赏在线影视、玩游戏等,重新启 动音频应用程序将导致无法继续原先的使用场景,用户使用不便。其它的无线音频应用,如Wi-Fi音频应用和UWB音频应用等,也都存在这类似的问题。考虑到现有技术的这些缺陷,需要提供一种能 提供无间断软件切换音频应用程序音频数据流的输入/输出的方法、设 备和系统,使得用户能够不重新启动音频应用程序,也不中断当前音 频应用,在物理音频输入/输出设备和无线音频输入/输出设备之间自由 切换。发明内容本发明所要解决的技术问题是提供一种用于操作系统中音频数据 流输入/输出进行无间断软件切换的方法、设备和系统,其中该系统包 括音频数据流输入/输出无间断软件切换设备、无线音频设备和有线音 频设备。该音频数据流输入/输出无间断软件切换设备包括(a) 操作系统,如Windows操作系统,Linux操作系统;(b) 操作系统中的音频应用程序;(c) 操作系统中的至少一个本地物理声卡和至少一个短距离无线 通信模块(需要说明的是,本发明将操作系统中主要通过硬件方式实 现音频数据流采集与输出的设备称为本地物理声卡),音频应用程序输 出的音频数据流可以通过操作系统从本地物理声卡发送给有线音频设 备,也可以通过操作系统从短距离无线通信模块的无线音频传输信道 发送给无线音频设备;同时,在另一个方向上有线音频设备输出到本 地物理声卡的音频数据流可以通过操作系统输入到音频应用程序,无 线音频设备输出到无线音频传输信道的音频数据流也可以通过操作系 统输入到音频应用程序;(d)在操作系统中添加一个音频切换管理模块,用于获取音频应用 程序输出到操作系统的音频数据流,并控制选择该音频数据流从本地 物理声卡或者短距离无线通信模块的无线音频传输信道进行输出,以 及用于控制选择从本地物理声卡或短距离无线通信模块的音频传输信 道获取无线音频设备输入的音频数据流,并将所获取的音频数据流通 过操作系统输入给音频应用程序。当短距离无线通信模块建立一条无线音频传输信道连接时,音频 切换管理模块自动将所获取的音频应用程序输出的音频数据流输出切 换给该无线音频传输信道,通过该无线音频传输信道输出给无线音频设备,并停止将该音频数据流通过本地物理声卡输出给有线音频设备, 同时音频切换管理模块选择从该无线音频传输信道获取无线音频设备 输入的音频数据流并输入给音频应用程序,停止从本地物理声卡获取 有线音频设备输入的音频数据流;当该短距离无线通信模块断开该无 线音频传输信道连接时,音频切换管理模块自动将音频应用程序输出 的音频数据流输出切换给本地物理声卡,并停止将该音频数据流输出 给该无线音频传输信道,同时音频切换管理模块选择从本地物理声卡 获取有线音频设备输入的音频数据流并输出给音频应用程序,停止从 该无线音频传输信道获取无线音频设备输入的音频数据流。在上述短 距离无线通信模块连接或断开无线音频传输信道连接,而导致音频应 用程序输入/输出的音频数据流在本地物理声卡和短距离无线通信模块 的无线音频传输信道之间进行输入/输出的切换过程中,音频应用程序 无需停止音频数据流的输入/输出,也无需重新指定和操作系统之间的 音频数据流输入/输出设备。根据本发明,音频切换管理模块为了控制选择操作系统中音频数 据流输入/输出的无间断软件切换,首先需要获取音频应用程序输出到 操作系统中的音频数据流,以及另一个方向上无线音频设备输出给无 线音频传输信道的音频数据流和有线音频设备输出给本地物理声卡的 音频数据流。一种实现方式是在音频切换管理模块中添加至少一个虚拟声卡, 类似于前面提到的蓝牙虚拟声卡,是实现音频数据流采集与输出的一 个软件模块,但区别在于,该虚拟声卡与短距离无线通信模块的类型 和无线音频传输信道的类型无关。在操作系统中只能选择本地物理声 卡和虚拟声卡中的某一个作为操作系统中输入音频数据流的缺省输入 声卡,选择本地物理声卡和虚拟声卡中的某一个作为操作系统中输出 音频数据流的缺省输出声卡,其中缺省输入声卡和缺省输出声卡可以 为同一个声卡,也可以分别为两个不相同的声卡,当音频应用程序缺 省设置输入声卡和输出声卡时,则音频应用程序通过该缺省输入声卡 获取输入的音频数据流,通过该缺省输出声卡来输出自己播放的音频 数据流。用户也可以指定某个声卡作为音频应用程序的输入声卡,同 时指定某个声卡作为音频应用程序的输出声卡,其中指定的输入声卡和指定的输出声卡可以为同一个声卡,也可以分别为两个不相同的声 卡,则该音频应用程序通过该指定的输入声卡获取输入的音频数据流, 通过该指定的输出声卡来输出自己播放的音频数据流。优选地,当音 频切换管理模块被启动的时候,虚拟声卡被自动设置为操作系统中输 入/输出音频数据流的缺省输入声卡和缺省输出声卡,此时音频应用程 序如果缺省设置输入声卡和输出声卡,则是虚拟声卡而不是本地物理 声卡获取音频应用程序输入/输出的音频数据流;而当音频切换管理模 块停止工作时,其虚拟声卡又被自动设置成不可用状态,本地物理声 卡被设置为操作系统中输入/输出音频数据流的缺省输入声卡和缺省输 出声卡,此时音频应用程序如果缺省设置输入声卡和输出声卡,则本 地物理声卡直接获取音频应用程序输入/输出的音频数据流。另一种实现方案是在音频切换管理模块中添加一个过滤驱动。与 虚拟声卡不同的是,该过滤驱动位于音频应用程序和本地物理声卡之 间,过滤驱动和本地物理声卡两者只对用户显示为一个声卡(本地物 理声卡)。当音频应用程序的输出声卡为本地物理声卡时,该过滤驱动 可截获音频应用程序输出给本地物理声卡的音频数据流,然后将该音 频数据流通过短距离无线通信模块的无线音频传输信道输出给无线音频设备,或者通过本地物理声卡输出给有线音频设备;同样地,当音频应用程序的输入声卡为本地物理声卡时,该过滤驱动可获取无线音 频设备输出给无线音频传输信道的音频数据流,或者获取有线音频设 备输出给本地物理声卡的音频数据流,再输入给音频应用程序。根据本发明,音频切换管理模块根据短距离无线通信模块的无线 音频传输信道的连接状态,来控制选择其虚拟声卡或过滤驱动获取音 频应用程序输入/输出的音频数据流的在地物理声卡和短距离无线通信 模块的无线音频传输信道两者之一进行输入/输出。因此,在操作系统 中的短距离无线通信模块中设置了无线音频传输信道的连接状态标 志,用于标识该短距离无线通信模块的无线音频传输信道处于连接状 态或者断开状态。该短距离无线通信模块实时检测其无线音频传输信 道的状态, 一旦无线传输信道状态发生变化,就更新该连接状态标志 并通知音频切换管理模块。当连接状态标志标识该短距离无线通信模 块的无线音频传输信道处于连接状态时,音频切换管理模块将虚拟声卡或过滤驱动获取的音频应用程序输出到操作系统中的音频数据流, 从该无线音频传输信道输出到无线音频设备,停止将该音频数据流从 本地物理声卡输出给有线音频设备,同时控制虚拟声卡或过滤驱动从 该无线音频传输信道获取无线音频设备输入的音频数据流并输入到音 频应用程序,停止从本地物理声卡获取有线音频设备输入的音频数据 流;而当该连接状态标志标识该短距离无线通信模块的无线音频传输 信道处于断开状态,则音频切换管理模块将虚拟声卡或过滤驱动所获 取的音频应用程序输出到操作系统中的音频数据流从本地物理声卡输 出到有线音频设备,停止将该音频数据流从该无线音频传输信道输出 给无线音频设备,同时控制虚拟声卡或过滤驱动从本地物理声卡获取 有线音频设备输入的音频数据流并输入到音频应用程序,停止从该无 线音频传输信道获取无线音频设备输入的音频数据流。如果在音频切换管理模块中只添加一个虚拟声卡,而操作系统中 包括两个或两个以上的相同类型或不同类型的多个短距离无线通信模块的无线音频传输信道(如蓝牙音频传输信道、Wi-Fi音频传输信道、 UWB音频传输信道等),则该虚拟声卡将获取的音频应用程序输出到 操作系统中的音频数据流分别发送给该多条无线音频传输信道或本地 物理声卡,同时该虚拟声卡获取多条无线音频传输信道或本地物理声 卡的音频数据流,混音后输入到音频应用程序。举例说,RealPlayer 播放的音乐通过两个蓝牙A2DP应用的ACL传输信道发送给两个蓝牙 耳机,或者通过一个蓝牙A2DP应用的ACL传输信道发送给一个蓝牙 耳机并通过五个Wi-Fi音频传输信道发送给Wi-Fi五声道音箱。如果多 个短距离无线通信模块的全部无线音频传输信道处于断开状态,则音 频切换管理模块将虚拟声卡所获取音频应用程序输出的音频数据流输 出切换给本地物理声卡,停止将该音频数据流输出给该多个无线音频 传输信道,同时该音频切换管理模块控制虚拟声卡从本地物理声卡获 取有线音频设备输入的音频数据流并输入音频应用程序,停止从该多 个无线音频传输信道获取无线音频设备输入的音频数据流;以及当该 多个短距离无线通信模块的至少一条无线音频传输信道处于连接状态 时,该音频切换管理模块将虚拟声卡所获取音频应用程序输出的音频 数据流输出给该处于连接状态的至少一条无线音频传输信道,停止将该音频数据流通过本地物理声卡输出给有线音频设备,同时该音频切 换管理模块控制虚拟声卡从该处于连接状态的至少一条无线音频传输 信道获取无线音频设备输入的音频数据流并输入音频应用程序,停止 从本地物理声卡获取有线音频设备输入的音频数据流。在一个操作系统中往往还有两个或两个以上音频应用程序同时应用的情况,例如有人用无线耳机听RealPlayer播放的音乐,同时另一 个人用无线耳机和麦克风打Skype电话。在这种情况下,如果在音频 切换管理模块中只添加了一个虚拟声卡,当该虚拟声卡被设置为操作 系统中输入/输出音频数据流的缺省输入声卡和缺省输出声卡时,该虚 拟声卡获取的是该多个音频应用程序同时缺省输出给操作系统的音频 数据流进行混音后的音频数据流,给用户的视听造成了一定的干扰。 针对这个问题, 一种优选的方案,但不限于,是在音频切换管理模块 中添加两个或两个以上的多个虚拟声卡,分别作为多个音频应用程序 输入/输出的音频数据流的输入/输出声卡,即一个音频应用程序对应一 个虚拟声卡,以实现与操作系统之间音频数据流的输入/输出,然后通 过其对应的无线音频传输信道与无线音频设备进行交互。根据本发明的一个优选实施例,音频切换管理模块具备两个虚拟 声卡,第一虚拟声卡和第二虚拟声卡,且第一虚拟声卡被指定为第一 音频应用程序的输入声卡和输出声卡,第二虚拟声卡被指定为第二音 频应用程序的输入声卡和输出声卡。第一无线音频传输信道处于连接 状态时,该音频切换管理模块将第一虚拟声卡所获取的第一音频应用 程序输出的音频数据流输出切换给第一无线音频传输信道,停止将该 音频数据流通过本地物理声卡输出给有线音频设备,同时控制第一虚 拟声卡从第一无线音频传输信道获取无线音频设备输入的音频数据流 并输入给第一音频应用程序,停止从本地物理声卡获取有线音频设备 输入的音频数据流,以及第一无线音频传输信道处于断开状态时,该 音频切换管理模块将第一虚拟声卡所获取的第一音频应用程序输出的 音频数据流输出切换给本地物理声卡,停止将该音频数据流输出给第 一无线音频传输信道,同时控制第一虚拟声卡从本地物理声卡获取有 线音频设备输入的音频数据流并输入给第一音频应用程序,停止从第 一无线音频传输信道获取无线音频设备输入的音频数据流;第二无线音频传输信道处于连接状态时,该音频切换管理模块将第二虚拟声卡 所获取的第二音频应用程序输出的音频数据流输出切换给第二无线音 频传输信道,停止将该音频数据流通过本地物理声卡输出给有线音频 设备,同时控制第二虚拟声卡从第二无线音频传输信道获取无线音频 设备输入的音频数据流并输入给第二音频应用程序,停止从本地物理 声卡获取有线音频设备输入的音频数据流,以及第二无线音频传输信 道处于断开状态时,该音频切换管理模块将第二虚拟声卡所获取的第 二音频应用程序输出的音频数据流输出切换给本地物理声卡,停止将 该音频数据流输出给第二无线音频传输信道,同时控制第二虚拟声卡 从本地物理声卡获取有线音频设备输入的音频数据流并输入给第二音 频应用程序,停止从第二无线音频传输信道获取无线音频设备输入的 音频数据流。另外,在上述多个音频应用程序的应用场景中,如果有两个或两 个以上的音频应用程序输入/输出音频数据流相对应的无线音频传输信 道同时断开连接时,则音频切换管理模块需要将该多个的音频应用程 序输入/输出的音频数据流从本地物理声卡进行输入/输出。为了避免混 音和资源冲突,该音频切换管理模块可以根据优选策略,自动选择其 中一个音频应用程序输入/输出的音频数据流从本地物理声卡进行输入/输出。例如在蓝牙SCO/eSCO传输信道和ACL传输信道同时断开连 接时,通过蓝牙SCO/eSCO传输信道输入/输出的Skype音频数据流优 先切换到从本地物理声卡输入/输出,而通过蓝牙ACL传输信道输出的 RealPlayer音频数据流可以考虑不输出到本地物理声卡。当然,也可以 通过用户界面提示,由用户进行选择优先切换到从本地物理声卡进行 输入/输出的音频应用程序。本发明不需要对现有音频应用程序的接口或应用的作任何修改, 兼容性和易用性好,而且在自动无间断进行音频应用程序输入/输出的 音频数据流在无线音频传输信道和本地物理声卡之间进行输入/输出的 切换过程时,音频应用程序无需停止音频数据流的输入/输出,也无需 重新指定音频应用程序与操作系统之间输入/输出音频数据流的缺省声 卡,解决了现有技术中存在的操作繁琐的缺点。通过借助优选实施例附图详细描述本发明的流程,将有助于理解本 发明的目的和优点。其中

图1是现有技术中音频应用程序输入/输出的音频数据流从本地物 理声卡进行输入/输出的示意图;图2是现有技术中音频应用程序输入/输出的音频数据流从无线音 频传输信道进行输入/输出的示意图;图3是根据本发明的一个优选实施例,音频应用程序输入/输出的音频数据流在无线音频传输信道和本地物理声卡之间进行输入/输出无间断软件切换的示意图;图4是根据本发明的又一优选实施例,音频应用程序输入/输出的 音频数据流在无线音频传输信道和本地物理声卡之间进行输入/输出无 间断软件切换的示意图;图5是根据本发明,音频应用程序输出的音频数据流在无线音频 传输信道和本地物理声卡之间进行输出的无间断软件切换的流程图;图6是根据本发明,音频应用程序输入的音频数据流在无线音频 传输信道和本地物理声卡之间进行输入的无间断软件切换的流程图;图7是根据本发明的优选实施例,给出两路蓝牙音频应用根据优 选策略进行无间断软件切换的示意图。具体实施例图1是现有技术中音频应用程序输入/输出的音频数据流从本地物 理声卡进行输入/输出的示意图。如图l所示,本地物理声卡103是主要通过硬件方式实现音频数 据流采集和输出的设备。操作系统可分为操作系统应用层101和操作 系统核心层102,其中音频应用程序100在操作系统应用层101,本地 物理声卡103在操作系统核心层102,且操作系统应用层101与操作系 统核心层102之间有相关接口用于协调音频应用程序IOO与本地物理 声卡103之间音频数据流传输。操作系统应用层IOI和操作系统核心 层102属于软件层,在系统中还包括有线音频设备104等用户端设备 的硬件设备层105。因此,如果各种音频应用程序100 (如RealPlayer, Media Player等)的输出声卡是本地物理声卡103,则音频应用程序100将播放的音频数据流输出到本地物理声卡103,再由本地物理声卡103 通过硬件设备层105的有线音频设备104进行输出(如笔记本电脑和 PDA上的扬声器,有线连接的耳机和音箱等)。对于即时通信IM (如Skype、 MSN)和VoIP网络电话系统等双方 通话的音频应用程序100,如果其输入声卡是本地物理声卡103,则还 需要从有线音频设备104 (如有线麦克风)向本地物理声卡103输入音 频数据流,然后通过操作系统应用层101和操作系统核心层102之间 的接口输入给音频应用程序100。图2是现有技术中音频应用程序输入/输出的音频数据流从无线音 频传输信道进行输入/输出的示意图。如图2所示,虚拟声卡203是实现音频数据流采集与输出的一个软 件模块,操作系统可分为操作系统应用层201和操作系统核心层202, 其中音频应用程序200在操作系统应用层201 ,虚拟声卡203在操作系 统核心层202,且操作系统应用层201与操作系统核心层202之间有相 关接口用于协调音频应用程序200与虚拟声卡203之间音频数据流传 输。如果音频应用程序200 (如RealPlayer, Media Player等)的输出声 卡是虚拟声卡203,则音频应用程序200将播放的音频数据流输出到虚 拟声卡203,再由虚拟声卡203通过短距离无线通信模块204的无线音 频传输信道输出给硬件设备层206的无线音频设备205。对于即时通信 IM (如Skype、 MSN)和VoIP网络电话系统等双方通话的音频应用程 序200,如果其输入声卡是虚拟声卡203,则还需从上述无线音频设备 205通过短距离无线通信模块204的无线音频传输信道向虚拟声卡203 输入音频数据流,然后输入给音频应用程序200。其中短距离无线通信模块204可以为,但不限于,蓝牙模块、Wi-Fi 模块和UWB模块,相应地无线音频设备205可以为蓝牙音频设备、 Wi-Fi音频设备和UWB音频设备。蓝牙模块和蓝牙音频设备之间建立 蓝牙音频传输信道进行音频数据流的传输,同样的,Wi-Fi模块和Wi-Fi 音频设备之间建立Wi-Fi音频传输信道进行音频数据流的传输,UWB 模块和UWB音频设备之间建立UWB音频传输信道进行音频数据流的 传输。图3是根据本发明的一个优选实施例,音频应用程序输入/输出的 音频数据流在本地物理声卡和短距离无线通信模块的无线音频传输信 道之间进行输入/输出无间断软件切换的示意图。如图3所示,音频切换管理模块303包括虚拟声卡304和音频数 据流开关309,其中虚拟声卡304用于获取音频应用程序300输出到操 作系统中的音频数据流,以及用于从本地物理声卡307获取硬件设备 层310的有线音频设备308输入的音频数据流,或通过短距离无线通 信模块305的无线音频传输信道获取硬件设备层310的无线音频设备 306输入的音频数据流;音频数据流开关309,用于从短距离无线通信 模块305获取标识无线音频传输信道处于连接状态或断开状态的连接 状态标志,然后根据该连接状态标志控制虚拟声卡304所获取的音频 应用程序300输出的音频数据流从本地物理声卡307输出给有线音频 设备308,或者从短距离无线通信模块305的无线音频传输信道输出给 无线音频设备306,以及在音频应用程序300音频数据流输入方向上, 该音频数据流开关309控制虚拟声卡304从本地物理声卡307获取有 线音频设备308输入的音频数据流,或者从短距离无线通信模块305 的无线音频传输信道获取无线音频设备306输入的音频数据流,并将 所获取的音频数据流输入给音频应用程序300。虚拟声卡304和本地物理声卡307可以在操作系统中以声卡(或音 频设备及其它)的方式显示给用户,由用户或音频切换管理模块303 选择虚拟声卡304和本地物理声卡307这两者之一设置为缺省输入声 卡和缺省输出声卡,分别用于缺省输入和输出音频应用程序300输入 和输出的音频数据流。操作系统应用层301与操作系统核心层302之 间有相关接口用于协调音频应用程序300与虚拟声卡304及本地物理 声卡307之间音频数据流传输。一个优选的方式是,但不局限于,音频切换管理模块303的虚拟 声卡304和音频数据流开关309的初始状态为不可用状态,当用户只 需通过本地物理声卡307从有线音频设备308输入/输出音频应用程序 300的输入/输出音频数据流时,本地物理声卡307为操作系统的缺省 输入声卡和缺省输出声卡,音频切换管理模块303的其虚拟声卡304 和音频数据流开关309不工作,避免了其始终处于工作状态造成的不必要的系统开销,此时操作系统中音频数据流的输入/输出如图1所示, 在图3中不再详细列出并介绍。而当短距离无线通信模块305启动工作时,音频切换管理模块303的虚拟声卡304和音频数据流开关309 自动设置成可用状态,并且自动设置虚拟声卡304为操作系统的缺省 输入声卡和缺省输出声卡,此时若启动音频应用程序300,且缺省设置 音频应用程序300的输入声卡和输出声卡,则是虚拟声卡304而不是 本地物理声卡307获取音频应用程序300输入/输出的音频数据流,由 此音频数据流开关309便可完全控制音频应用程序300输入/输出的音 频数据流在本地物理声卡307和短距离无线通信模块305的无线音频 传输信道之间进行输入/输出的无间断软件切换,并可避免建立短距离 无线通信模块305的无线音频传输信道后再启动虚拟声卡304可能造 成的音频数据流输入/输出的间断问题。'当虚拟声卡304获取音频应用程序300输出的音频数据流后,音 频数据流开关309根据从短距离无线通信模块305的无线音频传输信 道的连接状态标志,控制虚拟声卡304将该音频数据流在本地物理声 卡307和短距离无线通信模块305的无线音频传输信道之间进行输出 的无间断软件切换当连接状态标志标识短距离无线通信模块305的 无线音频传输信道处于连接状态,则音频数据流开关309控制虚拟声 卡304获取的该输出音频数据流通过短距离无线通信模块305的无线 音频传输信道从无线音频设备306进行输出,停止将该音频数据流通 过本地物理声卡307从有线音频设备308进行输出;当连接状态标志 标识短距离无线通信模块305的无线音频传输信道处于断开状态,则 音频数据流开关309控制虚拟声卡304获取的该输出音频数据流通过 本地物理声卡307从有线音频设备308进行输出,停止将该音频数据 流通过短距离无线通信模块305的无线音频传输信道从无线音频设备 306进行输出。在音频应用程序300音频数据流的输入方向上,音频数据流开关 309根据从短距离无线通信模块305的无线音频传输信道的连接状态 标志,控制虚拟声卡304在本地物理声卡307和短距离无线通信模块 305的无线音频传输信道之间获取输入音频数据流的无间断软件切换 当连接状态标志标识短距离无线通信模块305的无线音频传输信道处于连接状态,则音频数据流开关309控制虚拟声卡304从短距离无线通信模块305的无线音频传输信道获取无线音频设备306输入的音频 数据流并输入到音频应用程序300,同时虚拟声卡304停止从本地物理 声卡307获取有线音频设备308输入的音频数据流;当连接状态标志 标识短距离无线通信模块305的无线音频传输信道处于断开状态,则 音频数据流开关309控制虚拟声卡304从本地物理声卡307获取有线 音频设备308输入的音频数据流并输入到音频应用程序300,而停止从 短距离无线通信模块305的无线音频传输信道获取无线音频设备306 输入的音频数据流。图4是根据本发明的又一优选实施例,音频应用程序输入/输出的 音频数据流在短距离无线通信模块的无线音频传输信道和本地物理声 卡之间进行输入/输出无间断软件切换的示意图。需要指出的是,图4和图3中的各模块和设备的功能一样,在这 里不再详细介绍。区别在于,图4中音频切换管理模块401中用过滤 驱动406代替了图3中虚拟声卡304,即图4的该实施例中操作系统仅 对用户表现为一个声卡(本地物理声卡404),用户或音频切换管理模 块401仅能设置本地物理声卡404作为音频应用程序400的输入设备 和输出设备;过滤驱动406位于本地物理声卡404和音频应用程序400 之间,截取音频应用程序400输出给本地物理声卡404的音频数据流, 同时获取从本地物理声卡404或从短距离无线通信模块402的无线音 频传输信道输入的音频数据流,并输入给音频应用程序400。由此,图 4中音频切换管理模块401的过滤驱动406和音频数据流开关407必须 一直处于可用状态,获取并控制音频应用程序400输入/输出的音频数 据流的无间断软件切换。音频切换管理模块401的过滤驱动406截获的音频应用程序400 输出给本地物理声卡404的音频数据流后,音频切换管理模块401的 音频数据流开关407根据从短距离无线通信模块402获取的连接状态 标志,控制过滤驱动406截获的音频应用程序400输出的音频数据流 在本地物理声卡404和短距离无线通信模块402的无线音频传输信道 之间进行输出的无间断软件切换当该连接状态标志标识短距离无线 通信模块402的无线音频传输信道处于连接状态,则音频数据流开关407控制将过滤驱动406截获的音频应用程序400输出的音频数据流通 过短距离无线通信模块402的无线音频传输信道从无线音频设备403 进行输出,并停止将过滤驱动406截获的音频应用程序400输出的音 频数据流通过本地物理声卡404从有线音频设备405进行输出;当该 连接状态标志标识短距离无线通信模块402的无线音频传输信道处于 断开状态,则音频数据流开关407将过滤驱动406截获的音频应用程 序400输出的音频数据流通过本地物理声卡404从有线音频设备405 进行输出,并停止将过滤驱动406截获的音频应用程序400输出的音 频数据流通过短距离无线通信模块402的无线音频传输信道从无线音 频设备403进行输出。在音频应用程序400的音频数据流输入方向上,音频数据流开关 407根据从短距离无线通信模块402的无线音频传输信道的连接状态 标志,控制过滤驱动406在本地物理声卡404和短距离无线通信模块 402的无线音频传输信道之间进行获取输入音频数据流的无间断软件 切换当连接状态标志标识短距离无线通信模块402的无线音频传输 信道处于连接状态,则音频数据流开关407控制过滤驱动406从短距 离无线通信模块402的无线音频传输信道获取无线音频设备403输入 的音频数据流并输入到音频应用程序400,同时过滤驱动406停止从本 地物理声卡404获取有线音频设备405输入的音频数据流;当连接状 态标志标识短距离无线通信模块402的无线音频传输信道处于断开状 态,则音频数据流开关407控制过滤驱动406从本地物理声卡404获 取有线音频设备405输入的音频数据流并输入到音频应用程序400,而 停止从短距离无线通信模块402的无线音频传输信道获取无线音频设 备403输入的音频数据流。图5是根据本发明,音频应用程序输出的音频数据流在无线音频传输信道和本地物理声卡之间进行输出无间断软件切换的流程图。如图5所示,启动音频应用程序S500后,虚拟声卡(或过滤驱动) 获取音频应用程序输出到操作系统中的音频数据流S501,接着音频切 换管理模块判断短距离无线通信模块的无线音频传输信道是否处于连 接状态S502,如果处于连接状态,则音频切换管理模块将虚拟声卡(或 过滤驱动)获取的音频应用程序输出的音频数据流从短距离无线通信模块的无线音频传输信道输出给无线音频设备S503,否则音频切换管 理模块将虚拟声卡(或过滤驱动)获取的音频应用程序输出的音频数据流从本地物理声卡输出给有线音频设备S504。然后,判断音频应用 程序是否停止工作S505,如果音频应用程序已经停止工作,则结束 S506,否则重复上述步骤S501 S505。图6是根据本发明,音频应用程序输入的音频数据流在无线音频 传输信道和本地物理声卡之间进行输入的无间断软件切换的流程图。如图6所示,启动音频应用程序S600,音频切换管理模块判断短 距离无线通信模块的无线音频传输信道是否处于连接状态S601,如果 处于连接状态,则控制虚拟声卡(或过滤驱动)从短距离无线通信模 块的无线音频传输信道获取无线音频设备输入的音频数据流S602,否 则虚拟声卡(或过滤驱动)从本地物理声卡获取有线音频设备输入的 音频数据流S603,并将该获取的音频数据流输入给音频应用程序 S604。接着,判断音频应用程序是否停止工作S605,如果音频应用程 序已经停止工作,则结束S606,否则重复上述步骤S601 S605。图7是根据本发明的优选实施例,给出两路蓝牙音频应用根据优 选策略进行无间断软件切换的示意图。如图7所示,音频切换管理模块704具备两个虚拟声卡,虚拟声 卡A705和虚拟声卡B706,并且将虚拟声卡A705作为音频应用程序 RealPlayer 700的指定输出声卡,将虚拟声卡B706作为音频应用程序 Skype701的指定输出声卡和输入声卡。音频数据流开关702从蓝牙模 块708获取蓝牙A2DP耳机709和蓝牙模块708之间的蓝牙ACL传输 信道的连接状态标志,当该连接状态标志标识蓝牙A2DP耳机709和 蓝牙模块708之间的蓝牙ACL传输信道处于连接状态,则音频数据流 开关702控制虚拟声卡A705获取RealPlayer 700输出的音频数据流, 并通过蓝牙模块708的ACL传输信道输出到蓝牙A2DP耳机709。同 时,音频数据流开关702从蓝牙模块708获取蓝牙耳麦710和蓝牙模 块708之间的蓝牙SCO传输信道的连接状态标志,当该连接状态标志 标识蓝牙耳麦710和蓝牙模块708之间的蓝牙SCO传输信道处于连接 状态时,蓝牙模块708用户和Skype 701好友可以通过蓝牙SCO传输 信道进行语音通话,即音频数据流开关702控制虚拟声卡B707获取Skype 701输出的音频数据流并通过蓝牙模块708的SCO传输信道输 出到蓝牙耳麦708,并控制虚拟声卡B707从蓝牙模块708的蓝牙SCO 传输信道获取蓝牙耳麦708输入的音频数据流并输入到Skype 70〗。这 样,蓝牙A2DP耳机709的用户听RealPlayer700播放的音乐,蓝牙耳 麦710的用户与Skype701好友进行通话,可以互不千扰,不会出现 RealPlayer700和Skype701音频数据流混音的情况。当只有蓝牙ACL音频信道处于断开状态时,音频数据流开关702 控制虚拟声卡A705将获取的RealPlayer700输出的音频数据流切换到 从本地物理声卡707输出给有线耳麦711 ,停止将获取的Rea!Player700 输出的音频数据流输出给蓝牙模块708的蓝牙ACL传输信道。当只有 蓝牙SCO音频信道处于断幵状态时,音频数据流开关702控制虚拟声 卡B706将Skype 701输入/输出的音频数据流切换到通过本地物理声卡 707从有线耳麦711进行输入/输出。如果碰上蓝牙模块708不工作或 其它原因导致蓝牙ACL音频传输信道和蓝牙SCO音频传输信道同时 断开连接时,可通过在音频数据流开关702中设置优选策略,控制将 虚拟声卡A705和虚拟声卡B706中的某一个所获取的音频应用程序输 入/输出的音频数据流切换到从本地物理声卡707进行输入/输出,而控 制另一虚拟声卡所获取的音频数据流不切换到从本地物理声卡707进 行输入/输出,以此来避免混音。例如可设置虚拟声卡B706优于虚拟 声卡A705,则音频数据流开关702控制虚拟声卡B706将获取的Skype 701输入/输出的音频数据流切换到通过本地物理声卡707从有线耳麦 711进行输入/输出,保证用户的Skype 701通话不间断地正常进行。虽然本发明是参考其优选实施例示出和描述的,但本领域的普通技 术人员应该理解,在不脱离附属的权利要求书所限定的本发明的精神 和范围的情况下,可以进行形式和细节的各种改变。
权利要求
1. 一种用于在操作系统中的音频数据流输入/输出进行无间断软件切换的方法,其中在操作系统中具备至少一个本地物理声卡,音频应用程序输入/输出的音频数据流可以通过本地物理声卡从有线音频设备进行输入/输出,同时在操作系统中具备至少一个短距离无线通信模块,音频应用程序输入/输出的音频数据流也可以通过该短距离无线通信模块的无线音频传输信道从无线音频设备进行输入/输出,其特征在于在操作系统中添加一个音频切换管理模块,用于获取音频应用程序输出到操作系统的音频数据流,并控制选择该输出音频数据流从本地物理声卡和短距离无线通信模块的无线音频传输信道这两者之一进行输出,以及该音频切换管理模块用于控制选择从本地物理声卡和短距离无线通信模块的无线音频传输信道这两者之一获取输入音频数据流,并将所获取的输入音频数据流通过操作系统输入给音频应用程序;该短距离无线通信模块建立一条无线音频传输信道连接时,音频切换管理模块自动将所获取的音频应用程序输出的音频数据流输出切换给该无线音频传输信道,并停止将该音频数据流输出给本地物理声卡,同时音频切换管理模块选择从该无线音频传输信道获取无线音频设备输入的音频数据流并输入给音频应用程序,停止从本地物理声卡获取有线音频设备输入的音频数据流;以及该短距离无线通信模块断开该无线音频传输信道连接时,音频切换管理模块自动将音频应用程序输出的音频数据流输出切换给本地物理声卡,并停止将该音频数据流输出给该无线音频传输信道,同时音频切换管理模块选择从本地物理声卡获取有线音频设备输入的音频数据流并输入给音频应用程序,停止从该无线音频传输信道获取无线音频设备输入的音频数据流;在上述短距离无线通信模块连接或断开无线音频传输信道连接,而导致音频应用程序输入/输出的音频数据流在本地物理声卡和短距离无线通信模块的无线音频传输信道之间进行输入/输出的切换过程中,音频应用程序无需停止音频数据流的输入/输出,也无需重新指定和操作系统之间的音频数据流输入/输出设备。
2. 根据权利要求1所述的方法,其特征在于该短距离无线通信模块记录一个连接状态标志,用于标识该短距 离无线通信模块的该无线音频传输信道处于连接和断开这两种状态之 一;以及该音频切换管理模块根据该连接状态标志,来控制选择音频应用 程序和操作系统之间的输入/输出音频数据流从本地物理声卡和短距离 无线通信模块的无线音频传输信道这两者之一进行输入/输出。
3. 根据权利要求l或2所述的方法,其特征在于 该音频切换管理模块中包括本地物理声卡的过滤驱动,该过滤驱动被安排在音频应用程序和本地物理声卡之间,用于截获音频应用程 序输出给本地物理声卡的音频数据流,并将该音频数据流在本地物理 声卡和短距离无线通信模块的无线音频传输信道这两者之一进行输 出,以及该过滤驱动用于从本地物理声卡和短距离无线通信模块的无 线音频传输信道这两者之一获取音频数据流,并将该音频数据流输入 给音频应用程序。
4. 根据权利要求l或2所述的方法,其特征在于 该音频切换管理模块中包括虚拟声卡,用于获取音频应用程序输出到操作系统的音频数据流,以及无线音频设备输入给无线音频传输信道的音频数据流和有线音频设备输入给本地物理声卡的音频数据流。
5. 根据权利要求4所述的方法,其特征在于 该操作系统具有多于一个短距离无线通信模块,且该多个短距离无线通信模块共用一个虚拟声卡;该多个短距离无线通信模块的全部无线音频传输信道处于断开状 态时,该音频切换管理模块将虚拟声卡所获取音频应用程序输出的音 频数据流通过本地物理声卡输出给有线音频设备,停止将该音频数据 流通过该多个短距离无线通信模块的无线音频传输信道传输给无线音 频设备,同时该音频切换管理模块控制虚拟声卡从本地物理声卡获取 有线音频设备输入的音频数据流并输入给音频应用程序,停止从该多 个短距离无线通信模块的无线音频传输信道传输获取无线音频设备输入的音频数据流;以及该多个短距离无线通信模块的至少一条无线音频传输信道处于连 接状态时,该音频切换管理模块将虚拟声卡所获取音频应用程序输出 的音频数据流输出给该处于连接状态的至少一条无线音频传输信道, 停止将该音频数据流通过本地物理声卡输出给有线音频设备,同时该 音频切换管理模块控制虚拟声卡从该处于连接状态的至少一条无线音 频传输信道获取无线音频设备输入的音频数据流并输入给音频应用程 序,停止从本地物理声卡获取有线音频设备输入的音频数据流。
6. 根据权利要求4所述的方法,其特征在于该音频切换管理模块具有多于一个的虚拟声卡,并且该多个虚拟 声卡和本地物理声卡中仅有一个被设置为操作系统中输入音频数据流 的缺省输入声卡,该多个虚拟声卡和本地物理声卡中仅有一个被设置 为操作系统中输出音频数据流的缺省输出声卡,当缺省设置音频应用 程序输入音频数据流的输入声卡和输出音频数据流的输出声卡时,该 输入缺省声卡获取输入给该音频应用程序的音频数据流,该输出缺省声卡获取该音频应用程序输出的音频数据流;以及通过指定除缺省输入/输出声卡外的其它声卡作为音频应用程序的 输入/输出声卡,使得该指定的输入/输出声卡获取该音频应用程序的输 入/输出音频数据流。
7. 根据权利要求6所述的方法,其特征在于该音频切换管理模块具备两个虚拟声卡,第一虚拟声卡和第二虚 拟声卡,第一虚拟声卡被指定为第一音频应用程序的输入声卡和输出 声卡,且第一虚拟声卡对应于短距离无线通信模块的第一无线音频传 输信道,同时第二虚拟声卡被指定为第二音频应用程序的输入声卡和 输出声卡,且第二虚拟声卡对应于短距离无线通信模块的第二无线音频传输信道;第一无线音频传输信道处于连接状态时,该音频切换管理模块将 第一虚拟声卡所获取的第一音频应用程序输出的音频数据流输出给第 一无线音频传输信道,同时控制第一虚拟声卡从第一无线音频传输信 道获取无线音频设备输入的音频数据流并输入到第一音频应用程序, 以及第一无线音频传输信道处于断开状态时,该音频切换管理模块将第一虚拟声卡所获取的第一音频应用程序输出的音频数据流输出给本 地物理声卡,同时控制第一虚拟声卡从本地物理声卡获取有线音频设 备输入的音频数据流并输入到第一音频应用程序;第二无线音频传输信道处于连接状态时,该音频切换管理模块将 第二虚拟声卡所获取的第二音频应用程序输出的音频数据流输出给第 二无线音频传输信道,同时控制第二虚拟声卡从第二无线音频传输信 道获取无线音频设备输入的音频数据流并输入到第二音频应用程序, 以及第二无线音频传输信道处于断开状态时,该音频切换管理模块将 第二虚拟声卡所获取的第二音频应用程序输出的音频数据流输出给本 地物理声卡,同时控制第二虚拟声卡从本地物理声卡获取有线音频设 备输入的音频数据流并输入到第二音频应用程序。
8. 根据权利要求7所述的方法,其特征在于 当第一无线音频传输信道和第二无线音频传输信道同时处于断开状态时,音频切换管理模块可以将第一音频应用程序和第二音频应用程序的输入/输出的音频数据流切换到从本地物理声卡进行输入/输出;音频切换管理模块也可以根据优选策略,自动将第一音频应用程 序和第二音频应用程序这两者之一输入/输出的音频数据流切换到从本 地物理声卡进行输入/输出。
9. 根据权利要求7所述的方法,其特征在于第一无线音频传输信道为蓝牙高质量音频应用(A2DPProfile)的 蓝牙ACL传输信道;以及第二无线音频传输信道为蓝牙语音音频相关应用,包括蓝牙耳机应 用Headset Profile,蓝牙免提应用Hands Free Profile,蓝牙无绳电话应 用Cordless Telephone Profile,的蓝牙SCO / eSCO传输信道。
10. 根据权利要求l所述的方法,其特征在于该短距离无线通信模块包括蓝牙模块、Wi-Fi模块和UWB模块。
11. 一种用于在操作系统中的音频数据流输入/输出进行无间断软件切换的设备,包括操作系统; 音频应用程序;操作系统中的至少一个本地物理声卡,音频应用程序输入/输出的音频数据流可以通过本地物理声卡从有线音频设备进行输入/输出;操作系统中的至少一个短距离无线通信模块,音频应用程序输入/输出的音频数据流可以通过该短距离无线通信模块的无线音频传输信道从无线音频设备进行输入/输出 , 其特征在于进一步包括操作系统中的音频切换管理模块,用于获取音频应用程序输出到 操作系统的音频数据流,并控制选择该输出音频数据流从本地物理声 卡和短距离无线通信模块的无线音频传输信道这两者之一进行输出, 以及该音频切换管理模块用于控制选择从本地物理声卡和短距离无线 通信模块的无线音频传输信道这两者之一获取输入音频数据流,并将 所获取的输入音频数据流通过操作系统输入给音频应用程序;该短距离无线通信模块建立一条无线音频传输信道连接时,音频切 换管理模块自动将所获取的音频应用程序输出的音频数据流输出切换 给该无线音频传输信道,并停止将该音频数据流输出给本地物理声卡, 同时音频切换管理模块选择从该无线音频传输信道获取无线音频设备 输入的音频数据流并输入给音频应用程序,停止从本地物理声卡获取 有线音频设备输入的音频数据流;以及该短距离无线通信模块断开该无线音频传输信道连接时,音频切换 管理模块自动将音频应用程序输出的音频数据流输出切换给本地物理 声卡,并停止将该音频数据流输出给该无线音频传输信道,同时音频 切换管理模块选择从本地物理声卡获取有线音频设备输入的音频数据 流并输入给音频应用程序,停止从该无线音频传输信道获取无线音频 设备输入的音频数据流-,在上述短距离无线通信模块连接/断开无线音频传输信道连接,而 导致音频应用程序输入/输出的音频数据流在本地物理声卡和短距离无 线通信模块的无线音频传输信道之间进行输入/输出的切换过程中,音 频应用程序无需停止音频数据流的输入/输出,也无需重新指定和操作 系统之间的音频数据流输入/输出设备。
12.根据权利要求ll所述的设备,其特征在于该短距离无线通信模块记录一个连接状态标志,用于标识该短距 离无线通信模块的该无线音频传输信道处于连接和断开这两种状态之一;以及该音频切换管理模块根据该连接状态标志,来控制选择音频应用 程序和操作系统之间的输入/输出音频数据流从本地物理声卡和短距离 无线通信模块的无线音频传输信道这两者之一进行输入/输出。
13. 根据权利要求11或12所述的设备,其特征在于 该音频切换管理模块中包括本地物理声卡的过滤驱动,该过滤驱动被安排在音频应用程序和本地物理声卡之间,用于截获音频应用程 序输出给本地物理声卡的音频数据流,并将该音频数据流在本地物理 声卡和短距离无线通信模块的无线音频传输信道这两者之一进行输 出,以及该过滤驱动用于从本地物理声卡和短距离无线通信模块的无 线音频传输信道这两者之一获取音频数据流,并将该音频数据流输入 给音频应用程序。
14. 根据权利要求11或12所述的设备,其特征在于 该音频切换管理模块中包括虚拟声卡,用于获取音频应用程序输出到操作系统的音频数据流,以及无线音频设备输入给无线音频传输信道的音频数据流和有线音频设备输入给本地物理声卡的音频数据流。
15. 根据权利要求14所述的设备,其特征在于 该操作系统具有多于一个短距离无线通信模块,且该多个短距离无线通信模块共用一个虚拟声卡;该多个短距离无线通信模块的全部无线音频传输信道处于断开状 态时,该音频切换管理模块将虚拟声卡所获取音频应用程序输出的音 频数据流通过本地物理声卡输出给有线音频设备,停止将该音频数据 流通过该多个短距离无线通信模块的无线音频传输信道传输给无线音 频设备,同时该音频切换管理模块控制虚拟声卡从本地物理声卡获取 有线音频设备输入的音频数据流并输入给音频应用程序,停止从该多 个短距离无线通信模块的无线音频传输信道传输获取无线音频设备输 入的音频数据流;以及该多个短距离无线通信模块的至少一条无线音频传输信道处于连 接状态时,该音频切换管理模块将虚拟声卡所获取音频应用程序输出 的音频数据流输出给该处于连接状态的至少一条无线音频传输信道,停止将该音频数据流通过本地物理声卡输出给有线音频设备,同时该 音频切换管理模块控制虚拟声卡从该处于连接状态的至少一条无线音 频传输信道获取无线音频设备输入的音频数据流并输入给音频应用程 序,停止从本地物理声卡获取有线音频设备输入的音频数据流。
16. 根据权利要求14所述的设备,其特征在于该音频切换管理模块具有多于一个的虚拟声卡,并且该多个虚拟 声卡和本地物理声卡中仅有一个被设置为操作系统中输入音频数据流 的缺省输入声卡,该多个虚拟声卡和本地物理声卡中仅有一个被设置 为操作系统中输出音频数据流的缺省输出声卡,当缺省设置音频应用 程序输入音频数据流的输入声卡和输出音频数据流的输出声卡时,该 输入缺省声卡获取输入给该音频应用程序的音频数据流,该输出缺省 声卡获取该音频应用程序输出的音频数据流;以及通过指定除缺省输入/输出声卡外的其它声卡作为音频应用程序的 输入/输出声卡,使得该指定的输入/输出声卡获取该音频应用程序的输 入/输出音频数据流。
17. 根据权利要求16所述的设备,其特征在于该音频切换管理模块具备两个虚拟声卡,第一虚拟声卡和第二虚 拟声卡,第一虚拟声卡被指定为第一音频应用程序的输入声卡和输出 声卡,且第一虚拟声卡对应于短距离无线通信模块的第一无线音频传 输信道,同时第二虚拟声卡被指定为第二音频应用程序的输入声卡和 输出声卡,且第二虚拟声卡对应于短距离无线通信模块的第二无线音频传输信道;第一无线音频传输信道处于连接状态时,该音频切换管理模块将 第一虚拟声卡所获取的第一音频应用程序输出的音频数据流输出给第 一无线音频传输信道,同时控制第一虚拟声卡从第一无线音频传输信 道获取无线音频设备输入的音频数据流并输入到第一音频应用程序, 以及第一无线音频传输信道处于断开状态时,该音频切换管理模块将 第一虚拟声卡所获取的第一音频应用程序输出的音频数据流输出给本 地物理声卡,同时控制第一虚拟声卡从本地物理声卡获取有线音频设 备输入的音频数据流并输入到第一音频应用程序;第二无线音频传输信道处于连接状态时,该音频切换管理模块将第二虚拟声卡所获取的第二音频应用程序输出的音频数据流输出给第 二无线音频传输信道,同时控制第二虚拟声卡从第二无线音频传输信 道获取无线音频设备输入的音频数据流并输入到第二音频应用程序, 以及第二无线音频传输信道处于断开状态时,该音频切换管理模块将 第二虚拟声卡所获取的第二音频应用程序输出的音频数据流输出给本 地物理声卡,同时控制第二虚拟声卡从本地物理声卡获取有线音频设 备输入的音频数据流并输入到第二音频应用程序。
18. 根据权利要求17所述的设备,其特征在于当第一无线音频传输信道和第二无线音频传输信道同时处于断开 状态时,音频切换管理模块可以将第一音频应用程序和第二音频应用 程序的输入/输出的音频数据流切换到从本地物理声卡进行输入/输出;音频切换管理模块也可以根据优选策略,自动将第一音频应用程 序和第二音频应用程序这两者之一输入/输出的音频数据流切换到从本 地物理声卡进行输入/输出。
19. 根据权利要求17所述的设备,其特征在于 第一无线音频传输信道为蓝牙高质量音频应用(A2DPProfile)的蓝牙ACL传输信道;以及第二无线音频传输信道为蓝牙语音音频相关应用,包括蓝牙耳机 应用Headset Profile,蓝牙免提应用Hands Free Profile,蓝牙无绳电话 应用Cordless Telephone Profile,的蓝牙SCO / eSCO传输信道。
20. 根据权利要求ll所述的设备,其特征在于该短距离无线通信模块包括蓝牙模块、Wi-Fi模块和UWB模块。
21. —种用于在操作系统中的音频数据流输入/输出进行无间断软 件切换的系统,包括音频数据流输入/输出无间断软件切换设备,该包括操作系统和音 频应用程序,其中在操作系统中具备至少一个本地物理声卡和短距离 无线通信模块,音频应用程序输入/输出的音频数据流可以通过本地物 理声卡从有线音频设备进行输入/输出,也可以通过该短距离无线通信 模块的无线音频传输信道从无线音频设备进行输入/输出,同时在操作 系统中添加一个音频切换管理模块,用于获取音频应用程序输出到操 作系统的音频数据流,并控制选择该输出音频数据流从本地物理声卡和短距离无线通信模块的无线音频传输信道这两者之一进行输出,以 及该音频切换管理模块用于控制选择从本地物理声卡和短距离无线通 信模块的无线音频传输信道这两者之一获取输入音频数据流,并将所 获取的输入音频数据流通过操作系统输入给音频应用程序;有线音频设备;以及无线音频设备;当音频数据流输入/输出无间断软件切换设备的该短距离无线通信 模块建立一条无线音频传输信道连接时,音频切换管理模块自动将所 获取的音频应用程序输出的音频数据流输出切换给该无线音频传输信 道,并停止将该音频数据流输出给本地物理声卡,同时音频切换管理 模块选择从该无线音频传输信道获取无线音频设备输入的音频数据流 并输入给音频应用程序,停止从本地物理声卡获取有线音频设备输入 的音频数据流;当音频数据流输入/输出无间断软件切换设备的该短距离无线通信 模块断开该无线音频传输信道连接时,音频切换管理模块自动将音频 应用程序输出的音频数据流输出切换给本地物理声卡,并停止将该音 频数据流输出给该无线音频传输信道,同时音频切换管理模块选择从 本地物理声卡获取有线音频设备输入的音频数据流并输入给音频应用 程序,停止从该无线音频传输信道获取无线音频设备输入的音频数据 流;在上述短距离无线通信模块连接或断开无线音频传输信道连接, 而导致音频应用程序输入/输出的音频数据流在本地物理声卡和短距离 无线通信模块的无线音频传输信道之间进行输入/输出的切换过程中, 音频应用程序无需停止音频数据流的输入/输出,也无需重新指定和操 作系统之间的音频数据流输入/输出设备。
22.根据权利要求21所述的系统,其特征在于该短距离无线通信模块记录一个连接状态标志,用于标识该短距 离无线通信模块的该无线音频传输信道处于连接和断开这两种状态之 一;以及该音频切换管理模块根据该连接状态标志,来控制选择音频应用 程序和操作系统之间的输入/输出音频数据流从本地物理声卡和短距离无线通信模块的无线音频传输信道这两者之一进行输入/输出。
23. 根据权利要求21或22所述的系统,其特征在于该音频切换管理模块中包括本地物理声卡的过滤驱动,该过滤驱 动被安排在音频应用程序和本地物理声卡之间,用于截获音频应用程 序输出给本地物理声卡的音频数据流,并将该音频数据流在本地物理 声卡和短距离无线通信模块的无线音频传输信道这两者之一进行输 出,以及该过滤驱动用于从本地物理声卡和短距离无线通信模块的无 线音频传输信道这两者之一获取音频数据流,并将该音频数据流输入 给音频应用程序。
24. 根据权利要求21或22所述的系统,其特征在于 该音频切换管理模块中包括虚拟声卡,用于获取音频应用程序输出到操作系统的音频数据流,以及无线音频设备输入给无线音频传输 信道的音频数据流和有线音频设备输入给本地物理声卡的音频数据流。
25. 根据权利要求24所述的系统,其特征在于 该操作系统具有多于一个短距离无线通信模块,且该多个短距离无线通信模块共用一个虚拟声卡;该多个短距离无线通信模块的全部无线音频传输信道处于断开状 态时,该音频切换管理模块将虚拟声卡所获取音频应用程序输出的音 频数据流通过本地物理声卡输出给有线音频设备,同时该音频切换管 理模块控制虚拟声卡从本地物理声卡获取有线音频设备输入的音频数 据流并输入给音频应用程序;以及该多个短距离无线通信模块的至少一条无线音频传输信道处于连 接状态时,该音频切换管理模块将虚拟声卡所获取音频应用程序输出 的音频数据流输出给该处于连接状态的至少一条无线音频传输信道, 同时该音频切换管理模块控制虚拟声卡从该处于连接状态的至少一条 无线音频传输信道获取无线音频设备输入的音频数据流并输入给音频 应用程序。
26. 根据权利要求24所述的系统,其特征在于 该音频切换管理模块具有多于一个的虚拟声卡,并且该多个虚拟声卡中仅有一个被设置为操作系统中输入音频数据流的缺省输入声卡,该多个虚拟声卡中仅有一个被设置为操作系统中输出音频数据流 的缺省输出声卡,当缺省设置音频应用程序输入音频数据流的输入声 卡和输出音频数据流的输出设备时,该输入缺省声卡获取输入给该音 频应用程序的音频数据流,该输出缺省声卡获取该音频应用程序输出 的音频数据流;以及通过指定除缺省声卡外的其它虚拟声卡作为音频应用程序的输入/ 输出声卡,使得该指定的输入/输出声卡获取该音频应用程序的输入/ 输出音频数据流。
27.根据权利要求26所述的系统,其特征在于该音频切换管理模块具备两个虚拟声卡,第一虚拟声卡和第二虚 拟声卡,第一虚拟声卡被指定为第一音频应用程序的输入声卡和输出 声卡,且第一虚拟声卡对应于短距离无线通信模块的第一无线音频传 输信道,同时第二虚拟声卡被指定为第二音频应用程序的输入声卡和 输出声卡,且第二虚拟声卡对应于短距离无线通信模块的第二无线音频传输信道;第一无线音频传输信道处于连接状态时,该音频切换管理模块将 第一虚拟声卡所获取的第一音频应用程序输出的音频数据流输出给第 一无线音频传输信道,同时控制第一虚拟声卡从第一无线音频传输信 道获取无线音频设备输入的音频数据流并输入到第一音频应用程序, 以及第一无线音频传输信道处于断开状态时,该音频切换管理模块将 第一虚拟声卡所获取的第一音频应用程序输出的音频数据流输出给本 地物理声卡,同时控制第一虚拟声卡从本地物理声卡获取有线音频设备输入的音频数据流并输入到第一音频应用程序;第二无线音频传输信道处于连接状态时,该音频切换管理模块将 第二虚拟声卡所获取的第二音频应用程序输出的音频数据流输出给第 二无线音频传输信道,同时控制第二虚拟声卡从第二无线音频传输信 道获取无线音频设备输入的音频数据流并输入到第二音频应用程序, 以及第二无线音频传输信道处于断开状态时,该音频切换管理模块将 第二虚拟声卡所获取的第二音频应用程序输出的音频数据流输出给本 地物理声卡,同时控制第二虚拟声卡从本地物理声卡获取有线音频设 备输入的音频数据流并输入到第二音频应用程序。
28. 根据权利要求27所述的系统,其特征在于 当第一无线音频传输信道和第二无线音频传输信道同时处于断开状态时,音频切换管理模块可以将第一音频应用程序和第二音频应用程序的输入/输出的音频数据流切换到从本地物理声卡进行输入/输出;音频切换管理模块也可以根据优选策略,自动将第一音频应用程 序和第二音频应用程序这两者之一输入/输出的音频数据流切换到从本 地物理声卡进行输入/输出。
29. 根据权利要求27所述的系统,其特征在于 第一无线音频传输信道为蓝牙高质量音频应用(A2DPProfile)的蓝牙ACL传输信道;以及第二无线音频传输信道为蓝牙语音音频相关应用,包括蓝牙耳机应 用Headset Profile,蓝牙免提应用Hands Free Profile,蓝牙无绳电话应 用Cordless Telephone Profile ,的蓝牙SCO / eSCO传输信道。
30. 根据权利要求21所述的系统,其特征在于 该短距离无线通信模块包括蓝牙模块、Wi-Fi模块和UWB模块。
全文摘要
本发明公开了用于操作系统中音频数据流输入/输出无间断软件切换的方法和系统,其中操作系统具备本地物理声卡和短距离无线通信模块,以及音频切换管理模块。短距离无线通信模块建立无线音频传输信道时,音频切换管理模块自动将音频应用程序输出的音频数据流通过无线音频传输信道输出给无线音频设备,并将无线音频设备输入的音频数据流通过无线音频传输信道输入给音频应用程序;短距离无线通信模块断开无线音频传输信道时,音频切换管理模块自动将音频应用程序输出的音频数据流通过本地物理声卡输出给有线音频设备,并将有线音频设备输入的音频数据流通过本地物理声卡输入给音频应用程序。
文档编号G06F3/16GK101246417SQ20071006385
公开日2008年8月20日 申请日期2007年2月13日 优先权日2007年2月13日
发明者尧 王, 鲁冬梅 申请人:艾威梯软件技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1