一种音频竞争播放装置及其方法、移动终端

阅读: 评论:0

著录项
  • CN201780003327.6
  • 20171227
  • CN108235756A
  • 20180629
  • 深圳前海达闼云端智能科技有限公司
  • 李向远
  • G06F9/455
  • G06F9/455 G06F3/16

  • 广东省深圳市前海深港合作区前湾一路1号A栋201室(入驻深圳市前海商务秘书有限公司)
  • 广东(44)
  • 深圳市爱迪森知识产权代理事务所(普通合伙)
  • 何婷
  • 20180404
摘要
本发明涉及虚拟机技术领域,具体涉及一种音频竞争播放装置及其方法、移动终端。其中,音频竞争播放装置包括:主机代理模块,其运行于客户操作系统中;客户代理模块,其运行于主机操作系统中;其中,在主机操作系统播放音频后,并客户操作系统开始播放音频时,主机代理模块监听到客户操作系统的音频焦点出现变化,向客户代理模块通知变化,客户代理模块根据变化申请音频焦点,以使主机操作系统根据音频焦点的申请控制音频的播放。因此,在多虚拟操作系统同时播放音频时,主机/客户操作系统通过联系,其能够有效地处理主机/客户操作系统的音频竞争播放的问题。
权利要求

1.一种音频竞争播放装置,其特征在于,包括:

主机代理模块,其运行于客户操作系统中;

客户代理模块,其运行于主机操作系统中;

其中,在所述主机操作系统播放音频后,并所述客户操作系统开始播放音频时,所述主 机代理模块监听到所述客户操作系统的音频焦点出现变化,向所述客户代理模块通知所述 变化,所述客户代理模块根据所述变化申请音频焦点,以使所述主机操作系统根据所述音 频焦点的申请控制音频的播放。

2.根据权利要求1所述的装置,其特征在于,所述客户操作系统还运行有第一音频应用 程序与客户音频管理模块;

在所述主机操作系统播放音频后,并所述客户操作系统开始播放音频时,所述第一音 频应用程序向所述客户音频管理模块申请音频焦点,以使所述客户音频管理模块的音频焦 点出现所述变化。

3.根据权利要求2所述的装置,其特征在于,所述主机操作系统还运行有第二音频应用 程序与主机音频管理模块;

所述客户代理模块根据所述变化申请音频焦点,以使所述主机操作系统根据所述音频 焦点的申请控制音频的播放,包括:

所述客户代理模块根据所述变化向所述主机音频管理模块申请音频焦点;

所述主机音频管理模块根据所述音频焦点的申请,向所述第二音频应用程序发送音频 焦点的丢失指令,以使所述第二音频应用程序停止或继续播放音频。

4.根据权利要求3所述的装置,其特征在于,所述变化包括音频焦点的变化类型;

所述客户代理模块根据所述变化向所述主机音频管理模块申请音频焦点,包括:

所述客户代理模块根据所述音频焦点的变化类型向所述主机音频管理模块申请音频 焦点。

5.根据权利要求4所述的装置,其特征在于,所述主机音频管理模块根据所述音频焦点 的申请,向所述第二音频应用程序发送音频焦点的丢失指令,以使所述第二音频应用程序 停止或继续播放音频,包括:

所述主机音频管理模块根据所述音频焦点的申请,确定所述音频焦点的丢失类型;

所述主机音频管理模块根据所述音频焦点的丢失类型,向所述第二音频应用程序发送 音频焦点的丢失指令,以使所述第二音频应用程序停止播放音频;

或者,

所述主机音频管理模块根据所述音频焦点的申请,确定所述音频焦点的丢失类型;

所述主机音频管理模块根据所述音频焦点的丢失类型,向所述第二音频应用程序发送 音频焦点的丢失指令;

所述第二音频应用程序未响应于所述丢失指令,继续播放音频。

6.根据权利要求3所述的装置,其特征在于,在所述第一音频应用程序停止播放音频 后,所述主机代理模块重新获取音频焦点,并通知所述客户代理模块,以使所述客户代理模 块释放音频焦点以及所述第二音频应用程序重新获取音频焦点。

7.一种音频竞争播放方法,其特征在于,包括:

在所述主机操作系统播放音频后,并所述客户操作系统开始播放音频时,监听所述客 户操作系统的音频焦点是否出现变化;

在监听到所述客户操作系统的音频焦点出现变化时,根据所述变化申请音频焦点,以 使所述主机操作系统根据所述音频焦点的申请控制音频的播放。

8.根据权利要求7所述的方法,其特征在于,所述客户操作系统运行有第一音频应用程 序与客户音频管理模块;

在所述主机操作系统播放音频后,并所述客户操作系统开始播放音频时,所述第一音 频应用程序向所述客户音频管理模块申请音频焦点,以使所述客户音频管理模块的音频焦 点出现所述变化。

9.根据权利要求8所述的方法,其特征在于,所述主机操作系统还运行有第二音频应用 程序与主机音频管理模块;

所述根据所述变化申请音频焦点,以使所述主机操作系统根据所述音频焦点的申请控 制音频的播放,包括:

根据所述变化向所述主机音频管理模块申请音频焦点,以使所述主机音频管理模块根 据所述音频焦点的申请,向所述第二音频应用程序发送音频焦点的丢失指令,所述第二音 频应用程序根据所述丢失指令停止或继续播放音频。

10.根据权利要求9所述的方法,其特征在于,所述变化包括音频焦点的变化类型;

所述根据所述变化向所述主机音频管理模块申请音频焦点,包括:

根据所述音频焦点的变化类型向所述主机音频管理模块申请音频焦点。

11.根据权利要求9所述的装置,其特征在于,所述方法还包括:

在所述第一音频应用程序停止播放音频后,重新获取音频焦点;

向所述主机操作系统通知所述音频焦点的获取,以使所述第二音频应用程序重新获取 音频焦点。

12.一种移动终端,其特征在于,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一 个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能 够用于执行如权利要求7至11任一项所述的音频竞争播放方法。

13.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存 储有计算机可执行指令,所述计算机可执行指令用于使移动终端执行如权利要求7至11任 一项所述的音频竞争播放方法。

说明书
技术领域

本发明涉及虚拟机技术领域,具体涉及一种音频竞争播放装置及其方法、移动终 端。

移动虚拟化技术允许多个操作系统或者虚拟机同时运行在移动终端上,使用 Hypervisor(虚拟监控器)在底层硬件上创建安全独立的软件运行环境。通过移动虚拟化技 术,用户无需携带两台或多台移动设备,便可在一个移动终端上访问多个操作系统。

传统虚拟操作系统皆创建了各自的虚拟音频设备,并通过虚拟化技术控制真实的 音频硬件设备。然而,各个虚拟操作系统的音频播放都是独立运行的,当出现多个虚拟操作 系统同时播放音频时,由于相互之间缺乏联系,传统技术并未能有效地处理多个虚拟操作 系统的音频竞争播放的问题。

本发明实施例一个目的旨在提供一种音频竞争播放装置及其方法、移动终端,其 解决了传统技术各个虚拟操作系统之间缺乏有效联系导致未能够有效地处理多个虚拟操 作系统的音频竞争播放的问题。

在第一方面,本发明实施例提供一种音频竞争播放装置,包括:主机代理模块,其 运行于客户操作系统中;客户代理模块,其运行于主机操作系统中;其中,在所述主机操作 系统播放音频后,并所述客户操作系统开始播放音频时,所述主机代理模块监听到所述客 户操作系统的音频焦点出现变化,向所述客户代理模块通知所述变化,所述客户代理模块 根据所述变化申请音频焦点,以使所述主机操作系统根据所述音频焦点的申请控制音频的 播放。

在第二方面,本发明实施例提供一种音频竞争播放方法,包括:在所述主机操作系 统播放音频后,并所述客户操作系统开始播放音频时,监听所述客户操作系统的音频焦点 是否出现变化;在监听到所述客户操作系统的音频焦点出现变化时,根据所述变化申请音 频焦点,以使所述主机操作系统根据所述音频焦点的申请控制音频的播放。

在第三方面,本发明实施例提供一种移动终端,所述移动终端包括:至少一个处理 器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少 一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器 能够用于执行任一项所述的音频竞争播放方法。

在第四方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计 算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使移动终端执行 如上任一项所述的音频竞争播放方法。

在本发明各个实施例提供的音频竞争播放装置中,主机代理模块运行于客户操作 系统中,客户代理模块运行于主机操作系统中,其中,在主机操作系统播放音频后,并客户 操作系统开始播放音频时,主机代理模块监听到客户操作系统的音频焦点出现变化,向客 户代理模块通知变化,客户代理模块根据变化申请音频焦点,以使主机操作系统根据音频 焦点的申请控制音频的播放。因此,在多虚拟操作系统同时播放音频时,主机/客户操作系 统通过联系,其能够有效地处理主机/客户操作系统的音频竞争播放的问题。

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说 明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除 非有特别申明,附图中的图不构成比例限制。

图1是本发明实施例提供一种虚拟化模型的示意图;

图2是现有技术提供一种Android系统下主机/客户操作系统的音频播放框架图;

图3是本发明实施例提供一种音频竞争播放装置的结构示意图;

图4是本发明实施例提供一种Android系统下主机/客户操作系统的音频播放框架 图;

图5是本发明实施例提供一种Android系统下主机/客户操作系统的音频播放的信 令图;

图6是本发明实施例提供一种音频竞争播放方法的流程示意图;

图7是本发明另一实施例提供一种音频竞争播放方法的流程示意图;

图8是本发明实施例提供一种移动终端的电路结构示意图。

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不 用于限定本发明。

本发明实施例提供的音频播放方法应用于移动终端,其可以通过移动虚拟化技 术,允许多个虚拟操作系统或虚拟机(Virtual Machine,VM)同时运行在移动终端上。通过 移动虚拟化技术带来的隔离性可实现单一移动终端上多个虚拟操作系统或虚拟机之间的 隔离,避免各个虚拟操作系统或虚拟机上的进程对其他虚拟操作系统或虚拟机产生不利影 响。举例而言,通过移动虚拟化技术在移动终端运行有个人虚拟操作系统与企业虚拟操作 系统,并实现个人虚拟操作系统与企业虚拟操作系统之间的隔离,其能够防范个人虚拟操 作系统上的进程给企业虚拟操作系统带来的潜在危害,满足一些具有安全要求的企业对 “自带设备(Bring Your Own Device,BYOD)”的需求。

请参阅图1,图1是本发明实施例提供一种虚拟化模型的示意图。如图1所示,该虚 拟化模型100包括硬件系统层11、虚拟机监控器12(Hypervisor/VMM)及虚拟机层13。

硬件系统层11包括处理器111、内存112及输入/输出设备113。处理器111通过总线 分别与内存112和输入/输出设备113连接。

处理器111作为移动终端的控制核心,其可以是中央处理单元(Central Processing Unit,简称为“CPU”),亦可以是其他通用处理器、数字信号处理器(DSP)、专用 集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管 逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规 的处理器等。

内存112作为移动终端的相关控制逻辑指令及数据的存储区,其可以为随机存储 器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成 熟的存储介质。

输入/输出设备113可以是任何合适类型的,提供一种或者多种用户交互方式的外 围设备,例如接收用户动作操作指令的鼠标、键盘或者触摸输入屏,用于采集图像信息的体 感摄像机、用于采集声音信息的麦克风或者向用户展示图像信息的显示屏或者用于输出音 频的扬声器。输入/输出设备113可以选择使用有线或者无线的外围设备与其他物理硬件设 备连接。

虚拟机监控器12作为一种运行在硬件系统层和操作系统之间的中间软件层,其允 许多个操作系统和应用共享一套基础物理硬件,因此虚拟机监控器12可以看作是虚拟环境 中的“元”操作系统,其可以协调访问移动终端上的所有物理设备和虚拟机。因此,虚拟机监 控器12能够管理真实的物理硬件平台,并为每个虚拟机提供对应的虚拟硬件平台。虚拟机 监控器12通过主机(Host)实现前述职能,其中,主机上运行一主虚拟机(Host VM),在该虚 拟机上运行有主机操作系统(Host OS)。

请再参阅图1,虚拟机层13包括3个虚拟机,每个虚拟机皆可看作一个小而完整的 计算机系统,皆具有自己的“系统硬件”,其中,该“系统硬件”由软件模拟而成,“系统硬件” 包括处理器、内存及输入输出设备。在此计算机系统上,虚拟机运行着自身的客户操作系统 (Guest OS)。

主机操作系统和客户操作系统均属于管理和控制硬件系统层内各个物理硬件设 备以及相应的软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何 其他软件都必须在主机操作系统或客户操作系统的支持下才能运行。在本发明实施例中, 主机操作系统和客户操作系统均可以为Android,用以接收用户指令并据此输出对应的处 理结果向用户展示。

主机操作系统以及若干个客户操作系统之间共享硬件系统层内物理硬件设备。在 实际运行时,主机操作系统可以直接使用硬件系统层内的物理硬件设备,而客户操作系统 则使用由驱动该客户操作系统的虚拟机提供的虚拟设备。一个虚拟机对应驱动一个客户操 作系统,每一虚拟机可以作为主机操作系统中的其中一个应用程序运行。

本实施例以虚拟机运行Android系统为例子,详细阐述Android系统下主机/客户 操作系统的音频播放过程。请参阅图2,图2是现有技术提供一种Android系统下主机/客户 操作系统的音频播放框架图。如图2所示,每个操作系统的音频播放框架皆包括内核空间 (Kernel space)、用户空间C/C++(User space-C/C++)及用户空间Java(User space- Java)。

其中,对于客户操作系统的用户空间Java,其包括若干个第一音频应用程序 (Audio APP)与客户音频管理模块(AudioManager)。客户操作系统播放音频时,第一音频应 用程序通过客户音频管理模块可以调节音量、设置/读取声音模式等等。

同理可得,对于主机操作系统的用户空间Java,其包括若干个第二音频应用程序 (Audio APP)与主机音频管理模块(AudioManager)。主机操作系统播放音频时,第二音频应 用程序通过客户音频管理模块可以调节音量、设置/读取声音模式等等。其中,在一些实施 例中,第一音频应用程序或第二音频应用程序可以为任意具有播放音频功能的程序,诸如 音乐播放器、视频播放器、闹钟应用程序等等。

当主机操作系统与客户操作系统需要同时播放音频时,显然,由于主机/客户操作 系统之间缺乏音频联系,主机操作系统与客户操作系统皆通过真实音频硬件设备将各自音 频播放出,最终音频效果是两者音频的混音效果。因此,传统技术未能够有效地协调主机/ 客户操作系统之间的音频竞争播放。

基于此,本发明实施例提供一种音频竞争播放装置。不过,在阐述上述音频竞争播 放装置之前,本发明实施例先对Android系统下音频竞争的工作原理作一个简短地阐述,以 便理解更加深刻。

众所周知,Android系统是一个多任务系统,音频(Audio)系统是竞争资源。在 Android2.2之前,其缺乏内建的机制以解决多个应用程序竞争音频资源的问题。在 Android2.2之后,其引入了称作音频焦点(AudioFocus)的机制以管理对音频资源的竞争与 协调。

按照音频焦点的机制,应用程序在使用音频之前,其需要申请音频焦点。当应用程 序获得音频焦点之后,该应用程序方可使用音频。当其它应用程序竞争上述应用程序的音 频资源时,上述应用程序需要在收到通知之后,作出停止播放或者降低声音的处理。值得提 醒的是,此类机制需要两者应用程序的合作而完成的,亦即,需要使用音频资源的所有应用 程序皆按照该机制进行。当某个应用程序丢失音频焦点时,其可以仍然在使用音频,亦即, 该应用程序未遵守上述音频焦点的机制,导致用户体验感比较差。

在音频焦点的机制中,获取/放弃音频焦点的方法都在 android.media.AudioManager中。获取音频焦点使用requestAudioFocus();使用完音频 焦点之后,放弃音频焦点使用abandonAudioFocus()。其中,参数包括:

AUDIOFOCUS_GAIN:表示未知申请到的音频焦点的使用时间持续多久,一般是长期 占有;

AUDIOFOCUS_GAIN_TRANSIENT:表示需要申请的音频焦点是暂时性的,音频焦点会 很快使用完并释放的;

AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK:表示需要申请的音频焦点是暂时性的, 并且当前正在使用音频焦点的可以继续播放,只是要“duck”一下(降低音量)。

AudioManager.OnAudioFocusChangeL istener是申请成功之后,监听音频焦点使 用情况的(Listener),后续若有其它应用程序竞争音频焦点时,其可以通过此监听 器的onAudioFocusChange()方法通知音频焦点的使用者。其返回值可以是:1、 AUDIOFOCUS_REQUEST_GRANTED:申请成功;2、AUDIOFOCUS_REQUEST_FAILED:申请失败。

由上述内容可知,申请/释放音频焦点时传入了 AudioManager.OnAudioFocusChangeListener这参数,其onAudioFocusChange()方法是音 频焦点被抢占与再次获得通知的地方。

onAudioFocusChange()方法的focusChange参数指示了该音频焦点的竞争者对音 频焦点的拥有情况,取值如下:

AUDIOFOCUS_GAIN:获得音频焦点。

AUDIOFOCUS_LOSS:丢失音频焦点,并将会持续很长的时间。

AUDIOFOCUS_LOSS_TRANSIENT:暂时丢失音频焦点,并会很快再次获得。

AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:暂时丢失音频焦点,但是可以继续播放, 不过要在降低音量。

阐述完上述Android系统下音频竞争的工作原理后,下面对本发明实施例提供的 音频竞争播放装置作出介绍。值得提醒的是,音频竞争播放装置作为软件系统,其可以运行 于移动终端等等终端内。音频竞争播放装置包括若干指令,该若干指令存储于存储器内,处 理器可以访问该存储器,调用指令进行执行,以完成下述各个实施例所阐述的音频竞争播 放的控制逻辑。

请一并参阅图3与图4,图3是本发明实施例提供一种音频竞争播放装置的结构示 意图,图4是本发明实施例提供一种Android系统下主机/客户操作系统的音频播放框架图。 如图3与图4所示,音频竞争播放装置300包括:主机代理模块31与客户代理模块32。主机代 理模块31运行于客户操作系统41中,客户代理模块32运行于主机操作系统42中。其中,客户 操作系统41还运行有第一音频应用程序33与客户音频管理模块34,主机操作系统42还运行 有第二音频应用程序35与主机音频管理模块36。

在本实施例中,首先,当各个系统初始化时,客户操作系统41在后台启动。此时,主 机代理模块31向客户音频管理模块34申请音频焦点,并开始监听音频焦点的变化。

紧接着,主机操作系统42播放音频。其中,第二音频应用程序35向主机音频管理模 块36申请音频焦点,并开始监听音频焦点的变化。

紧接着,当第一音频应用程序33在客户操作系统41开始播放音频时,于是,第一音 频应用程序33向客户音频管理模块34申请音频焦点,因此,第一音频应用程序33便获取音 频焦点。此时,客户音频管理模块34的音频焦点出现变化。

与此同时,主机代理模块31监听到客户操作系统33的音频焦点出现变化,通过跨 系统通信方式,向客户代理模块32通知该变化。

在一些实施例中,该变化包括音频焦点的变化类型。因此,客户代理模块32根据变 化向主机音频管理模块36申请音频焦点的过程中,其可以根据音频焦点的变化类型向主机 音频管理模块36申请音频焦点。

举例而言:如前所述,对于获取音频焦点的申请类型包括:AUDIOFOCUS_GAIN、 AUDIOFOCUS_GAIN_TRANSIENT以及AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK。对于丢失音频 焦点的类型包括:AUDIOFOCUS_LOSS、AUDIOFOCUS_LOSS_TRANSIENT以及AUDIOFOCUS_LOSS_ TRANSIENT_CAN_DUCK。

显然,将获取音频焦点的申请类型与丢失音频焦点的类型作个对比,其实每种获 取音频焦点的申请类型皆有一丢失音频焦点的类型与之对应,例如:AUDIOFOCUS_GAIN对应 AUDIOFOCUS_LOSS,以及等等。

因此,当第一音频应用程序33向客户音频管理模块34申请音频焦点的类型为: AUDIOFOCUS_GAIN_TRANSIENT,于是,客户代理模块32以同样类型“AUDIOFOCUS_GAIN_ TRANSIENT”向主机音频管理模块36申请音频焦点。接着,第二音频应用程序35以丢失类型 “AUDIOFOCUS_LOSS_TRANSIENT”而释放音频焦点。

当客户代理模块32知悉该变化后,客户代理模块32根据该变化向主机音频管理模 块36申请音频焦点,主机音频管理模块36根据音频焦点的申请,向第二音频应用程序35发 送音频焦点的丢失指令,以使第二音频应用程序35停止或继续播放音频。

如前所述,第二音频应用程序35可以根据音频焦点的丢失类型停止播放音频。因 此,首先,主机音频管理模块36根据音频焦点的申请,确定音频焦点的丢失类型,例如,音频 焦点的申请类型为“AUDIOFOCUS_GAIN_TRANSIENT”,此时,主机音频管理模块36确定音频焦 点的丢失类型为“AUDIOFOCUS_LOSS_TRANSIENT”。其次,主机音频管理模块36根据音频焦点 的丢失类型,向第二音频应用程序35发送音频焦点的丢失指令,以使第二音频应用程序35 停止播放音频。

一般地,一些音频应用程序在接收到丢失指令后,其可以释放当前的音频焦点。然 而,一些音频应用程序并未响应丢失指令,并继续播放音频。因此,第二音频应用程序35未 响应于丢失指令,继续播放音频。

在第一音频应用程序33停止播放音频后,主机代理模块31重新获取音频焦点,并 通知客户代理模块32,以使客户代理模块32释放音频焦点以及第二音频应用程序35重新获 取音频焦点。

为了更加详细地阐述本发明实施例提供的音频竞争装置的工作原理。本发明实施 例结合图5对此作出进一步的阐述。

此处假设第一音频应用程序33为闹铃应用程序,第二音频应用程序35为音乐播放 器。

如图5所示:

第一部分:客户操作系统41后台启动。

步骤51、主机代理模块初始化为新;

在步骤51中,主机代理模块31作为(new OnAudioFocusChangeListener), 用于监听音频焦点的变化。

步骤52、主机代理模块向客户音频管理模块申请音频焦点;

在步骤52中,主机代理模块31向客户音频管理模块34发送指令 “requestAudioFocus(AUDIOFOCUS_GAIN)”。

步骤53、客户音频管理模块记录主机代理模块作为新;

步骤54、客户音频管理模块向主机代理模块发送音频焦点申请成功指令;

对于步骤53与步骤54,两者可以同步进行或异步进行,在此并不局限于步骤的上 下顺序,其原理同样适用于下述各个步骤,在此不再赘述。

第二部分:主机操作系统42播放音频。

步骤55、第二音频应用程序成为新;

步骤56、第二音频应用程序向主机音频管理模块申请音频焦点;

在步骤52中,第二音频应用程序35向主机音频管理模块36发送指令 “requestAudioFocus(AUDIOFOCUS_GAIN)”。

步骤57、主机音频管理模块记录第二音频应用程序作为新;

步骤58、主机音频管理模块向第二音频应用程序发送音频焦点申请成功指令;

第三部分:客户操作系统41开始播放音频,主机操作系统42暂停播放音频。

步骤59、第一音频应用程序成为新;

步骤510、第一音频应用程序开始播放音频;

步骤511、第一音频应用程序向客户音频管理模块申请音频焦点;

在步骤511中,第一音频应用程序33向客户音频管理模块34发送指令 “AUDIOFOCUS_GAIN_TRANSIENT”。

步骤512、客户音频管理模块记录第一音频应用程序作为新;

步骤513、客户音频管理模块向第一音频应用程序发送音频焦点申请成功指令;

步骤514、客户音频管理模块向主机代理模块发送音频焦点的丢失指令;

在步骤514中,主机代理模块31能够监听到客户操作系统41的音频焦点出现了变 化,其中,此处丢失指令为“AudioFocusChange(AUDIOFOCUS_LOSS_TRANSIENT)”,当然,该丢 失指令还可以为其它类型指令。

步骤515、主机代理模块通过跨系统通信方式向客户代理模块通知音频焦点的变 化;

在步骤515中,在主机操作系统42播放音频后,并客户操作系统41开始播放音频 时,第一音频应用程序33向客户音频管理模块34申请音频焦点,以使客户音频管理模块34 的音频焦点出现上述变化。于是,主机代理模块31通过跨系统通信方式向客户代理模块32 传递指令“Need request audi o focus(AUDIOFOCUS_GAIN_TRANSIENT)”。

步骤516、客户代理模块成为新;

步骤517、客户代理模块向向主机音频管理模块申请音频焦点;

在步骤517中,客户代理模块32根据变化申请音频焦点,以使主机操作系统42根据 音频焦点的申请控制音频的播放,于是,客户代理模块32向主机音频管理模块36发送指令 “requestAudioFocus(AUDIOFOCUS_GAIN_TRANSIENT)”。

步骤518、主机音频管理模块记录客户代理模块作为新;

步骤519、主机音频管理模块向客户代理模块发送音频焦点申请成功指令;

步骤520、主机音频管理模块根据音频焦点的申请,向第二音频应用程序发送音频 焦点的丢失指令;

在步骤520中,主机音频管理模块36向第二音频应用程序35发送指令 “AudioFocusChange(AUDIOFOCUS_LOSS_TRANSIENT)”,该丢失指令与客户代理模块32向主 机音频管理模块申请音频焦点的指令相对应,亦即,“AUDIOFOCUS_LOSS_TRANSIENT”对应于 “AUDIOFOCUS_GAIN_TRANSIENT”。因此,在一些实施例中,客户代理模块32根据音频焦点的 变化类型向主机音频管理模块36申请音频焦点。

步骤521、第二音频应用程序停止播放音乐。

在步骤521中,对于一些不遵守音频焦点机制的第二音频应用程序,其可以拒绝释 放音频焦点,并继续播放音乐。因此,步骤521所示的只是一个实施例,并不局限于此。

第四部分:客户操作系统41结束播放音频,主机操作系统42重新播放音频。

步骤522、第一音频应用程序播放音频;

步骤523、第一音频应用程序向客户音频管理模块申请放弃音频焦点;

在步骤523中,第一音频应用程序33向客户音频管理模块34发送指令 “abandonAudi oFocus”。

步骤524、主机代理模块监听到音频焦点的变化;

在步骤524中,客户音频管理模块34向主机代理模块31发送指令 “AudioFocusChange(AUDIOFOCUS_GAIN)”,于是,主机代理模块31重新获取音频焦点。

步骤525、主机代理模块通过跨系统通信方式向客户代理模块通知音频焦点的变 化;

在步骤525中,主机代理模块31通过跨系统通信方式向客户代理模块32传递指令 “Need abandon audi o focus”。

步骤526、客户代理模块向主机音频管理模块申请放弃音频焦点;

在步骤526中,客户代理模块32释放音频焦点。

在步骤526中,客户代理模块向主机音频管理模块发送指令 “abandonAudioFocus”。

步骤527、第二音频应用程序重新获取音频焦点;

在步骤527中,主机音频管理模块36向第二音频应用程序发送指令 “AudioFocusChange(AUDIOFOCUS_GAIN)”。

步骤28、第二音频应用程序重新播放音频。

因此,在本实施例中,在多操作系统同时播放音频时,主机/客户操作系统通过联 系,其能够有效地处理主机/客户操作系统的音频竞争播放的问题。

作为本发明实施例的另一方面,本发明实施例提供一种音频竞争播放方法。请参 阅图6,图6是本发明实施例提供一种音频竞争播放方法的流程示意图。如图6所示,该音频 竞争播放方法600包括:

步骤61、在主机操作系统播放音频后,并客户操作系统开始播放音频时,监听客户 操作系统的音频焦点是否出现变化;

步骤62、在监听到客户操作系统的音频焦点出现变化时,根据变化申请音频焦点, 以使主机操作系统根据音频焦点的申请控制音频的播放。

在本实施例中,在多操作系统同时播放音频时,主机/客户操作系统通过联系,其 能够有效地处理主机/客户操作系统的音频竞争播放的问题。

在一些实施例中,客户操作系统运行有第一音频应用程序与客户音频管理模块, 在主机操作系统播放音频后,并客户操作系统开始播放音频时,第一音频应用程序向客户 音频管理模块申请音频焦点,以使客户音频管理模块的音频焦点出现上述变化。

在一些实施例中,主机操作系统还运行有第二音频应用程序与主机音频管理模 块。步骤62包括:根据变化向所述主机音频管理模块申请音频焦点,以使主机音频管理模块 根据音频焦点的申请,向第二音频应用程序发送音频焦点的丢失指令,第二音频应用程序 根据丢失指令停止或继续播放音频。

在一些实施例中,变化包括音频焦点的变化类型。因此,根据变化向所述主机音频 管理模块申请音频焦点包括:根据音频焦点的变化类型向主机音频管理模块申请音频焦 点。

在一些实施例中,如图7所示,该音频竞争播放方法600还包括:

步骤63、在第一音频应用程序停止播放音频后,重新获取音频焦点;

步骤64、向主机操作系统通知音频焦点的获取,以使第二音频应用程序重新获取 音频焦点。

由于装置实施例和方法实施例是基于同一构思,在内容不互相冲突的前提下,方 法实施例的内容可以引用装置实施例的,在此不赘述。

作为本发明实施例的另一方面,本发明实施例提供一种移动终端。如图8所示,该 移动终端800包括:一个或多个处理器81以及存储器82。其中,图8中以一个处理器81为例。 处理器81和存储器82可以通过总线或者其他方式连接,图8中以通过总线连接为例。

存储器82作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程 序、非易失性计算机可执行程序以及模块,如本发明实施例中的音频竞争播放方法对应的 程序指令/模块。处理器81通过运行存储在存储器82中的非易失性软件程序、指令以及模 块,从而执行如图6至7所示的支付方法,或者如图3或图4所示的音频竞争播放装置的各种 功能应用以及数据处理。

存储器82可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少 一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器82 可选包括相对于处理器81远程设置的存储器,这些远程存储器可以通过网络连接至处理器 81。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

所述程序指令/模块存储在所述存储器82中,当被所述一个或者多个处理器81执 行时,执行上述任意方法实施例中的音频竞争播放方法,例如,执行以上描述的图6或图7所 示的各个步骤的功能。

本发明实施例的移动终端800以多种形式存在,在执行以上描述的图6或图7所示 的各个步骤的功能时,上述移动终端800包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能与捕捉物体图像功能,并 且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、 功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算、处理功能 及捕捉物体图像功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例 如iPad。

(3)便携式娱乐设备:这类设备可以显示和播放视频内容,一般也具备移动上网特 性及捕捉物体图像功能。该类设备包括:视频播放器,掌上游戏机,以及智能玩具和便携式 车载导航设备。

(4)其他具有视频播放功能和上网功能的电子设备。

本发明实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读 存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如 图8中的一个处理器81,可使得上述一个或多个处理器可执行上述任意方法实施例中的音 频竞争播放方法,例如,执行上述任意方法实施例中的音频竞争播放方法,例如,执行以上 描述的图6至图7所示的各个步骤的功能。

以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的 单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可 以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据 实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可 借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术 方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机 软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以 使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者 实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本 发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以 以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没 有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人 员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技 术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实 施例技术方案的范围。

本文发布于:2023-04-14 13:46:56,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/87194.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图