CN113950037A - 一种音频播放方法及终端设备 - Google Patents

一种音频播放方法及终端设备 Download PDF

Info

Publication number
CN113950037A
CN113950037A CN202111502407.0A CN202111502407A CN113950037A CN 113950037 A CN113950037 A CN 113950037A CN 202111502407 A CN202111502407 A CN 202111502407A CN 113950037 A CN113950037 A CN 113950037A
Authority
CN
China
Prior art keywords
audio channel
bluetooth
bluetooth audio
type
target application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111502407.0A
Other languages
English (en)
Other versions
CN113950037B (zh
Inventor
崔晓青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202111502407.0A priority Critical patent/CN113950037B/zh
Publication of CN113950037A publication Critical patent/CN113950037A/zh
Application granted granted Critical
Publication of CN113950037B publication Critical patent/CN113950037B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1096Supplementary features, e.g. call forwarding or call holding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/0005Control or signalling for completing the hand-off
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/56Allocation or scheduling criteria for wireless resources based on priority criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephone Function (AREA)

Abstract

本申请提供了一种音频播放方法及终端设备。其中,方法应用于终端设备,包括:获取目标应用当前使用的第一蓝牙音频通道的类型以及所述终端设备的操作系统为蓝牙设备使能的第二蓝牙音频通道的类型;若识别出所述第一蓝牙音频通道的类型和所述第二蓝牙音频通道的类型不匹配,则将所述目标应用当前使用的第一蓝牙音频通道切换至所述第二蓝牙音频通道;控制所述目标应用通过所述第二蓝牙音频通道将音频数据发送至所述蓝牙设备进行播放。可以保证应用能够成功通过蓝牙设备进行播放,满足了用户在使用过程中无需任何手动选择配置即可实现蓝牙播放的期望,从而提高用户使用蓝牙设备时的体验。

Description

一种音频播放方法及终端设备
技术领域
本发明涉及多媒体技术领域,特别是涉及一种音频播放方法及终端设备。
背景技术
在一些应用场景中,用户希望由连接于终端设备的蓝牙设备,如蓝牙耳机、车载蓝牙音响等,播放终端设备中应用的音频。相关技术中,终端设备中运行的应用可以通过预先设置的蓝牙音频通道将数据输出至蓝牙设备进行播放。
但是,如果预先设置的蓝牙音频通道未被终端设备的操作系统使能,则将导致应用无法成功地将音频数据发送至蓝牙设备,进而导致应用无法通过蓝牙设备进行音频播放,即用户无法通过蓝牙设备播放来自该应用的音频,给蓝牙设备的使用带来不便。
发明内容
本发明实施例提供一种音频播放方法及终端设备,以保证应用能够成功通过蓝牙设备进行播放。具体技术方案如下:
第一方面,本申请提供了一种音频播放方法,应用于终端设备,所述方法包括:
获取目标应用当前使用的第一蓝牙音频通道的类型以及所述终端设备为蓝牙设备使能的第二蓝牙音频通道的类型;
若识别出所述第一蓝牙音频通道的类型和所述第二蓝牙音频通道的类型不匹配,则将所述目标应用当前使用的第一蓝牙音频通道切换至所述第二蓝牙音频通道;
控制所述目标应用通过所述第二蓝牙音频通道将音频数据发送至所述蓝牙设备进行播放。
本申请提供的音频播放方法中,终端设备可以通过第一蓝牙音频通道的类型和第二蓝牙音频通道的类型是否匹配,确定终端设备内对该外接蓝牙设备的第一蓝牙音频通道是否被操作系统使能,进而在第一蓝牙音频通道未被使能的情况下,及时切换目标应用所使用的第一蓝牙音频通道,以使得目标应用通过已使能的第二蓝牙音频通道输出音频数据。从而有效避免了因蓝牙音频通道不匹配导致的蓝牙设备无法播放来自目标应用的音频数据的问题,保证了应用能够成功通过蓝牙设备进行播放。满足了用户在使用过程中无需任何手动选择配置即可实现蓝牙播放的期望。本申请由于是终端自动识别第一蓝牙音频通道的类型和第二蓝牙音频通道的类型是否匹配,且在不匹配情况下自动切换目标应用的蓝牙音频通道类型,切换快捷,使得用户无感知,用户体验性好。
结合第一方面,在一种可能的实施例中,所述获取所述终端设备为所述蓝牙设备使能的第二蓝牙音频通道的类型,包括:
重复获取所述终端设备为所述蓝牙设备使能的第二蓝牙音频通道的类型,直至所述终端设备识别出到达预设时长阈值;
所述若识别出所述第一蓝牙音频通道的类型与所述第二蓝牙音频通道的类型不匹配,则将所述目标应用当前使用的第一蓝牙音频通道切换至所述第二蓝牙音频通道,包括:
若识别出到达所述预设时长阈值且所述第一蓝牙音频通道的类型与最新获取的第二蓝牙音频通道的类型不匹配,则将所述目标应用当前使用的第一蓝牙音频通道切换至所述第二蓝牙音频通道。
结合第一方面,在一种可能的实施例中,所述方法还包括:
当获取所述第二蓝牙音频通道的类型,若所述终端设备识别出所述第一蓝牙音频通道的类型与最新获取的第二蓝牙音频通道的类型匹配,则终止重复确定所述终端设备为所述蓝牙设备使能的第二蓝牙音频通道。
结合第一方面,在一种可能的实施例中,所述方法还包括:
禁止所述目标应用输出音频数据,直至所述终端设备执行所述控制所述目标应用通过所述第二蓝牙音频通道将音频数据发送至所述蓝牙设备进行播放的步骤。
结合第一方面,在一种可能的实施例中,所述方法还包括:
若识别出所述第一蓝牙音频通道的类型与第一次获取到的第二蓝牙音频通道的类型不匹配,则将目标应用输出音频数据切换至第三音频通道,其中,所述第三音频通道为非蓝牙音频通道。
结合第一方面,在一种可能的实施例中,所述方法还包括:
若识别出所述第一蓝牙音频通道不为优先级最高的蓝牙音频通道,则将所述目标应用当前使用的第一蓝牙音频通道切换至优先级最高的蓝牙音频通道。
第二方面,本申请提供了一种终端设备,所述终端设备包括:
获取模块,用于获取目标应用当前使用的第一蓝牙音频通道的类型以及所述终端设备为蓝牙设备使能的第二蓝牙音频通道的类型;
判断模块,用于识别所述第一蓝牙音频通道的类型和所述第二蓝牙音频通道的类型是否匹配;
切换模块,用于若不匹配,则将所述目标应用当前使用的第一蓝牙音频通道切换至所述第二蓝牙音频通道;并控制所述目标应用通过所述第二蓝牙音频通道将音频数据发送至所述蓝牙设备进行播放。
结合第二方面,在一种可能的实施例中,所述获取模块获取所述终端设备为所述蓝牙设备使能的第二蓝牙音频通道的类型,包括:
重复获取所述终端设备为所述蓝牙设备使能的第二蓝牙音频通道的类型,直至所述终端设备识别出到达预设时长阈值;
所述判断模块识别所述第一蓝牙音频通道的类型和所述第二蓝牙音频通道的类型是否匹配,包括:
识别所述第一蓝牙音频通道的类型和最新获取的第二蓝牙音频通道的类型是否匹配。
结合第二方面,在一种可能的实施例中,所述获取模块,还用于当获取所述第二蓝牙音频通道的类型,若所述终端设备识别出所述第一蓝牙音频通道的类型与最新获取的第二蓝牙音频通道的类型匹配,则终止重复确定所述终端设备为所述蓝牙设备使能的第二蓝牙音频通道。
结合第二方面,在一种可能的实施例中,所述切换模块,还用于禁止所述目标应用输出音频数据,直至所述切换模块执行所述控制所述目标应用通过所述第二蓝牙音频通道将音频数据发送至所述蓝牙设备进行播放的步骤。
结合第二方面,在一种可能的实施例中,所述切换模块,还用于若识别出所述第一蓝牙音频通道的类型与第一次获取到的第二蓝牙音频通道的类型不匹配,则将目标应用输出音频数据切换至第三音频通道,其中,所述第三音频通道为非蓝牙音频通道。
结合第二方面,在一种可能的实施例中,所述终端设备还包括排序模块,用于若识别出所述第一蓝牙音频通道不为优先级最高的蓝牙音频通道,则驱动所述切换模块将所述目标应用当前使用的第一蓝牙音频通道切换至优先级最高的蓝牙音频通道。第三方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的方法步骤。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本申请提供的终端设备的一种硬件结构示意图;
图2为本申请提供的音频播放方法的一种流程示意图;
图3为本申请提供的音频播放方法的另一种流程示意图;
图4为本申请提供的终端设备软硬件框架示意图;
图5a为本申请提供的应用于场景一的音频播放方法的流程示意图;
图5b为场景一的场景示意图;
图5c为本申请提供的应用于场景一的音频播放方法的交互示意图;
图6a为本申请提供的应用于场景二的音频播放方法的流程示意图;
图6b为场景二的场景示意图;
图6c为本申请提供的应用于场景二的音频播放方法的交互示意图;
图7a为本申请提供的应用于场景三的音频播放方法的流程示意图;
图7b为场景三的场景示意图;
图7c为本申请提供的应用于场景三的音频播放方法的交互示意图;
图8为本申请提供的终端设备的一种功能模块结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一指令和第二指令是为了区分不同的用户指令,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
此外,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
下面将结合附图对本申请实施例的实施方式进行详细描述。
为了更清楚地对本申请实施例提供的音频播放方法进行说明,下面将对本申请实施例提供的音频播放方法的一种可能的应用场景进行示例性的说明。可以理解的是,以下示例仅是本申请实施例提供的音频播放方法的一种可能的应用场景,在其他可能的实施例中,本申请实施例提供的音频播放方法也可以应用于其他可能的应用场景中,以下示例对此不做任何限制。
参见图1,图1所示为本申请实施例提供的终端设备的硬件结构示意图。
终端设备包括处理器110、收发器120和显示单元170。其中,显示单元170可以包括显示屏。
可选地,该终端设备还可以包括存储器130。处理器110、收发器120和存储器130之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器130用于存储计算机程序,该处理器110用于从该存储器130中调用并运行该计算机程序。
可选地,终端设备还可以包括天线140,用于将收发器120输出的无线信号发送出去。
上述处理器110可以和存储器130合成一个处理装置,更常见的是彼此独立的部件,处理器110用于执行存储器130中存储的程序代码来实现上述功能。具体实现时,该存储器130也可以集成在处理器110中,或者,独立于处理器110。
除此之外,为了使得终端设备的功能更加完善,该终端设备还可以包括输入单元160、音频电路180、摄像头190和传感器101等中的一个或多个,该音频电路还可以包括扬声器182、麦克风184等。
可选地,上述终端设备还可以包括电源150,用于给终端设备中的各种器件或电路提供电源。
可以理解的是,图1所示的终端设备中的各个模块的操作和/或功能,分别为了实现下述方法实施例中的相应流程。具体可参见下述方法实施例中的描述,为避免重复,此处适当省略详细描述。
可以理解的是,图1所示的终端设备中的处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit ,GPU),图像信号处理器(imagesignalprocessor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulsecode modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头190等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现终端设备的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频电路180耦合,实现处理器110与音频电路180之间的通信。在一些实施例中,音频电路180可以通过I2S接口向收发器120传递音频信号,实现通过蓝牙耳机接听语音通话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频电路180与收发器120可以通过PCM总线接口耦合。在一些实施例中,音频电路180也可以通过PCM接口向收发器120传递音频信号,实现通过蓝牙耳机接听语音通话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与收发器120。例如:处理器110通过UART接口与收发器120中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频电路180可以通过UART接口向收发器120传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示单元170,摄像头190等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头190通过CSI接口通信,实现终端设备的拍摄功能。处理器110和显示单元170通过DSI接口通信,实现终端设备的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头190,显示单元170,收发器120,音频模电路180,传感器101等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备的结构限定。在本申请另一些实施例中,终端设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
可以理解的是,图1所示的电源150用于给处理器110,存储器130,显示单元170,摄像头190,输入单元160和收发器120等供电。天线140用于发射和接收电磁波信号。终端设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线140复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
收发器120可以提供应用在终端设备上的包括无线局域网(wireless local areanetworks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。收发器120可以是集成至少一个通信处理模块的一个或多个器件。收发器120经由天线140接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。收发器120还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线140转为电磁波辐射出去。
在一些实施例中,终端设备的天线140和收发器120耦合,使得终端设备可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packetradio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-divisioncode division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC ,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(globalpositioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite basedaugmentation systems,SBAS)。
终端设备通过GPU,显示单元170,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示单元170和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示单元170用于显示图像,视频等。显示单元170包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic lightemittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(activematrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端设备可以包括1个或N个显示单元170,N为大于1的正整数。
终端设备可以通过ISP,摄像头190,视频编解码器,GPU,显示单元170以及应用处理器等实现拍摄功能。
ISP用于处理摄像头190反馈的数据。例如,录制视频时,打开摄像头,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。
ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头190中。摄像头190用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP
加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端设备可以包括1个或N个摄像头190,N为大于1的正整数。数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。终端设备可以支持一种或多种视频编解码器。这样,终端设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
存储器130可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。存储器130可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,存储器130可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在存储器130的指令,和/或存储在设置于处理器中的存储器的指令,执行终端设备的各种功能应用以及数据处理。
终端设备可以通过音频电路180,扬声器182,麦克风184,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频电路180用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频电路180还可以用于对音频信号编码和解码。在一些实施例中,音频电路180可以设置于处理器110中,或将音频电路180的部分功能模块设置于处理器110中。
扬声器182,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备可以通过扬声器182收听音乐,或收听免提通话。
麦克风184,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过靠近麦克风184发声,将声音信号输入到麦克风184。终端设备可以设置至少一个麦克风184。在另一些实施例中,终端设备可以设置两个麦克风184,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端设备还可以设置三个,四个或更多麦克风184,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
终端设备,如手机、平板电脑、车载电脑等,通常支持的音频通道有三种类型,分别是蓝牙通话音频通道,蓝牙媒体音频通道,终端音频通道(外放音频通道和听筒音频通道)。终端设备可以通过蓝牙与具备音频播放能力的蓝牙设备,如蓝牙耳机、车载音响等,建立连接。在终端设备与蓝牙设备连接成功后,运行于终端设备的应用可以通过蓝牙音频通道将音频数据发送至蓝牙设备进行播放。
以终端设备为手机为例,手机往往支持蓝牙通话音频通道以及蓝牙媒体音频通道这两种类型的蓝牙音频通道。手机与外部设备通过蓝牙连接时,出于各种原因,如用户配置等,手机的操作系统可能未使能自身支持的每种类型的蓝牙音频通道,例如仅使能了蓝牙通话音频通道或仅使能了蓝牙媒体音频通道。而如果手机内的应用向蓝牙设备输出音频数据的音频通道的类型未被终端设备使能,则将导致应用无法成功向蓝牙设备发送数据,即用户无法通过蓝牙设备播放来自该应用的音频,给蓝牙设备的使用带来了不便。
示例性的,假设用户将手机与蓝牙耳机连接,以希望通过蓝牙耳机播放一应用的语音消息。假设该应用通过蓝牙通话音频通道将音频数据发送至蓝牙耳机进行播放,而根据用户配置,手机的操作系统仅为该蓝牙耳机使能蓝牙媒体音频通道,而未使能蓝牙通话音频通道。则该应用无法将音频数据发送至蓝牙耳机,导致用户无法通过蓝牙耳机播放该应用的语音消息。
有鉴于此,本申请提供了一种音频播放方法,应用于终端设备,本文中的终端设备可以是指支持蓝牙功能和音频播放功能的任意电子设备,包括但不限于手机、平板、个人电脑、车载电脑等。本申请提供的音频播放方法可以如图2所示,所述终端设备外接蓝牙设备,所述终端设备内具有至少一个应用,所述应用支持通过蓝牙输出音频,本申请提供的音频播放方法包括:
S201,终端设备获取目标应用当前使用的第一蓝牙音频通道的类型,以及终端设备为所述蓝牙设备使能的第二蓝牙音频通道的类型。
其中,目标应用可以是运行于终端设备的操作系统中的任意应用,且目标应用应当支持音频输出功能。示例性的,目标应用可以为用于播放音乐的应用,也可以为用于进行语音聊天的应用。
蓝牙设备可以是能够与终端设备通过蓝牙连接的任意外部设备,且蓝牙设备支持音频播放功能,示例性的,蓝牙设备可以是蓝牙耳机、车载音响等。蓝牙设备可以是在目标应用启动前接入终端设备的,也可以是在目标应用启动后接入终端设备的。若蓝牙设备在目标应用启动前接入终端设备,则S201的执行时机为目标应用启动时。若蓝牙设备在目标应用启动后接入终端设备,则S201的执行时机为蓝牙设备接入终端设备时。
以终端设备为手机为例,终端设备为蓝牙设备使能的第二蓝牙音频通道即为:终端设备的操作系统中框架(framework)层内的音频管理器(AudioManager)为蓝牙设备使能的第二蓝牙音频通道,详见图4。可以通过与框架层内的音频管理器进行数据交互,从而获取第二蓝牙音频通道的类型,如对框架层内的音频管理器进行监听,又如接收框架层内的音频管理器发送的用于表示第二蓝牙音频通道的类型的信息。
S202,若终端设备识别出所述第一蓝牙音频通道的类型和第二蓝牙音频通道的类型不匹配,则将目标应用当前使用的第一蓝牙音频通道切换至第二蓝牙音频通道;
第一蓝牙音频通道的类型和第二蓝牙音频通道的类型不匹配是指:第一蓝牙音频通道的类型与第二蓝牙音频通道的类型不相同。反之,如果第二蓝牙音频通道的类型与第一蓝牙音频通道的类型相同,则一蓝牙音频通道的类型与第二蓝牙音频通道的类型匹配。
可以理解的是由于第二蓝牙音频通道为操作系统为蓝牙设备使能的音频通道,如果第一蓝牙音频通道的类型与第二蓝牙音频通道的类型不匹配,则认为第一蓝牙音频通道未被操作系统使能,因此目标应用无法通过第一蓝牙音频通道向蓝牙设备发送音频数据。
为了使得目标应用能够向蓝牙设备发送音频数据实现播放,目标应用需要通过已经被操作系统使能的第二蓝牙音频通道输出音频数据,因此需要将目标应用当前使用的第一蓝牙音频通道切换为第二蓝牙音频通道。
终端设备切换目标应用输出音频数据的蓝牙音频通道的方式可以参见图4所示,应用层中包括蓝牙适配器(BluetoothAdapter)和音频管理器(AudioManager),终端设备驱动应用层中的音频管理器向框架(framework)层中的音频管理器的发送参数修改指令,框架层中音频管理器根据参数修改指令驱动音频服务器(AudioService)打开蓝牙,并针对播放模式、流类型、蓝牙状态、扬声器进行配置。
音频服务器将经过配置的参数下发硬件抽象层(Hardware Abstract Layer)中的音频策略管理基类(AudioPolicyManagerBase)。音频策略管理基类根据下发的参数对终端设备的用于播放音频的器件(包括听筒、扬声器、蓝牙耳机等)的音频播放进行管理,从而实现将目标应用输出音频数据的蓝牙音频通道切换为第二蓝牙音频通道。
S203,终端设备控制目标应用通过第二蓝牙音频通道将音频数据发送至蓝牙设备进行播放。
由于第二蓝牙音频通道为操作系统使能的蓝牙音频通道,并且目标应用当前使用的第一蓝牙音频通道已经被切换为第二蓝牙音频通道,因此目标应用当前使用的蓝牙音频通道与系统使能的蓝牙音频通道匹配,因此目标应用可以通过当前使用的蓝牙音频通道将音频数据发送至蓝牙设备进行播放。
选用该实施例,终端设备可以通过第一蓝牙音频通道的类型和第二蓝牙音频通道的类型是否匹配,确定终端设备内对该外接蓝牙设备的第一蓝牙音频通道是否被操作系统使能,进而在第一蓝牙音频通道未被使能的情况下,及时切换目标应用所使用的第一蓝牙音频通道,以使得目标应用通过已使能的第二蓝牙音频通道输出音频数据。从而有效避免了因蓝牙音频通道不匹配导致的蓝牙设备无法播放来自目标应用的音频数据的问题,保证了应用能够成功通过蓝牙设备进行播放。满足了用户在使用过程中无需任何手动选择配置即可实现蓝牙播放的期望。本申请由于是终端自动识别第一蓝牙音频通道的类型和第二蓝牙音频通道的类型是否匹配,且在不匹配情况下自动切换目标应用的蓝牙音频通道类型,切换快捷,使得用户无感知,用户体验性好。
上述步骤S201中,终端设备获取自身的操作系统为所述蓝牙设备使能的第二蓝牙音频通道的类型的步骤有以下几种实现方式:
方式一:终端设备直接获取自身的操作系统为所述蓝牙设备使能的第二蓝牙音频通道的类型,且仅获取一次后,就认为已经获得了自身的操作系统为所述蓝牙设备使能的第二蓝牙音频通道的类型。此时获取的第二蓝牙音频通道的类型作为后续识别通道类型的基础;
方式二:终端设备重复获取终端设备的操作系统为蓝牙设备使能的第二蓝牙音频通道的类型,直至终端设备识别出到达预设时长阈值。
预设时长阈值的长度根据应用场景的不同可以不同,示例性的,可以是0.5s、2s、3s、4s等时长,本示例对此不做任何限制,但是应当避免用户感知到步骤S201的存在。若蓝牙设备在目标应用启动前接入终端设备,则到达预设时长阈值可以是指从目标应用启动的时刻开始已经经过预设时长阈值,也可以是指从第一次获取第二蓝牙音频通道的类型开始已经经过预设时长阈值。若蓝牙设备在目标应用启动后接入终端设备,则到达预设时长阈值是指从蓝牙设备接入终端设备的时刻开始已经经过预设时长阈值。
其中,重复获取可以是指周期性地获取,也可以是指通过持续监听的方式获取。周期性地获取时,周期的长度可以是100ms、120ms、200ms等,本申请对此不做任何限制。
选用方式二,可以通过在到达预设时长阈值之前重复确定第二蓝牙音频通道的方式,提高确定出的第二蓝牙音频通道的类型的准确性,因此终端设备能够准确识别出第一蓝牙音频通道的类型与第二蓝牙音频通道的类型是否匹配,进而使得终端设备能够准确判断出是否需要切换目标应用当前使用的第一蓝牙音频通道。
示例性的,在一种场景中,目标应用所使用的第一蓝牙音频通道为蓝牙媒体音频通道,终端设备的操作系统为蓝牙设备依次使能蓝牙通话音频通道和蓝牙媒体音频通道。但是由于终端设备的性能较差,终端设备使能蓝牙媒体音频通道需要消耗较多的时间,导致从终端设备使能蓝牙通话音频通道至终端设备使能蓝牙媒体通道之间存在一个较长的时间间隔。因此,终端设备开始获取第二蓝牙音频通道的类型的时间有较大概率位于该时间间隔内。而在终端设备开始获取第二蓝牙音频通道的类型的时间位于该时间间隔的情况下,若采用方式一,则获取到的第二蓝牙音频通道的类型为蓝牙通话音频通道,因此终端设备将识别出第一蓝牙音频通道的类型与第二蓝牙音频通道的类型不匹配,进而切换目标应用当前使用的第一蓝牙音频通道。然而该场景中终端设备将使能蓝牙媒体音频通道,因此实际上无需切换目标应用当前使用的第一蓝牙音频通道。可见,该场景中采用方式一将导致终端设备对是否需要切换目标应用当前使用的第一蓝牙音频通道进行错误的判断。
而若采用方式二,则直至到达预设时长阈值前,终端设备重复获取第二蓝牙音频通道的类型,因此只要终端设备在到达预设时长阈值前能够使能蓝牙媒体音频通道,则终端设备能够将获取到的第二蓝牙音频通道的类型更新为蓝牙媒体音频通道,进而识别出第一蓝牙音频通道的类型与第二蓝牙音频通道的类型匹配,即无需切换目标应用当前使用的第一蓝牙音频通道。而实际上该场景中也无需切换目标应用当前使用的第一蓝牙音频通道。可见,该场景中采用方式二能够使得终端设备能够准确判断出是否需要切换目标应用当前使用的第一蓝牙音频通道。
在前述方式二的基础上,前述S202的步骤有以下几种实现方式:
方式a,当到达预设时长阈值,终端设备识别第一蓝牙音频通道的类型和第二蓝牙音频通道的类型是否匹配。若终端设备识别出第一蓝牙音频通道的类型和第二蓝牙音频通道的类型不匹配,则将目标应用当前使用的第一蓝牙音频通道切换至第二蓝牙音频通道。
方式a中,在到达预设时长阈值之前不执行S202,因此终端设备更不会执行S203。因此,如果目标应用输出音频数据,则输出的音频数据无法成功地发送至蓝牙设备进行播放,导致目标应用输出的音频数据未被完整播放。因此,在一种可能的实施例中,终端设备禁止目标应用输出音频数据,直至终端设备开始执行S203,选用该实施例,在目标应用输出的音频数据能够成功地被蓝牙设备播放之前,禁止目标应用输出音频数据,从而避免目标应用输出的音频数据无法被完整播放。
方式b,每当终端设备获取到第二蓝牙音频通道的类型,终端设备识别第一蓝牙音频通道的类型和第二蓝牙音频通道的类型是否匹配。若终端设备识别出到达预设时长阈值,且第一蓝牙音频通道的类型和第二蓝牙音频通道的类型不匹配,则将目标应用当前使用的第一蓝牙音频通道切换至第二蓝牙音频通道。
由于前述方式二中,终端设备重复获取第二蓝牙音频通道的类型,因此方式b中,终端设备重复识别第一蓝牙音频通道的类型和第二蓝牙音频通道的类型是否匹配。并且,在一种可能的实施例中,若终端设备识别出第一蓝牙音频通道的类型和第二蓝牙音频通道的类型匹配,则认为目标应用能够通过第一蓝牙音频通道将音频数据成功发送至蓝牙设备进行播放,出于降低确定第二蓝牙音频通道的类型所消耗的系统资源的考虑,终止重复获取第二蓝牙音频通道的类型。
在以上实施例中,终端设备与外接蓝牙设备之间成功地实现蓝牙音频通道匹配之前,用户是无法听到终端设备内的应用通过蓝牙音频通道发出的任何声音的,为了解决该问题,本申请还提供了一种音频播放方法,参见图3,图3所示为本申请实施例提供的音频播放方法的另一种流程示意图,具体包括:
S301,终端设备获取目标应用当前使用的第一蓝牙音频通道的类型,并重复获取终端设备的操作系统为所述蓝牙设备使能的第二蓝牙音频通道类型,直至终端设备识别出到达预设时长阈值。
该步骤即采用前述方式二实现S201中的终端设备获取自身的操作系统为所述蓝牙设备使能的第二蓝牙音频通道的类型的步骤。可以参见前述关于方式二的相关说明,在此不再赘述。
S302,若终端设备识别出第一蓝牙音频通道的类型与第一次获取到的第二蓝牙音频通道的类型不匹配,则将目标应用输出音频数据切换至第三音频通道,其中,第三音频通道为非蓝牙通道。
通过第三音频通道可以通过终端设备的音频组件实现音频播放,其中,终端设备的音频组件可以是指终端设备中具备音频播放功能的任一组件,包括但不限于:扬声器、听筒等。第一次获取到的第二蓝牙音频通道的类型是指:在终端设备重复获取第二蓝牙音频通道的类型的过程中,终端设备最先获取到的第二蓝牙音频通道的类型。
若第一蓝牙音频通道的类型与第一次获取到的第二蓝牙音频通道的类型不匹配,则认为第一蓝牙音频通道未被操作系统使能,因此目标应用当前无法通过第一蓝牙音频通道向蓝牙设备发送音频数据进行播放,但是操作系统后续可能使能第一蓝牙音频通道,因此终端设备暂时无需切换目标应用当前使用的第一蓝牙音频通道。而为了用户此时能够听到目标应用输出的音频,本实施例中,终端设备将目标应用输出音频数据切换至第三音频通道,以使得目标应用能够通过非蓝牙通道暂时实现音频播放。
S303,若终端设备识别出到达预设时长阈值且第一蓝牙音频通道的类型和第二蓝牙音频通道的类型不匹配,则将目标应用当前使用的第一蓝牙音频通道切换至第二蓝牙音频通道;
在终端设备将目标应用当前使用的第一蓝牙音频通道切换至第二蓝牙音频通道后,目标应用能够通过第二蓝牙音频通道将音频数据发送至蓝牙设备进行播放,因此目标应用不再通过第三音频通道输出音频数据。
S304,终端设备控制目标应用通过第二蓝牙音频通道将音频数据发送至蓝牙设备进行播放,关闭第三音频通道。
该步骤与前述S203相同,可以参见前述S203的相关说明,在此不再赘述。
选用该实施例,终端设备在识别出第一蓝牙音频通道的类型与第一次获取到的第二蓝牙音频通道的类型不匹配,则控制目标应用通过第三音频通道输出音频数据,以实现音频播放。从而避免了在终端设备与外界蓝牙设备之间成功地实现蓝牙音频通道类型的匹配之前,用户无法听到目标应用输出的音频。
示例性的,以目标应用为用于导航的应用为例,则若在到达预设时长阈值之前禁止目标应用输出音频数据,则在达到预设时长阈值之前,用户无法收听到目标应用输出的导航语音,给用户的驾驶带来了不便。而选用该实施例,可以解决该技术问题。
在前述图2所示的实施例的基础上,还可以包括步骤S204:若终端设备识别出第一蓝牙音频通道不为优先级最高的蓝牙音频通道,则将目标应用当前使用的第一蓝牙音频通道切换至优先级最高的蓝牙音频通道。
S204可以是在S201之前执行的,也可以是在S201之后执行的,S204应当在S202之前执行。通过步骤S204,将使得在执行S202时第一蓝牙音频通道为优先级最高的蓝牙音频通道。
选用该实施例,可以保证目标应用当前使用的第一蓝牙音频通道为优先级最高的蓝牙音频通道,而目标应用通过优先级最高的蓝牙音频通道输出音频数据是能够达到最优的输出方式。即,选用该实施例,可以使得目标应用在最优的方式输出音频数据。
示例性的,假设目标应用为用于播放音乐的应用,则蓝牙媒体音频通道为优先级最高的蓝牙音频通道,目标应用通过蓝牙媒体音频通道输出音频数据时能够使得输出的音频数据质量较高。假设目标应用为用于语音聊天的应用,则蓝牙通话音频通道为优先级最高的蓝牙音频通道,目标应用通过蓝牙通话音频通道输出音频数据时能够在满足用户对音频数据质量的要求的情况下,避免占用蓝牙媒体音频通道的带宽。
终端设备在识别第一蓝牙音频通道的类型与第二蓝牙音频通道的类型是否匹配时,除了前述S202中识别出第一蓝牙音频通道的类型与第二蓝牙音频通道的类型不匹配外,终端设备也可能识别出第一蓝牙音频通道的类型与第二蓝牙音频通道的类型匹配。
若终端设备识别出第一蓝牙音频通道的类型与第二蓝牙音频通道的类型匹配,则认为第一蓝牙音频通道为已经使能的蓝牙音频通道,因此目标应用可以通过第一蓝牙音频通道向蓝牙设备发送音频数据进行播放,终端设备无需切换目标应用输出音频数据的蓝牙音频通道。因此,在一种可能的实施例中,若终端设备识别出第一蓝牙音频通道的类型与第二蓝牙音频通道的类型匹配,则控制目标应用通过第一蓝牙音频通道将音频数据发送之蓝牙设备进行播放。
在另一种可能的实施例中,出于实际需求,若终端设备识别出第一蓝牙音频通道的类型与第二蓝牙音频通道的类型匹配,也将目标应用输出音频数据的蓝牙音频通道切换为第二蓝牙音频通道,示例性的,若终端设备识别出第一蓝牙音频通道不为优先级最高的蓝牙音频通道,且第二蓝牙音频通道包括优先级最高的蓝牙音频通道,则即使终端识别出第一蓝牙音频通道的类型与第二蓝牙音频通道的类型匹配,终端设备将目标应用当前使用的第一蓝牙音频通道切换至优先级最高的蓝牙音频通道。
在执行S202之前,终端设备还可以识别出第二蓝牙音频通道的个数。若终端设备识别出第二蓝牙音频通道的个数等于终端设备所支持的蓝牙音频通道的总数,则认为终端设备的操作系统已经为蓝牙设备使能所有蓝牙音频通道,第一蓝牙音频通道的类型必然与第二蓝牙音频通道的类型匹配,终端设备无需再识别第一蓝牙音频通道的类型与第二蓝牙音频通道的类型是否匹配。
为了更清楚地对本申请提供的音频播放方法进行说明,下面将从功能模块的角度对本申请提供的音频播放方法的实现进行说明。
本申请提供的音频播放方法通过终端设备中的四个功能模块实现,该四个功能模块包括:排序模块、获取模块、判断模块以及切换模块。该四个功能模块中的任一功能模块可以是由目标应用开发方在开发目标应用时集成于目标应用中的功能模块,也可以是由终端设备的生产方或操作系统的提供方利用目标应用开发方提供的应用接口开发得到的独立于目标应用的功能模块。
当四个功能模块是由目标应用开发方在开发目标应用时集成于目标应用中的功能模块时,如图4所示,四个功能模块位于应用层的音频管理器中,下面将分别对该四个功能模块各自的功能进行说明,为描述方便,以下示例仅以终端设备支持的蓝牙音频通道为蓝牙通话音频通道和蓝牙媒体音频通道为例进行说明,对于终端设备还支持其他蓝牙音频通道的情况,原理是相同的,因此不再赘述。
排序模块,用于为目标应用提供通过多种不同蓝牙音频通道输出音频数据的能力,并根据目标应用的类别,对该多种不同蓝牙音频通道进行优先级排序,确定出优先级最高的蓝牙音频通道。从而使得终端设备根据排序模块确定出的优先级最高的蓝牙音频通道,实现前述S204的步骤。
获取模块,用于执行前述S201中获取终端设备的操作系统为蓝牙设备使能的第二蓝牙音频通道的类型的步骤。获取模块从框架层中的音频管理器处获取终端设备的操作系统为蓝牙设备使能的第二音频通道的类型,并记录所获取的第二蓝牙音频通道的类型。
获取模块每次记录第二蓝牙音频通道的类型,可以删除已记录的第二蓝牙音频通道的类型,也可以保留之前已经记录的第二蓝牙音频通道的类型。获取模块可以将第二蓝牙音频通道的类型以任意形式的数据记录于任意存储位置,但是该数据应当为能够被判断模块解析的数据,即判断模块能够确定该数据所表示的第二蓝牙音频通道,且该存储位置应当为判断模块能够访问的存储位置。
判断模块,用于判断第一蓝牙音频通道的类型与获取模块最新记录的第二蓝牙音频通道的类型是否匹配,并记录匹配结果。从而使得终端设备根据匹配结果实现前述S202的步骤。判断模块可以将匹配结果以任意形式的数据记录于任意存储位置,但是该数据应当为能够被切换模块解析的数据,即切换模块能够确定该数据所表示的匹配结果,且该存储位置应当为切换模块能够访问的存储位置。
切换模块,用于读取判断模块记录的结果,当读取到的匹配结果为不匹配时,通过框架层中的音频管理器驱动控制设备将目标应用输出音频数据的蓝牙音频通道切换至第二蓝牙音频通道,即执行前述S202的步骤。业务模块的业务逻辑可以如图4所示,可以参见前述S202中关于图4的相关说明,在此不再赘述。
下面将在图4所示的基础上,分别针对三种不同的应用场景对各个功能模块的各自的业务逻辑以及各个功能模块之间的交互逻辑进行说明,可以参见图5-图7,图5-图7为三种不同应用场景下的实施例:
参见图5a,图5a为场景一中的实施例,场景一可以如图5b所示,场景一中终端设备支持的蓝牙音频通道包括蓝牙媒体音频通道和蓝牙通话音频通道,并且终端设备的操作系统仅为蓝牙设备使能一种第二蓝牙音频通道,该场景中音频播放方法包括:
S501,排序模块根据蓝牙音频通道的优先级排序,控制目标应用当前使用的第一蓝牙音频通道为优先级最高的蓝牙音频通道。
排序模块执行的S501相当于前述S204的步骤。优先级最高的蓝牙音频通道可以是用户预先针对目标应用设置的,也可以是由排序模块根据目标应用是否对播放质量存在要求确定得得到的。
如果目标应用对播放质量存在要求,则目标应用输出的音频数据的质量相对较高,而相较于蓝牙通话音频通道,蓝牙媒体音频通道能够传输质量更高的音频数据。因此,目标应用的音频数据更适合通过蓝牙媒体音频通道输出。该情况下,优先级最高的蓝牙音频通道为蓝牙媒体音频通道。
如果目标应用对播放质量不存在要求,则目标应用输出的音频数据的质量相对较低,此时目标应用的音频数据更适合通过蓝牙媒体音频通道输出,以避免占用蓝牙媒体音频通道资源。该情况下,优先级最高的蓝牙音频通道为蓝牙通话音频通道。
本文中应用对声音质量存在要求是指:应用输出的音频数据需要以高于预设质量阈值的质量进行播放。可以理解的是,对于用于播放音乐的应用、用于播放视频的应用,往往对声音质量存在要求,而对于用于导航的应用、用于语音聊天的应用,往往对声音质量不存在要求。
S502,排序模块记录第一蓝牙音频通道的类型。
排序模块执行的S502相当于前述S201中获取目标应用当前使用的第一蓝牙音频通道的类型的步骤。
由于排序模块控制目标应用输出音频数据的蓝牙音频通道为优先级最高的蓝牙音频通道,因此排序模块记录的第一蓝牙音频通道记为优先级最高的蓝牙音频通道。
S503,操作系统向获取模块发送用于表示第二蓝牙音频通道的类型的通道信息。
如前述说明,通道信息为操作系统中框架层的音频管理器发送的。
S504,获取模块记录通道信息所表示的第二蓝牙音频通道的类型。
S505,获取模块判断是否到达预设时长阈值,若是则驱动判断模块执行S506,若否则驱动操作系统再次执行S503,并返回执行S504。
获取模块执行的S504-S505用于实现前述前述S201中获取第二蓝牙音频通道的类型的步骤。获取模块驱动操作系统再次执行S503,是指获取模块驱动操作系统在预设周期后再次执行S503,预设周期的时长可以根据实际需求和/或经验设置,如50ms、100ms、200ms等。
S506,判断模块判断第一蓝牙音频通道的类型与第二蓝牙音频通道的类型是否匹配,若是则驱动目标应用通过第一蓝牙音频通道将音频数据发送至蓝牙设备进行播放,若否则驱动切换模块执行S507。
判断模块执行的S506用于实现前述S202中若终端设备识别出第一蓝牙音频通道的类型与第二蓝牙音频通道的类型是否匹配的步骤。
S507,切换模块将目标应用当前使用的第一蓝牙音频通道切换至第二蓝牙音频通道。并驱动目标应用通过第二蓝牙音频通道将音频数据发送至蓝牙设备进行播放。
切换模块执行的S507用于实现前述S202中将目标应用当前使用的第一蓝牙音频通道切换至第二蓝牙音频通道的步骤,以及前述S203的步骤。
为了更清楚地对图5a所示的实施例进行说明,以图5b所示的应用场景为例,由于微信为用于语音聊天的应用,因此排序模块将蓝牙通话音频通道设置为微信的默认蓝牙音频通道。而网易云音乐为用于播放音乐的应用,因此排序模块将蓝牙媒体音频通道设置为网易云音乐的默认蓝牙音频通道。如前述分析,若目标应用为微信,则第一蓝牙音频通道为蓝牙通话音频通道,若目标应用为网易云音乐,则第一蓝牙音频通道为蓝牙媒体音频通道。
如图5b所示,该应用场景中,操作系统为蓝牙设备使能的第二蓝牙音频通道包括蓝牙通话音频通道,而不包括蓝牙媒体音频通道。因此若目标应用为微信,则判断模块将识别出第一蓝牙音频通道的类型与第二蓝牙音频通道的类型匹配,因此微信可以通过蓝牙通话音频通道向蓝牙设备发送音频数据进行播放。
而若目标应用为网易云音乐,则判断模块可以识别出第一蓝牙音频通道的类型与第二蓝牙音频通道的类型不匹配。切换模块根据判断模块的判断结果,将网易云音乐当前使用的蓝牙音频通道切换至蓝牙通话音频通道。切换蓝牙通话音频通道后,网易云音乐当前使用的蓝牙音频通道的类型为蓝牙通话音频通道,与操作系统为蓝牙设备使能的第二蓝牙音频通道匹配,因此此时网易云音乐可以通过蓝牙通话音频通道向蓝牙设备发送音频数据进行播放。
图5b以及下文中图6b、图7b所示的场景中,排序模块、获取模块、判断模块以及切换模块位于应用层的音频管理器中,详见图4,图5b、图6b以及图7b未着重体现应用场景,未绘制排序模块、获取模块、判断模块以及切换模块。
为了更清楚地图5a所示的实施例中各个功能模块之间的交互过程进行说明,可以参见图5c,图5c所示为该实施例中各个功能模块之间的交互流程图,包括:
S501,排序模块根据蓝牙音频通道的优先级排序,控制目标应用当前使用的第一蓝牙音频通道为优先级最高的蓝牙音频通道。
S502a,排序模块在第一预设存储空间记录用于表示第一蓝牙音频通道的类型的第一数据。
第一数据的形式根据应用场景的不同可以不同,示例性的第一数据可以是一个二进制数,当该二进制数的取值为1时,表示第一蓝牙音频通道的类型为蓝牙通话音频通道,当该二进制数的取值为0时,表示第一蓝牙音频通道的类型为蓝牙媒体音频通道。第一预设存储空间为终端设备的任一存储介质中能够被排序模块和判断模块访问的存储空间。
S502b,判断模块从第一预设存储空间读取第一数据,以确定第一蓝牙音频通道。
判断模块读取并解析第一数据,以确定第一数据所表示的第一蓝牙音频通道。
S503a,操作系统向获取模块发送用于表示第二蓝牙音频通道的类型的通道信息。
S503b,获取模块接收并解析通道信息,以确定第二蓝牙音频通道的类型。
S504a,获取模块在第二预设存储空间记录用于表示第二蓝牙音频通道的类型的第二数据。
第二数据和通道信息虽然都用于表示第二蓝牙音频通道,但是第二数据和通道信息的形式可以相同,也可以不同。第二预设存储空间为终端设备的任一存储介质中能够被获取模块和判断模块访问的存储空间。
S504b,判断模块从第二预设存储空间读取第二数据,以确定第二蓝牙音频通道的类型。
判断模块读取并解析第二数据,以确定第二数据所表示的第二蓝牙音频通道。
S505a,获取模块判断是否到达预设时长阈值,若是则执行S505b,若否则执行S505c。
该示例中,预设时长阈值是指从目标应用启动开始经过预设时间阈值的时长阈值。
S505b,获取模块向判断模块发送第一触发指令。
S505c,获取模块向操作系统发送第二触发指令。
操作系统响应于第二触发指令后,将再次向获取模块发送通道信息。
S506a,判断模块响应于第一触发指令,判断第一蓝牙音频通道的类型与第二蓝牙音频通道的类型是否匹配,得到判断结果。
S506b,判断模块在第三预设存储空间记录用于表示判断结果的第三数据。
第三数据的形式根据应用场景的不同可以不同,示例性的第三数据可以是一个二进制数,当该二进制数取值为1时,表示不匹配,当该二进制数的取值为0时,表示匹配。第三预设存储空间为终端设备的任一存储介质中能够被判断模块、切换模块访问的存储空间。
S506c,切换模块读取从第三预设存储空间读取第三数据,以确定匹配结果。
S506d,若匹配结果为匹配,则切换模块向目标应用发送第三触发指令。
目标应用响应于第三触发指令,通过第一蓝牙音频通道将音频数据发送至蓝牙设备进行播放。
S507a,若匹配结果为不匹配,则切换模块将目标应用当前使用的第一蓝牙音频通道切换至第二蓝牙音频通道。
S507b,切换模块向目标应用发送第四触发指令。
目标应用响应于第四触发指令,通过第二蓝牙音频通道将音频数据发送至蓝牙设备进行播放。
参见图6a,图6a为场景二中的实施例,场景二可以如图6b所示,场景二中终端设备支持的蓝牙音频通道包括蓝牙媒体音频通道和蓝牙通话音频通道,并且终端设备的操作系统仅为蓝牙设备使能一种第二蓝牙音频通道,该场景中音频播放方法包括:
S601,排序模块根据蓝牙音频通道的优先级排序,控制目标应用当前使用的第一蓝牙音频通道为优先级最高的蓝牙音频通道。
排序模块执行的S601相当于前述S204的步骤。
S602,排序模块记录第一蓝牙音频通道的类型。
排序模块执行的S602相当于前述S201中获取目标应用当前使用的第一蓝牙音频通道的类型的步骤。
S603,获取模块通过监听确定操作系统为蓝牙设备使能的第二蓝牙音频通道的类型。
S604,获取模块记录通过监听确定的第二蓝牙音频通道的类型。
S605,获取模块判断是否到达预设时长阈值,若是则驱动判断模块执行S607,若否则返回执行S604
获取模块执行的S603-S605用于实现前述前述S201中获取第二蓝牙音频通道的类型的步骤。
S606,若判断模块识别出第一蓝牙音频通道的类型与第二蓝牙音频通道的类型不匹配,则驱动获取模块将目标应用输出音频数据切换至第三音频通道。
判断模块执行的S606用于实现前述S302的步骤。
S607,判断模块判断第一蓝牙音频通道的类型与第二蓝牙音频通道的类型是否匹配,若是则驱动目标应用通过第一蓝牙音频通道将音频数据发送至蓝牙设备进行播放,若否则驱动切换模块执行S608。
判断模块执行的S607用于实现前述S202中若终端设备识别出第一蓝牙音频通道的类型与第二蓝牙音频通道的类型是否匹配的步骤。
S608,切换模块将目标应用当前使用的第一蓝牙音频通道切换至第二蓝牙音频通道。并驱动目标应用通过第二蓝牙音频通道将音频数据发送至蓝牙设备进行播放。
切换模块执行的S608用于实现前述S202中将目标应用当前使用的第一蓝牙音频通道切换至第二蓝牙音频通道的步骤,以及前述S203的步骤。
为了更清楚地对图6a所示的实施例进行说明,以图6b所示的应用场景为例,由于微信为用于语音聊天的应用,因此排序模块将蓝牙通话音频通道设置为微信的优先级最高的蓝牙音频通道。而网易云音乐为用于播放音乐的应用,因此排序模块将蓝牙媒体音频通道设置为网易云音乐的优先级最高的蓝牙音频通道。如前述分析,若目标应用为微信,则第一蓝牙音频通道为蓝牙通话音频通道,若目标应用为网易云音乐,则第一蓝牙音频通道为蓝牙媒体音频通道。
如图6b所示,该应用场景中,操作系统为蓝牙设备使能的第二蓝牙音频通道的类型为蓝牙通话音频通道。因此,获取模块第一获取到的第二蓝牙音频通道的类型为蓝牙通话音频通道,且在到达预设时长阈值后,获取模块最新记录到的第二蓝牙音频通道的类型为蓝牙通话音频通道。
因此若目标应用为微信,则判断模块将识别出第一蓝牙音频通道的类型与第二蓝牙音频通道的类型匹配,因此微信可以通过蓝牙通话音频通道向蓝牙设备发送音频数据进行播放。
而若目标应用为网易云音乐,获取模块第一次获取到的第二蓝牙音频通道的类型为蓝牙通话音频通道,与网易云音乐当前使用的蓝牙媒体音频通道不匹配,因此获取模块驱动网易云音乐输出音频数据切换至第三音频通道,以使得网易云音乐在到达预设时长阈值之前通过终端设备的扬声器进行音频播放。
并且在到达预设时长阈值后,判断模块将识别出第一蓝牙音频通道的类型与最新记录的第二蓝牙音频通道的类型不匹配。此时切换模块根据判断模块的判断结果,将网易云音乐当前使用的第一蓝牙音频通道切换至第二蓝牙音频通道。切换蓝牙音频通道后,网易云音乐当前使用的蓝牙音频通道的类型为蓝牙通话音频通道,与第二蓝牙音频通道的类型匹配,因此此时网易云音乐不再继续通过扬声器进行音频播放,而是通过蓝牙通话音频通道向蓝牙设备发送音频数据进行播放。
为了更清楚地图6a所示的实施例中各个功能模块之间的交互过程进行说明,可以参见图6c,图6c所示为该实施例中各个功能模块之间的交互流程图,包括:
S601,排序模块根据蓝牙音频通道的优先级排序,控制目标应用当前使用的第一蓝牙音频通道为优先级最高的蓝牙音频通道。
S602a,排序模块在第一预设存储空间记录用于表示第一蓝牙音频通道的第一数据。
S602b,判断模块从第一预设存储空间读取第一数据,以确定第一蓝牙音频通道的类型。
S603,获取模块通过监听确定操作系统为蓝牙设备使能的第二蓝牙音频通道的类型。
S604a,获取模块在第二预设存储空间记录用于表示第二蓝牙音频通道的类型的第二数据。
S604b,判断模块从第二预设存储空间读取第二数据,以确定第二蓝牙音频通道的类型。
S605a,若判断模块识别出第一蓝牙音频通道的类型与第一次获取到的第二蓝牙音频通道的类型不匹配,向获取模块发送第五触发指令。
S605b,获取模块响应于第五触发指令,将目标应用输出音频数据切换至第三音频通道。
S606a,获取模块判断是否到达预设时长阈值,若是则执行S605b,若否则返回执行S603。
该示例中,预设时长阈值是指从目标应用启动开始经过预设时间阈值的时长阈值。
S606b,获取模块向判断模块发送第一触发指令。
S607a,判断模块响应于第一触发指令,判断第一蓝牙音频通道的类型与第二蓝牙音频通道的类型是否匹配。
S607b,判断模块在第三预设存储空间记录用于表示判断结果的第三数据。
S607c,切换模块读取从第三预设存储空间读取第三数据,以确定匹配结果。
S607d,若匹配结果为匹配,则切换模块向目标应用发送第三触发指令。
目标应用响应于第三触发指令,通过第一蓝牙音频通道将音频数据发送至蓝牙设备进行播放。
S608a,若匹配结果为不匹配,则切换模块将目标应用当前使用的第一蓝牙音频通道切换至第二蓝牙音频通道。
S608b,切换模块向目标应用发送第四触发指令。
目标应用响应于第四触发指令,通过第二蓝牙音频通道将音频数据发送至蓝牙设备进行播放。
参见图7a,图7a为场景三中的实施例,场景三可以如图7b所示,场景三中终端设备支持的蓝牙音频通道包括蓝牙媒体音频通道和蓝牙通话音频通道,并且终端设备的操作系统为蓝牙设备使能两种第二蓝牙音频通道,该场景中音频播放方法包括:
S701,排序模块根据蓝牙音频通道的优先级排序,控制目标应用当前使用的第一蓝牙音频通道为优先级最高的蓝牙音频通道。
排序模块执行的S701相当于前述S204的步骤。
S702,排序模块记录第一蓝牙音频通道的类型。
排序模块执行的S702相当于前述S201中获取目标应用当前使用的第一蓝牙音频通道的类型的步骤。
S703,获取模块获取操作系统为蓝牙设备使能的第二蓝牙音频通道的类型。
获取模块执行的S703用于实现前述前述S201中获取第二蓝牙音频通道的类型的步骤。
S704,判断模块判断第二蓝牙音频通道的数目是否等于终端设备所支持的蓝牙音频通道的总数。
示例性的,若终端设备所支持的蓝牙音频通道的总数为2,则判断第二蓝牙音频通道的数目是否等于2。可以理解的是,如果第二蓝牙音频通道的数目等于终端设备所支持的蓝牙音频通道的总数,则认为终端设备为蓝牙设备使能所有蓝牙音频通道,反之,如果第二蓝牙音频通道的数目不等于(即小于)终端设备所支持的蓝牙音频通道的总数,则认为终端设备未为蓝牙设备使能所有蓝牙音频通道。因此,若第二蓝牙音频通道的数目等于终端设备所支持的蓝牙音频通道的总数,则第一蓝牙音频通道的类型必然与第二蓝牙音频通道的类型匹配。
若第二蓝牙音频通道的数目不等于终端设备所支持的蓝牙音频通道的总数,则第二蓝牙音频通道的数目为1个,此时可以参见场景一和场景二,在此不再赘述。
S705,若判断模块识别出第二蓝牙音频通道的数目等于终端设备所支持的蓝牙音频通道的总数,则判断第一蓝牙音频通道是否为优先级最高的蓝牙音频通道,若是则驱动目标应用通过第一蓝牙音频通道将音频数据发送至蓝牙设备进行播放,若否则驱动切换模块执行S706
如前述分析,此时可以认为第一蓝牙音频通道的类型必然与第二蓝牙音频通道的类型匹配,因此在该示例中判断模块不判断第一蓝牙音频通道的类型是否与第二蓝牙音频通道的类型匹配。在另一些可能的实施例中,即使第二蓝牙音频通道的数目等于终端设备所支持的蓝牙音频通道的总数,判断模块仍然判断第一蓝牙音频通道的类型是否与第二蓝牙音频通道的类型匹配。
S706,切换模块将目标应用当前使用的第一蓝牙音频通道切换至优先级最高的蓝牙音频通道。并驱动目标应用通过优先级最高的蓝牙音频通道将音频数据发送至蓝牙设备进行播放。
选用该实施例,进一步保证目标应用尽可能通过默认蓝牙音频通道输出音频数据,以使得目标应用输出的音频数据能够更好地符合实际需求。
为了更清楚地对图7a所示的实施例进行说明,以图7b所示的应用场景为例,由于微信为用于语音聊天的应用,因此排序模块将蓝牙通话音频通道设置为微信的默认蓝牙音频通道。而网易云音乐为用于播放音乐的应用,因此排序模块将蓝牙媒体音频通道设置为网易云音乐的默认蓝牙音频通道。但是,出于各种原因,如排序模块故障、用户设置等,网易云音乐输出音频数据的蓝牙音频通道为蓝牙通话音频通道,因此该应用场景中,无论目标应用为微信或网易云音乐,第一蓝牙音频通道为蓝牙通话音频通道。
如图7b所示,该应用场景中,操作系统为蓝牙设备使能的第二蓝牙音频通道包括蓝牙通话音频通道,且包括蓝牙媒体音频通道。因此第一蓝牙音频通道的类型总是与第二蓝牙音频通道的类型匹配。
由于微信的优先级最高的蓝牙音频通道为蓝牙通话音频通道,因此若目标应用为微信,则判断模块将识别出第一蓝牙音频通道为优先级最高的蓝牙音频通道。因此微信可以通过第一蓝牙通话音频通道向蓝牙设备发送音频数据进行播放。
而由于网易云音乐的优先级最高的蓝牙音频通道为蓝牙媒体音频通道,因此若目标应用为网易云音乐,则判断模块将识别出第一蓝牙音频通道不为优先级最高的蓝牙音频通道。因此判断模块驱动切换模块将网易云音乐当前使用的第一蓝牙音频通道切换至优先级最高的蓝牙音频通道,即蓝牙媒体音频通道。而由于操作系统已经为蓝牙设备使能蓝牙媒体音频通道,因此在将当前使用的第一蓝牙音频通道切换至蓝牙媒体音频通道后,网易云音乐可以通过蓝牙媒体音频通道向蓝牙设备发送音频数据进行播放。
为了更清楚地图7a所示的实施例中各个功能模块之间的交互过程进行说明,可以参见图7c,图7c所示为该实施例中各个功能模块之间的交互流程图,包括:
S701,排序模块根据蓝牙音频通道的优先级排序,控制目标应用当前使用的第一蓝牙音频通道为优先级最高的蓝牙音频通道。
S702a,排序模块在第一预设存储空间记录用于表示第一蓝牙音频通道的类型的第一数据。
S702b,判断模块从第一预设存储空间读取第一数据,以确定第一蓝牙音频通道的类型。
S703,获取模块获取操作系统为蓝牙设备使能的第二蓝牙音频通道的类型。
S704a,获取模块在第二预设存储空间记录用于表示第二蓝牙音频通道的类型的第二数据。
S704b,判断模块从第二预设存储空间读取第二数据,以确定第二蓝牙音频通道的类型。
S704c,判断模块判断第二蓝牙音频通道的数目是否等于终端设备所支持的蓝牙音频通道的总数。
S705a,若判断模块识别出第二蓝牙音频通道的数目等于终端设备所支持的蓝牙音频通道的总数,则判断第一蓝牙音频通道是否优先级最高的蓝牙音频通道,若是则判断模块执行S705b,若否判断模块则执行S705c。
S705b,判断模块向目标应用发送第六触发指令。
目标应用响应于第六触发指令,通过第一蓝牙音频通道将音频数据发送至蓝牙设备进行播放。
S705c,判断模块向切换模块发送第七触发指令。
S706a,切换模块响应于第七触发指令,将目标应用输出音频数据的蓝牙音频通道切换至优先级最高的蓝牙音频通道。
S706b,切换模块向目标应用发送第八触发指令。
目标应用响应于第八触发指令,通过优先级最高的蓝牙音频通道将音频数据发送至蓝牙设备进行播放。
对应于前述音频播放方法,本申请还提供了一种终端设备,参见图8,图8所示为本申请提供的终端设备的一种功能模块结构示意图,包括:
获取模块801,用于获取目标应用当前使用的第一蓝牙音频通道的类型以及所述终端设备为蓝牙设备使能的第二蓝牙音频通道的类型;
判断模块802,用于识别所述第一蓝牙音频通道的类型和所述第二蓝牙音频通道的类型是否匹配;
切换模块803,用于若不匹配,则将所述目标应用当前使用的第一蓝牙音频通道切换至所述第二蓝牙音频通道;并控制所述目标应用通过所述第二蓝牙音频通道将音频数据发送至所述蓝牙设备进行播放。
终端设备可以通过第一蓝牙音频通道的类型和第二蓝牙音频通道的类型是否匹配,确定终端设备内对该外接蓝牙设备的第一蓝牙音频通道是否被操作系统使能,进而在第一蓝牙音频通道未被使能的情况下,及时切换目标应用所使用的第一蓝牙音频通道,以使得目标应用通过已使能的第二蓝牙音频通道输出音频数据。从而有效避免了因蓝牙音频通道不匹配导致的蓝牙设备无法播放来自目标应用的音频数据的问题,保证了应用能够成功通过蓝牙设备进行播放。满足了用户在使用过程中无需任何手动选择配置即可实现蓝牙播放的期望。本申请由于是终端自动识别第一蓝牙音频通道的类型和第二蓝牙音频通道的类型是否匹配,且在不匹配情况下自动切换目标应用的蓝牙音频通道类型,切换快捷,使得用户无感知,用户体验性好。
在一种可能的实施例中,所述获取模块801获取所述终端设备的操作系统为所述蓝牙设备使能的第二蓝牙音频通道的类型,包括:
重复获取所述终端设备的操作系统为所述蓝牙设备使能的第二蓝牙音频通道的类型,直至所述终端设备识别出到达预设时长阈值;
所述判断模块802识别所述第一蓝牙音频通道的类型和所述第二蓝牙音频通道的类型是否匹配,包括:
识别所述第一蓝牙音频通道的类型和最新获取的第二蓝牙音频通道的类型是否匹配。
在一种可能的实施例中,所述获取模块801,还用于当获取所述第二蓝牙音频通道的类型,若所述终端设备识别出所述第一蓝牙音频通道的类型与最新获取的第二蓝牙音频通道的类型匹配,则终止重复确定所述终端设备的操作系统为所述蓝牙设备使能的第二蓝牙音频通道。
在一种可能的实施例中,所述切换模块803,还用于禁止所述目标应用输出音频数据,直至所述切换模块执行所述控制所述目标应用通过所述第二蓝牙音频通道将音频数据发送至所述蓝牙设备进行播放的步骤。
在一种可能的实施例中,所述切换模块803,还用于若识别出所述第一蓝牙音频通道的类型与第一次获取到的第二蓝牙音频通道的类型不匹配,则将目标应用输出音频数据切换至第三音频通道,其中,所述第三音频通道为非蓝牙音频通道。
在一种可能的实施例中,所述终端设备还包括排序模块,用于若识别出所述第一蓝牙音频通道不为优先级最高的蓝牙音频通道,则驱动所述切换模块将所述目标应用当前使用的第一蓝牙音频通道切换至优先级最高的蓝牙音频通道。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一音频播放方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一音频播放方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于终端设备、装置、计算机可读存储介质以及计算机程序产品的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (13)

1.一种音频播放方法,其特征在于,应用于终端设备,所述方法包括:
获取目标应用当前使用的第一蓝牙音频通道的类型以及所述终端设备为蓝牙设备使能的第二蓝牙音频通道的类型;
若识别出所述第一蓝牙音频通道的类型和所述第二蓝牙音频通道的类型不匹配,则将所述目标应用当前使用的第一蓝牙音频通道切换至所述第二蓝牙音频通道;
控制所述目标应用通过所述第二蓝牙音频通道将音频数据发送至所述蓝牙设备进行播放。
2.根据权利要求1所述的方法,其特征在于,所述获取所述终端设备为所述蓝牙设备使能的第二蓝牙音频通道的类型,包括:
重复获取所述终端设备为所述蓝牙设备使能的第二蓝牙音频通道的类型,直至所述终端设备识别出到达预设时长阈值;
所述若识别出所述第一蓝牙音频通道的类型与所述第二蓝牙音频通道的类型不匹配,则将所述目标应用当前使用的第一蓝牙音频通道切换至所述第二蓝牙音频通道,包括:
若识别出到达所述预设时长阈值且所述第一蓝牙音频通道的类型与最新获取的第二蓝牙音频通道的类型不匹配,则将所述目标应用当前使用的第一蓝牙音频通道切换至所述第二蓝牙音频通道。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当获取所述第二蓝牙音频通道的类型,若所述终端设备识别出所述第一蓝牙音频通道的类型与最新获取的第二蓝牙音频通道的类型匹配,则终止重复确定所述终端设备为所述蓝牙设备使能的第二蓝牙音频通道。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
禁止所述目标应用输出音频数据,直至所述终端设备执行所述控制所述目标应用通过所述第二蓝牙音频通道将音频数据发送至所述蓝牙设备进行播放的步骤。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若识别出所述第一蓝牙音频通道的类型与第一次获取到的第二蓝牙音频通道的类型不匹配,则将目标应用输出音频数据切换至第三音频通道,其中,所述第三音频通道为非蓝牙音频通道。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若识别出所述第一蓝牙音频通道不为优先级最高的蓝牙音频通道,则将所述目标应用当前使用的第一蓝牙音频通道切换至优先级最高的蓝牙音频通道。
7.一种终端设备,其特征在于,所述终端设备包括:
获取模块,用于获取目标应用当前使用的第一蓝牙音频通道的类型以及所述终端设备为蓝牙设备使能的第二蓝牙音频通道的类型;
判断模块,用于识别所述第一蓝牙音频通道的类型和所述第二蓝牙音频通道的类型是否匹配;
切换模块,用于若不匹配,则将所述目标应用当前使用的第一蓝牙音频通道切换至所述第二蓝牙音频通道;并控制所述目标应用通过所述第二蓝牙音频通道将音频数据发送至所述蓝牙设备进行播放。
8.根据权利要求7所述的终端设备,其特征在于,所述获取模块获取所述终端设备为所述蓝牙设备使能的第二蓝牙音频通道的类型,包括:
重复获取所述终端设备为所述蓝牙设备使能的第二蓝牙音频通道的类型,直至所述终端设备识别出到达预设时长阈值;
所述判断模块识别所述第一蓝牙音频通道的类型和所述第二蓝牙音频通道的类型是否匹配,包括:
识别所述第一蓝牙音频通道的类型和最新获取的第二蓝牙音频通道的类型是否匹配。
9.根据权利要求8所述的终端设备,所述获取模块,还用于当获取所述第二蓝牙音频通道的类型,若所述终端设备识别出所述第一蓝牙音频通道的类型与最新获取的第二蓝牙音频通道的类型匹配,则终止重复确定所述终端设备为所述蓝牙设备使能的第二蓝牙音频通道。
10.根据权利要求8所述的终端设备,其特征在于,所述切换模块,还用于禁止所述目标应用输出音频数据,直至所述切换模块执行所述控制所述目标应用通过所述第二蓝牙音频通道将音频数据发送至所述蓝牙设备进行播放的步骤。
11.根据权利要求8所述的终端设备,其特征在于,所述切换模块,还用于若识别出所述第一蓝牙音频通道的类型与第一次获取到的第二蓝牙音频通道的类型不匹配,则将目标应用输出音频数据切换至第三音频通道,其中,所述第三音频通道为非蓝牙音频通道。
12.根据权利要求7所述的终端设备,其特征在于,所述终端设备还包括排序模块,用于若识别出所述第一蓝牙音频通道不为优先级最高的蓝牙音频通道,则驱动所述切换模块将所述目标应用当前使用的第一蓝牙音频通道切换至优先级最高的蓝牙音频通道。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
CN202111502407.0A 2021-12-10 2021-12-10 一种音频播放方法及终端设备 Active CN113950037B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111502407.0A CN113950037B (zh) 2021-12-10 2021-12-10 一种音频播放方法及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111502407.0A CN113950037B (zh) 2021-12-10 2021-12-10 一种音频播放方法及终端设备

Publications (2)

Publication Number Publication Date
CN113950037A true CN113950037A (zh) 2022-01-18
CN113950037B CN113950037B (zh) 2022-05-06

Family

ID=79339113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111502407.0A Active CN113950037B (zh) 2021-12-10 2021-12-10 一种音频播放方法及终端设备

Country Status (1)

Country Link
CN (1) CN113950037B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024125492A1 (zh) * 2022-12-15 2024-06-20 西安紫光展锐科技有限公司 音频输出设备切换方法及装置、计算机可读存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202145660U (zh) * 2011-06-30 2012-02-15 豪威科技(上海)有限公司 一种具有语音通话转移处理功能的蓝牙音箱
CN104618571A (zh) * 2014-12-19 2015-05-13 惠州Tcl移动通信有限公司 基于蓝牙协议实现通话音频切换的方法及移动终端
US20150194515A1 (en) * 2014-01-06 2015-07-09 Kelly James Heily Programmable antenna controlled impedance mosfet
CN105872874A (zh) * 2016-04-20 2016-08-17 广东欧珀移动通信有限公司 应用于蓝牙耳机的终端程序控制方法和装置
CN106792309A (zh) * 2016-12-15 2017-05-31 珠海市杰理科技股份有限公司 通用型耳机
CN107436680A (zh) * 2016-05-27 2017-12-05 板牙信息科技(上海)有限公司 用于切换车载设备的应用模式的方法和设备
US20190132666A1 (en) * 2016-04-20 2019-05-02 Huawei Technologies Co., Ltd. Headset Sound Channel Control Method and System, and Related Device
CN110890905A (zh) * 2019-11-22 2020-03-17 三星电子(中国)研发中心 一种控制音频输出的方法和使用该方法的电子装置
CN111405105A (zh) * 2020-03-20 2020-07-10 深圳市未艾智能有限公司 用于控制蓝牙耳机的方法和装置、蓝牙耳机及存储介质
CN112469009A (zh) * 2019-09-06 2021-03-09 中兴通讯股份有限公司 一种蓝牙数据传输方法、装置、终端及存储介质
CN112882622A (zh) * 2021-02-09 2021-06-01 北京小米移动软件有限公司 数据处理方法及装置、终端、存储介质
CN113132959A (zh) * 2019-12-31 2021-07-16 荣耀终端有限公司 无线音频系统、无线通讯方法及设备

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202145660U (zh) * 2011-06-30 2012-02-15 豪威科技(上海)有限公司 一种具有语音通话转移处理功能的蓝牙音箱
US20150194515A1 (en) * 2014-01-06 2015-07-09 Kelly James Heily Programmable antenna controlled impedance mosfet
CN104618571A (zh) * 2014-12-19 2015-05-13 惠州Tcl移动通信有限公司 基于蓝牙协议实现通话音频切换的方法及移动终端
CN105872874A (zh) * 2016-04-20 2016-08-17 广东欧珀移动通信有限公司 应用于蓝牙耳机的终端程序控制方法和装置
US20190132666A1 (en) * 2016-04-20 2019-05-02 Huawei Technologies Co., Ltd. Headset Sound Channel Control Method and System, and Related Device
CN107436680A (zh) * 2016-05-27 2017-12-05 板牙信息科技(上海)有限公司 用于切换车载设备的应用模式的方法和设备
CN106792309A (zh) * 2016-12-15 2017-05-31 珠海市杰理科技股份有限公司 通用型耳机
CN112469009A (zh) * 2019-09-06 2021-03-09 中兴通讯股份有限公司 一种蓝牙数据传输方法、装置、终端及存储介质
CN110890905A (zh) * 2019-11-22 2020-03-17 三星电子(中国)研发中心 一种控制音频输出的方法和使用该方法的电子装置
CN113132959A (zh) * 2019-12-31 2021-07-16 荣耀终端有限公司 无线音频系统、无线通讯方法及设备
CN111405105A (zh) * 2020-03-20 2020-07-10 深圳市未艾智能有限公司 用于控制蓝牙耳机的方法和装置、蓝牙耳机及存储介质
CN112882622A (zh) * 2021-02-09 2021-06-01 北京小米移动软件有限公司 数据处理方法及装置、终端、存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ETSI SECRETARIAT: "R5-200009 "Post Plenary Active Work Item update"", 《3GPP TSG_RAN\WG5_TEST_EX-T1》 *
王军选,孙小娟: "基于信噪比预测的蓝牙自适应分组选择策略", 《光通信研究》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024125492A1 (zh) * 2022-12-15 2024-06-20 西安紫光展锐科技有限公司 音频输出设备切换方法及装置、计算机可读存储介质

Also Published As

Publication number Publication date
CN113950037B (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
US20220295027A1 (en) Projection display method and electronic device
CN110381485B (zh) 蓝牙通信方法、tws蓝牙耳机及终端
CN111132234B (zh) 一种数据传输方法及对应的终端
CN117909082B (zh) 占用设备的方法以及电子设备
CN113993226B (zh) 支持双卡的终端设备中业务处理方法和装置
CN113708858B (zh) 一种信号处理方法及无线网络接入设备
CN114466097A (zh) 防漏音的移动终端及移动终端的声音输出方法
CN112469012A (zh) 一种蓝牙通信方法及相关装置
CN113126948A (zh) 一种音频播放方法及相关设备
CN114996168A (zh) 一种多设备协同测试方法、测试设备及可读存储介质
CN114205336A (zh) 跨设备音频播放方法、移动终端、电子设备及存储介质
CN113950037B (zh) 一种音频播放方法及终端设备
CN116795753A (zh) 音频数据的传输处理的方法及电子设备
WO2024131110A1 (zh) 一种短距离通信的方法、装置和电子设备
CN109285563B (zh) 在线翻译过程中的语音数据处理方法及装置
CN113497851A (zh) 控制显示方法及电子设备
CN113963732B (zh) 音频播放方法和终端设备
CN113099734B (zh) 天线切换方法及装置
CN114830608A (zh) 一种多路http通道复用的方法及终端
CN113099500B (zh) 小区的测量方法、装置和用户设备
CN114449492B (zh) 数据传输方法及终端设备
CN114697953B (zh) 一种网络制式确定方法及装置
WO2024067432A1 (zh) 一种音频传输方法、系统以及相关装置
WO2023165513A1 (zh) 通信方法、电子设备及装置
CN116918336A (zh) 一种直播方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant