CN106648538A - 一种移动终端的音频播放方法及移动终端 - Google Patents

一种移动终端的音频播放方法及移动终端 Download PDF

Info

Publication number
CN106648538A
CN106648538A CN201611262596.8A CN201611262596A CN106648538A CN 106648538 A CN106648538 A CN 106648538A CN 201611262596 A CN201611262596 A CN 201611262596A CN 106648538 A CN106648538 A CN 106648538A
Authority
CN
China
Prior art keywords
audio data
data
playing
play
audio
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
CN201611262596.8A
Other languages
English (en)
Other versions
CN106648538B (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.)
Vivo Mobile Communication Co Ltd
Original Assignee
Vivo Mobile Communication 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 Vivo Mobile Communication Co Ltd filed Critical Vivo Mobile Communication Co Ltd
Priority to CN201611262596.8A priority Critical patent/CN106648538B/zh
Publication of CN106648538A publication Critical patent/CN106648538A/zh
Application granted granted Critical
Publication of CN106648538B publication Critical patent/CN106648538B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Abstract

本发明提供了一种移动终端的音频播放方法及移动终端,该方法包括:检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据需要进行播放;当所述第一音频数据和所述第二音频数据均需要进行播放时,播放所述第一音频数据,丢弃在所述第一音频数据的播放过程中需要进行播放的所述第二音频数据,并向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。因此,本发明的实施例,有效解决了通过软件解码获得的音频数据和通过硬件解码获得的音频数据同时存在时,容易产生播放异常的问题。

Description

一种移动终端的音频播放方法及移动终端
技术领域
本发明涉及移动终端技术领域,尤其涉及一种移动终端的音频播放方法及移动终端。
背景技术
目前支持智能手机的直接比特流数字编码(Direct Stream Digital,DSD)音频硬件解码的芯片比较少,现在用于DSD音频硬件解码的芯片主要集成在数字模拟转换器(DAC)芯片内部。其中,DSD音频硬件解码要求的数据格式是标准的Dop(DSD over PCM)协议。所以,在数据格式上面,软件解码和硬件解码是不一样的。因此,软件解码和硬件解码在智能手机软件处理上面播放通路是不一样的。
当多路音频数据同时播放,如果都是脉冲编码调制(Pulse Code Modulation,PCM)数据,是可以直接进行叠加,然后再传输和播放。但是,如果其中存在DSD格式的音频数据,则没有办法和PCM直接叠加起来播放,只能取其一进行传输和播放。而且,现有技术中,在DSD格式的音频数据在播放过程中,存在PCM数据时,容易产生播放异常。
发明内容
本发明的目的在于提供一种移动终端的音频播放方法及移动终端,以解决通过软件解码获得的音频数据和通过硬件解码获得的音频数据同时存在时,容易产生播放异常的问题。
本发明的实施例提供了一种移动终端的音频播放方法,包括:
检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据需要进行播放;
当所述第一音频数据和所述第二音频数据均需要进行播放时,播放所述第一音频数据,丢弃在所述第一音频数据的播放过程中需要进行播放的所述第二音频数据,并向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
本发明的实施例还提供了一种移动终端,包括:
第一检测模块,用于检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据需要进行播放;
第一播放控制模块,用于当所述第一检测模块检测到所述第一音频数据和所述第二音频数据均需要进行播放时,播放所述第一音频数据,丢弃在所述第一音频数据的播放过程中需要进行播放的所述第二音频数据,并向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
本发明实施例的有益效果是:
本发明的实施例,能够在同时存在硬件解码的音频数据和软件解码的音频数据需要进行播放时,优先播放硬件解码的音频数据,并丢弃在硬件解码的音频数据的播放过程中需要播放的软件解码的音频数据,并向播放软件解码的音频数据的应用程序发送被丢弃的音频数据已播放完成的消息,从而有效避免该应用程序由于播放不了数据而进入异常状态,有效解决软件解码的音频数据和硬件解码的音频数据同时存在时,容易产生播放异常的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1表示本发明第一实施例的移动终端的音频播放方法的流程图;
图2表示本发明第二实施例的移动终端的音频播放方法的流程图;
图3表示本发明第二实施例中移动终端的音频播放方法的具体实施流程示意图;
图4表示本发明第三实施例的移动终端的结构框图之一;
图5表示本发明第三实施例的移动终端的结构框图之二;
图6表示本发明第四实施例的移动终端的结构框图;
图7表示本发明第五实施例的移动终端的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一实施例
本发明的实施例提供了一种移动终端的音频播放方法,如图1所示,该方法包括:
步骤101:检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据需要进行播放。
其中,硬件解码即DSD音频硬件解码,则通过硬件解码获得的第一音频数据为DSD数据。用于DSD音频硬件解码的芯片主要集成在数字模拟转换器(DAC)芯片内部,并且DSD音频硬件解码要求的数据格式是标准的Dop(DSD over PCM)协议。
软件解码是中央处理器(CPU)解码,即将mp3、flac、ape、wav、dff等各种格式的文件转换为PCM数据。因此,所述第二音频数据为PCM数据。
步骤102:当所述第一音频数据和所述第二音频数据均需要进行播放时,播放所述第一音频数据,丢弃在所述第一音频数据的播放过程中需要进行播放的所述第二音频数据,并向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
当通过步骤101检测到存在所述第一音频数据需要进行播放,且存在所述第二音频数据需要进行播放,即同时存在DSD数据和PCM数据需要进行播放时,本发明的实施例,优先播放DSD数据,并丢弃在DSD数据的播放过程中需要播放的PCM数据,并向用于播放PCM数据的应用程序发送被丢弃的那部分PCM数据已播放完成的消息。
即,当同时存在DSD数据和PCM数据需要播放时,优先播放DSD数据,并模拟需要播放的PCM数据的播放过程,假设在DSD数据的播放过程中,需要播放的PCM数据播放了(但实际没有播放),并告知用于播放PCM数据的应用程序,该部分PCM数据已播放完成,从而避免了用于播放PCM数据的应用程序由于播放不了数据而进入异常状态,并且不会影响DSD数据的播放。
其中,具体地,若在第一音频数据的播放过程中,检测到存在第二音频数据播放,则将需要播放的第二音频数据丢弃,并向用于播放第二音频数据的应用程序发送被丢弃的第二音频数据已播放完成的消息;若再第二音频数据的播放过程中,检测到存在第一音频数据需要播放,则开始播放第一音频数据,并将第一音频数据播放过程中需要播放的第二音频数据丢弃,并向用于播放第二音频数据的应用程序发送被丢弃的第二音频数据已播放完成的消息。
例如,当用户利用移动终端欣赏DSD高品质音乐时,该移动终端触发了某一提示音需要播放,且该提示音为PCM数据,则保持DSD高品质音乐的正常播放,并模拟PCM数据的播放(但实际并未播放),并告知用于播放PCM数据的应用程序,所送的PCM数据已经播放完毕,从而既能够使得用户不受系统中提示音的影响欣赏DSD高品质音乐,又避免了用于播放PCM数据的应用程序进入播放异常。
综上所述,本发明的实施例,能够在同时存在硬件解码的音频数据和软件解码的音频数据需要进行播放时,优先播放硬件解码的音频数据,并丢弃在硬件解码的音频数据的播放过程中需要播放的软件解码的音频数据,并向播放软件解码的音频数据的应用程序发送被丢弃的音频数据已播放完成的消息,从而有效避免该应用程序由于播放不了数据而进入异常状态,有效解决软件解码的音频数据和硬件解码的音频数据同时存在时,容易产生播放异常的问题,提升了用户体验。
第二实施例
本发明的实施例提供了一种移动终端的音频播放方法,如图2所示,该方法包括:
步骤201:检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据需要进行播放。
其中,硬件解码即DSD音频硬件解码,则通过硬件解码获得的第一音频数据为DSD数据。用于DSD音频硬件解码的芯片主要集成在数字模拟转换器(DAC)芯片内部,并且DSD音频硬件解码要求的数据格式是标准的Dop(DSD over PCM)协议。
另外,移动终端所应用的安卓系统框架包括有应用层(Application)、框架层(Framework)、硬件抽象层(HAL)和音频驱动层(TinyAlsa)。当需要播放音频数据时,该音频数据会通过相应的音频通路传输到硬件抽象层,进而传输到音频驱动层进行播放。因此,可以依据硬件抽象层中是否存在第一音频数据来检测是否存在第一音频数据需要进行播放。
其中,软件解码是中央处理器(CPU)解码,即将mp3、flac、ape、wav、dff等各种格式的文件转换为PCM数据。因此,所述第二音频数据为PCM数据。
此外,与检测是否存在第一音频数据需要进行播放的具体过程一样,也可以通过判断硬件抽象层中是否存在第二音频数据来检测是否存在第二音频数据需要进行播放。
因此,优选地,步骤201包括:检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据传输到硬件抽象层;若存在所述第一音频数据传输到所述硬件抽象层,则确定存在通过硬件解码获得的第一音频数据需要进行播放;若存在所述第二音频数据传输到所述硬件抽象层,则确定存在通过软件解码获得的第二音频数据需要进行播放。
步骤202:当所述第一音频数据和所述第二音频数据均需要进行播放时,播放所述第一音频数据,丢弃在所述第一音频数据的播放过程中需要进行播放的所述第二音频数据,并向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
即当同时存在DSD数据和PCM数据需要进行播放时,本发明的实施例,优先播放DSD数据,并丢弃在DSD数据的播放过程中需要播放的PCM数据(即模拟需要播放的PCM数据的播放过程,假设其成功播放了),并向用于播放PCM数据的应用程序发送被丢弃的那部分PCM数据已播放完成的消息,从而避免了用于播放PCM数据的应用程序由于播放不了数据而进入异常状态,并且不会影响DSD数据的播放。
其中,具体地,若在第一音频数据的播放过程中,检测到存在第二音频数据播放,则将需要播放的第二音频数据丢弃,并向用于播放第二音频数据的应用程序发送被丢弃的第二音频数据的播放完成消息;若在第二音频数据的播放过程中,检测到存在第一音频数据需要播放,则开始播放第一音频数据,并将第一音频数据播放过程中需要播放的第二音频数据丢弃,并向用于播放第二音频数据的应用程序发送被丢弃的第二音频数据已播放完成的消息。
例如,当用户利用移动终端欣赏DSD高品质音乐时,该移动终端触发了某一提示音需要播放,且该提示音为PCM数据,则保持DSD高品质音乐的正常播放,并模拟PCM数据的播放(但实际并未播放),并告知用于播放PCM数据的应用程序,所送的PCM数据已经播放完毕,从而既能够使得用户不受系统中提示音的影响欣赏DSD高品质音乐,又避免了用于播放PCM数据的应用程序进入播放异常。
另外,移动终端所应用的安卓系统框架包括有应用层(Application)、框架层(Framework)、硬件抽象层(HAL)和音频驱动层(TinyAlsa)。当需要播放音频数据时,该音频数据会通过相应的音频通路传输到硬件抽象层,进而传输到音频驱动层进行播放,并且只有音频数据传输到音频驱动层才能成功进行播放。
所以,具体地,当存在所述第一音频数据需要进行播放,且存在所述第二音频数据需要进行播放时,保持第一音频数据从硬件抽象层向音频驱动层的传输,使得第一音频数据正常播放,同时丢弃在此过程中传输到硬件抽象层中的第二音频数据,即使得该部分第二音频数据无法从硬件抽象层向音频驱动层的传输,从而使得该部分第二音频数据无法播放,进而使得第二音频数据的播放不会影响第一音频数据的播放。
优选地,所述向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息的步骤,包括:获取被丢弃的第二音频数据的播放时长,作为目标延迟时间,并将第二音频数据在所述硬件抽象层的传输延迟所述目标延迟时间;当所述目标延迟时间到达时,向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
即本发明的实施例中,当第一音频数据和第二音频数据同时需要播放时,丢弃在第一音频数据的播放过程中传输到硬件抽象层中的第二音频数据,并将第二音频数据在硬件抽象层中的传输延迟目标延迟时间(即被丢弃的第二音频数据的播放时长),即将第二音频数据的播放线程延迟目标延迟时间,使得丢弃部分第二音频数据后,第二音频数据的播放线程与未丢弃部分第二音频数据时的播放线程保持一致,从而进一步保证第二音频数据的后续正常播放。
此外,一般地,用于播放音频数据的应用程序在将需要播放的音频数据按照数据片段依次向下层传输的过程中,只有接收到返回的相应数据片段的时长才会继续向下层传输音频数据,若超过预设时间仍然未收到相应数据片段的时长,则会进入播放异常。因此,可将被丢弃的第二音频数据的时长作为被丢弃的第二音频数据已播放完成的消息,返回给用于播放第二音频数据的应用程序,从而便于本发明的实施例通过软件编程进行实施。
例如,被丢弃的某一第二音频数据的数据片段的时长为10毫秒,则硬件抽象层向框架层返回的该数据片段已播放完成的消息为10毫秒的时长。
进一步地,上述当所述目标延迟时间到达时,向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息的步骤,具体为:当所述目标延迟时间到达时,通过框架层向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。即硬件抽象层可将被丢弃的第二音频数据已播放完成的消息返回到框架层,从而使得用于播放第二音频数据的应用程序可以从框架层获得该消息。
步骤203:当所述第一音频数据的数据流中断时,检测是否存在通过软件解码获得的第二音频数据需要进行播放。
本发明的实施例中,当第一音频数据的数据流中断时,开始播放第二音频数据。因此,当第一音频数据的数据流中断时,需要进一步判断是否存在第二音频数据需要播放。
其中,移动终端所应用的安卓系统框架包括有应用层(Application)、框架层(Framework)、硬件抽象层(HAL)和音频驱动层(TinyAlsa)。当需要播放音频数据时,该音频数据会通过相应的音频通路传输到硬件抽象层,进而传输到音频驱动层进行播放。因此,可以依据硬件抽象层中是否存在第二音频数据来检测是否存在第二音频数据需要进行播放。
即优选地,步骤203包括:检测是否存在通过软件解码获得的第二音频数据传输到硬件抽象层;若存在所述第二音频数据传输到所述硬件抽象层,则确定存在通过硬件解码获得的第二音频数据需要进行播放。
步骤204:若存在所述第二音频数据需要进行播放,则开始播放该第二音频数据。
当检测到存在第二音频数据传输到硬件抽象层时,将该部分第二音频数据继续从硬件抽象层传输至音频驱动层,从而使得第二音频数据可以成功播放。
综上所述,如图3所示,当移动终端的上层系统中将mp3/wav/ogg等格式解码为PCM数据,并建立PCM播放通路并传送数据,将DSD格式音乐解析打包为DOP格式并建立DOP通路后,若PCM通路传输数据到HAL层时,PCM通路会判断当前系统是否有在播放DOP数据,如果有则将音频解码芯片以DSD模式播放,并丢弃传输到HAL层的PCM数据并通过HAL层模拟写被丢弃的PCM数据的延迟,然后通知上层。同样,当DOP数据传输到HAL层时,DOP通路会判断当前系统是否在播放PCM数据,如果有则将PCM数据丢弃,并通过HAL层模拟写被丢弃的PCM数据的延迟然后通知上层,同时将音频解码芯片以PCM模式播放。
由上述可知,本发明的实施例,能够在同时存在硬件解码的音频数据和软件解码的音频数据需要进行播放时,优先播放硬件解码的音频数据,并丢弃在硬件解码的音频数据的播放过程中需要播放的软件解码的音频数据,并向播放软件解码的音频数据的应用程序发送被丢弃的音频数据已播放完成的消息,从而有效避免该应用程序由于播放不了数据而进入异常状态,有效解决软件解码的音频数据和硬件解码的音频数据同时存在时,容易产生播放异常的问题。此外,本发明的实施例,还能够在硬件解码的音频数据的数据流中断时,恢复对软件解码的音频数据的播放,进一步提升了用户体验。
第三实施例
本发明的实施例提供了一种移动终端,如图4所示,该移动终端400包括:
第一检测模块401,用于检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据需要进行播放;
第一播放控制模块402,用于当所述第一检测模块401检测到所述第一音频数据和所述第二音频数据均需要进行播放时,播放所述第一音频数据,丢弃在所述第一音频数据的播放过程中需要进行播放的所述第二音频数据,并向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
优选地,如图5所示,所述移动终端400还包括:
第二检测模块403,用于当所述第一音频数据的数据流中断时,检测是否存在通过软件解码获得的第二音频数据需要进行播放;
第二播放控制模块404,用于若所述第二检测模块403检测到存在所述第二音频数据需要进行播放,则开始播放该第二音频数据。
优选地,如图5所示,所述第一检测模块401包括:
第一检测单元4011,用于检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据传输到硬件抽象层;
第一确定单元4012,用于若所述第一检测单元4011检测到存在所述第一音频数据传输到所述硬件抽象层,则确定存在通过硬件解码获得的第一音频数据需要进行播放;
第二确定单元4013,用于若所述第一检测单元4011检测到存在所述第二音频数据传输到所述硬件抽象层,则确定存在通过软件解码获得的第二音频数据需要进行播放。
优选地,所述第一播放控制模块402包括:
延迟单元4021,用于获取被丢弃的第二音频数据的播放时长,作为目标延迟时间,并将第二音频数据在所述硬件抽象层的传输延迟所述目标延迟时间;
消息返回单元4022,用于当所述目标延迟时间到达时,向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
优选地,所述消息返回单元4022具体用于:
当所述目标延迟时间到达时,通过框架层向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
本发明的实施例,通过第一检测模块401检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据需要进行播放,进而当所述第一音频数据和所述第二音频数据均需要进行播放时,触发第一播放控制模块402播放所述第一音频数据,丢弃在所述第一音频数据的播放过程中需要进行播放的所述第二音频数据,并向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。因此,本发明的实施例,能够有效避免该应用程序由于播放不了数据而进入异常状态,有效解决软件解码的音频数据和硬件解码的音频数据同时存在时,容易产生播放异常的问题。
第四实施例
如图6所示,为本发明的第四实施例中移动终端的结构框图。图6所示的移动终端600包括:至少一个处理器601、存储器602、至少一个网络接口604、其他用户接口603。移动终端600中的各个组件通过总线系统605耦合在一起。可理解,总线系统605用于实现这些组件之间的连接通信。总线系统605除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统605。
其中,用户接口603可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏。
可以理解,本发明实施例中的存储器602可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本发明实施例描述的系统和方法的存储器602旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器602存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统6021和应用程序6022。
其中,操作系统6021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序6022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在操作系统6021中。
在本发明实施例中,通过调用存储器602存储的程序或指令,具体的,可以是应用程序6022中存储的程序或指令。
在本发明实施例中,处理器601用于检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据需要进行播放;当所述第一音频数据和所述第二音频数据均需要进行播放时,播放所述第一音频数据,丢弃在所述第一音频数据的播放过程中需要进行播放的所述第二音频数据,并向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
上述本发明实施例揭示的方法可以应用于处理器601中,或者由处理器601实现。处理器601可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器601可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器602,处理器601读取存储器602中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本发明实施例描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital SignalProcessor,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(ProgrammableLogic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请功能的其它电子单元或其组合中。
对于软件实现,可通过执行本发明实施例功能的模块(例如过程、函数等)来实现本发明实施例的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,处理器601还用于:当所述第一音频数据的数据流中断时,检测是否存在通过软件解码获得的第二音频数据需要进行播放;若存在所述第二音频数据需要进行播放,则开始播放该第二音频数据。
可选地,处理器601在检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据需要进行播放时,具体用于:检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据传输到硬件抽象层;若存在所述第一音频数据传输到所述硬件抽象层,则确定存在通过硬件解码获得的第一音频数据需要进行播放;若存在所述第二音频数据传输到所述硬件抽象层,则确定存在通过软件解码获得的第二音频数据需要进行播放。
可选地,所述处理器601在向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息时,具体用于:获取被丢弃的第二音频数据的播放时长,作为目标延迟时间,并将第二音频数据在所述硬件抽象层的传输延迟所述目标延迟时间;当所述目标延迟时间到达时,向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
可选地,处理器601在所述目标延迟时间到达时,向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息时,具体用于:当所述目标延迟时间到达时,通过框架层向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
移动终端600能够实现前述实施例中移动终端实现的各个过程,为避免重复,这里不再赘述。
本发明的上述实施例中提供的移动终端600,能够在同时存在硬件解码的音频数据和软件解码的音频数据需要进行播放时,优先播放硬件解码的音频数据,并丢弃在硬件解码的音频数据的播放过程中需要播放的软件解码的音频数据,并向播放软件解码的音频数据的应用程序发送被丢弃的音频数据已播放完成的消息,从而有效避免该应用程序由于播放不了数据而进入异常状态,有效解决软件解码的音频数据和硬件解码的音频数据同时存在时,容易产生播放异常的问题。
第五实施例
图7是本发明第五实施例的移动终端的结构示意图。具体地,图7中的移动终端700可以为手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、或车载电脑等。
图7中的移动终端700包括射频(Radio Frequency,RF)电路710、存储器720、输入单元730、显示单元740、处理器760、音频电路770、WiFi(Wireless Fidelity)模块780、电源790。
其中,输入单元730可用于接收用户输入的数字或字符信息,以及产生与移动终端700的用户设置以及功能控制有关的信号输入。具体地,本发明实施例中,该输入单元730可以包括触控面板731。触控面板731,也称为触摸屏,摄像头等。其中,触摸屏可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给该处理器760,并能接收处理器760发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
其中,显示单元740可用于显示由用户输入的信息或提供给用户的信息以及移动终端700的各种菜单界面。显示单元740可包括显示面板741,可选的,可以采用LCD或有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板741。
应注意,触控面板731可以覆盖显示面板741,形成触摸显示屏,当该触摸显示屏检测到在其上或附近的触摸操作后,传送给处理器760以确定触摸事件的类型,随后处理器760根据触摸事件的类型在触摸显示屏上提供相应的视觉输出。
触摸显示屏包括应用程序界面显示区及常用控件显示区。该应用程序界面显示区及该常用控件显示区的排列方式并不限定,可以为上下排列、左右排列等可以区分两个显示区的排列方式。该应用程序界面显示区可以用于显示应用程序的界面。每一个界面可以包含至少一个应用程序的图标和/或widget桌面控件等界面元素。该应用程序界面显示区也可以为不包含任何内容的空界面。该常用控件显示区用于显示使用率较高的控件,例如,设置按钮、界面编号、滚动条、电话本图标等应用程序图标等。
其中,处理器760是移动终端700的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在第一存储器721内的软件程序和/或模块,以及调用存储在第二存储器722内的数据,执行移动终端700的各种功能和处理数据,从而对移动终端700进行整体监控。可选的,处理器760可包括一个或多个处理单元。
在本发明实施例中,处理器760用于检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据需要进行播放;当所述第一音频数据和所述第二音频数据均需要进行播放时,播放所述第一音频数据,丢弃在所述第一音频数据的播放过程中需要进行播放的所述第二音频数据,并向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
可选地,处理器760还用于:当所述第一音频数据的数据流中断时,检测是否存在通过软件解码获得的第二音频数据需要进行播放;若存在所述第二音频数据需要进行播放,则开始播放该第二音频数据。
可选地,处理器760在检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据需要进行播放时,具体用于:检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据传输到硬件抽象层;若存在所述第一音频数据传输到所述硬件抽象层,则确定存在通过硬件解码获得的第一音频数据需要进行播放;若存在所述第二音频数据传输到所述硬件抽象层,则确定存在通过软件解码获得的第二音频数据需要进行播放。
可选地,所述处理器760在向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息时,具体用于:获取被丢弃的第二音频数据的播放时长,作为目标延迟时间,并将第二音频数据在所述硬件抽象层的传输延迟所述目标延迟时间;当所述目标延迟时间到达时,向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
可选地,处理器760在所述目标延迟时间到达时,向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息时,具体用于:当所述目标延迟时间到达时,通过框架层向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息
移动终端700能够实现前述实施例中移动终端实现的各个过程,为避免重复,这里不再赘述。
可见,本发明的上述实施例中提供的移动终端700,能够在同时存在硬件解码的音频数据和软件解码的音频数据需要进行播放时,优先播放硬件解码的音频数据,并丢弃在硬件解码的音频数据的播放过程中需要播放的软件解码的音频数据,并向播放软件解码的音频数据的应用程序发送该部分音频数据已播放完成的消息,从而有效避免该应用程序由于播放不了数据而进入异常状态,有效解决软件解码的音频数据和硬件解码的音频数据同时存在时,容易产生播放异常的问题。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种移动终端的音频播放方法,其特征在于,包括:
检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据需要进行播放;
当所述第一音频数据和所述第二音频数据均需要进行播放时,播放所述第一音频数据,丢弃在所述第一音频数据的播放过程中需要进行播放的所述第二音频数据,并向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一音频数据的数据流中断时,检测是否存在通过软件解码获得的第二音频数据需要进行播放;
若存在所述第二音频数据需要进行播放,则开始播放该第二音频数据。
3.根据权利要求1所述的方法,其特征在于,所述检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据需要进行播放的步骤,包括:
检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据传输到硬件抽象层;
若存在所述第一音频数据传输到所述硬件抽象层,则确定存在通过硬件解码获得的第一音频数据需要进行播放;
若存在所述第二音频数据传输到所述硬件抽象层,则确定存在通过软件解码获得的第二音频数据需要进行播放。
4.根据权利要求3所述的方法,其特征在于,所述向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息的步骤,包括:
获取被丢弃的第二音频数据的播放时长,作为目标延迟时间,并将第二音频数据在所述硬件抽象层的传输延迟所述目标延迟时间;
当所述目标延迟时间到达时,向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
5.根据权利要求4所述的方法,其特征在于,所述当所述目标延迟时间到达时,向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息的步骤,具体为:
当所述目标延迟时间到达时,通过框架层向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
6.一种移动终端,其特征在于,包括:
第一检测模块,用于检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据需要进行播放;
第一播放控制模块,用于当所述第一检测模块检测到所述第一音频数据和所述第二音频数据均需要进行播放时,播放所述第一音频数据,丢弃在所述第一音频数据的播放过程中需要进行播放的所述第二音频数据,并向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
7.根据权利要求6所述的移动终端,其特征在于,所述移动终端还包括:
第二检测模块,用于当所述第一音频数据的数据流中断时,检测是否存在通过软件解码获得的第二音频数据需要进行播放;
第二播放控制模块,用于若所述第二检测模块检测到存在所述第二音频数据需要进行播放,则开始播放该第二音频数据。
8.根据权利要求6所述的移动终端,其特征在于,所述第一检测模块包括:
第一检测单元,用于检测是否存在通过硬件解码获得的第一音频数据以及通过软件解码获得的第二音频数据传输到硬件抽象层;
第一确定单元,用于若所述第一检测单元检测到存在所述第一音频数据传输到所述硬件抽象层,则确定存在通过硬件解码获得的第一音频数据需要进行播放;
第二确定单元,用于若所述第一检测单元检测到存在所述第二音频数据传输到所述硬件抽象层,则确定存在通过软件解码获得的第二音频数据需要进行播放。
9.根据权利要求8所述的移动终端,其特征在于,所述第一播放控制模块包括:
延迟单元,用于获取被丢弃的第二音频数据的播放时长,作为目标延迟时间,并将第二音频数据在所述硬件抽象层的传输延迟所述目标延迟时间;
消息返回单元,用于当所述目标延迟时间到达时,向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
10.根据权利要求9所述的移动终端,其特征在于,所述消息返回单元具体用于:
当所述目标延迟时间到达时,通过框架层向用于播放所述第二音频数据的应用程序返回被丢弃的第二音频数据已播放完成的消息。
CN201611262596.8A 2016-12-30 2016-12-30 一种移动终端的音频播放方法及移动终端 Active CN106648538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611262596.8A CN106648538B (zh) 2016-12-30 2016-12-30 一种移动终端的音频播放方法及移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611262596.8A CN106648538B (zh) 2016-12-30 2016-12-30 一种移动终端的音频播放方法及移动终端

Publications (2)

Publication Number Publication Date
CN106648538A true CN106648538A (zh) 2017-05-10
CN106648538B CN106648538B (zh) 2018-09-04

Family

ID=58838708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611262596.8A Active CN106648538B (zh) 2016-12-30 2016-12-30 一种移动终端的音频播放方法及移动终端

Country Status (1)

Country Link
CN (1) CN106648538B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109524005A (zh) * 2019-01-24 2019-03-26 深圳市同行者科技有限公司 一种基于安卓系统的车载语音回音消除方法及系统
CN109788343A (zh) * 2018-11-26 2019-05-21 广州微算互联信息技术有限公司 Html网页播放音频流的方法与云手机服务器
CN111556467A (zh) * 2020-03-31 2020-08-18 惠州市德赛西威汽车电子股份有限公司 一种手机互联音频播放处理方法
CN112965684A (zh) * 2019-12-12 2021-06-15 成都鼎桥通信技术有限公司 一种音频输出控制方法和装置
CN113765918A (zh) * 2021-09-07 2021-12-07 广州飞傲电子科技有限公司 一种音频传输控制方法、装置及音频传输控制设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931370B1 (en) * 1999-11-02 2005-08-16 Digital Theater Systems, Inc. System and method for providing interactive audio in a multi-channel audio environment
CN105808198A (zh) * 2014-12-29 2016-07-27 乐视移动智能信息技术(北京)有限公司 应用于安卓系统的音频文件处理方法及装置、终端
CN105915712A (zh) * 2016-04-18 2016-08-31 北京奇虎科技有限公司 一种数据处理方法和便携式多功能设备
CN106205625A (zh) * 2016-07-26 2016-12-07 维沃移动通信有限公司 一种混音播放方法及移动终端
CN106205580A (zh) * 2016-06-30 2016-12-07 维沃移动通信有限公司 一种音频数据处理方法及终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931370B1 (en) * 1999-11-02 2005-08-16 Digital Theater Systems, Inc. System and method for providing interactive audio in a multi-channel audio environment
CN105808198A (zh) * 2014-12-29 2016-07-27 乐视移动智能信息技术(北京)有限公司 应用于安卓系统的音频文件处理方法及装置、终端
CN105915712A (zh) * 2016-04-18 2016-08-31 北京奇虎科技有限公司 一种数据处理方法和便携式多功能设备
CN106205580A (zh) * 2016-06-30 2016-12-07 维沃移动通信有限公司 一种音频数据处理方法及终端
CN106205625A (zh) * 2016-07-26 2016-12-07 维沃移动通信有限公司 一种混音播放方法及移动终端

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109788343A (zh) * 2018-11-26 2019-05-21 广州微算互联信息技术有限公司 Html网页播放音频流的方法与云手机服务器
CN109524005A (zh) * 2019-01-24 2019-03-26 深圳市同行者科技有限公司 一种基于安卓系统的车载语音回音消除方法及系统
CN112965684A (zh) * 2019-12-12 2021-06-15 成都鼎桥通信技术有限公司 一种音频输出控制方法和装置
CN112965684B (zh) * 2019-12-12 2023-08-25 成都鼎桥通信技术有限公司 一种音频输出控制方法和装置
CN111556467A (zh) * 2020-03-31 2020-08-18 惠州市德赛西威汽车电子股份有限公司 一种手机互联音频播放处理方法
CN111556467B (zh) * 2020-03-31 2023-08-08 惠州市德赛西威汽车电子股份有限公司 一种手机互联音频播放处理方法
CN113765918A (zh) * 2021-09-07 2021-12-07 广州飞傲电子科技有限公司 一种音频传输控制方法、装置及音频传输控制设备
CN113765918B (zh) * 2021-09-07 2023-04-18 广州飞傲电子科技有限公司 一种音频传输控制方法、装置及音频传输控制设备

Also Published As

Publication number Publication date
CN106648538B (zh) 2018-09-04

Similar Documents

Publication Publication Date Title
CN106648538A (zh) 一种移动终端的音频播放方法及移动终端
CN106843732A (zh) 一种分屏显示的方法及移动终端
CN106205580B (zh) 一种音频数据处理方法及终端
CN107526492A (zh) 一种应用程序的界面显示方法及移动终端
CN106504777A (zh) 一种录音数据的处理方法及移动终端
CN107438204A (zh) 一种媒体文件循环播放的方法及移动终端
CN107678666A (zh) 一种虚拟按键显示方法、移动终端及计算机可读存储介质
CN105302442A (zh) 一种图片信息的处理方法及终端
CN106484303A (zh) 一种防止误操作的方法及电子设备
CN107391246A (zh) 一种应用启动方法、移动终端及计算机可读存储介质
CN106027933A (zh) 一种视频的录制、播放方法及移动终端
CN106648032A (zh) 一种后台运行的应用程序的控制方法及移动终端
CN106993097A (zh) 一种音乐播放方法及移动终端
CN106341538A (zh) 一种歌词海报的推送方法及移动终端
CN106507176A (zh) 一种视频播放的方法及移动终端
CN106250026A (zh) 一种移动终端的应用程序的启动方法及移动终端
CN106445326A (zh) 一种操作控制方法和移动终端
CN107221347A (zh) 一种音频播放的方法及终端
CN107547738A (zh) 一种提示方法及移动终端
CN107643859A (zh) 一种运行状态恢复方法及移动终端
CN107241491A (zh) 一种消息提示方法及移动终端
CN106371659A (zh) 一种功能入口的启动方法及移动终端
CN107172465A (zh) 一种视频播放控制方法及移动终端
CN107071330A (zh) 一种视频通话互动的方法及移动终端
CN106649548A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20171107

Address after: 283 No. 523860 Guangdong province Dongguan city Changan town usha BBK Avenue

Applicant after: VIVO MOBILE COMMUNICATION CO., LTD.

Applicant after: Wewo Mobile Communication Co. Ltd. Beijing branch

Address before: 283 No. 523860 Guangdong province Dongguan city Changan town usha BBK Avenue

Applicant before: VIVO MOBILE COMMUNICATION CO., LTD.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200512

Address after: 283 No. 523860 Guangdong province Dongguan city Changan town usha BBK Avenue

Patentee after: VIVO MOBILE COMMUNICATION Co.,Ltd.

Address before: 283 No. 523860 Guangdong province Dongguan city Changan town usha BBK Avenue

Co-patentee before: Wewo Mobile Communication Co. Ltd. Beijing branch

Patentee before: VIVO MOBILE COMMUNICATION Co.,Ltd.