CN111797270A - 音频播放方法、装置、电子设备及计算机可读存储介质 - Google Patents
音频播放方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111797270A CN111797270A CN201910727290.2A CN201910727290A CN111797270A CN 111797270 A CN111797270 A CN 111797270A CN 201910727290 A CN201910727290 A CN 201910727290A CN 111797270 A CN111797270 A CN 111797270A
- Authority
- CN
- China
- Prior art keywords
- audio
- playing
- played
- address
- source address
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/632—Query formulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
Abstract
本申请实施例提供了一种音频播放方法、装置、电子设备及计算机可读存储介质,涉及音频处理技术领域。该方法包括:接收待播放音频的播放指令,并基于播放指令确定待播放音频的源地址;确定源地址的地址类型;通过与地址类型相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放。本申请实施例可以在保证对不同来源音频兼容播放的同时,不同来源类型的音频可以通过最匹配的播放引擎进行播放,兼顾了不同地址类型的音频的高性能播放。
Description
技术领域
本申请涉及音频处理技术领域,具体而言,本申请涉及一种音频播放方法、装置、电子设备及计算机可读存储介质。
背景技术
Android是一种操作系统,主要应用于移动设备,如智能手机和平板电脑;在Android平台中可以采用各种播放引擎播放不同地址类型的音频,例如,可以使用java(一种计算机编程语言)层的MediaPlayer(媒体播放器)播放本地音频和网络音频,也可以使用嵌入式系统的开放式声音库播放本地音频。
但现有的播放引擎难以兼顾不同地址类型的音频的播放性能,例如,MediaPlayer播放本地音频时延时相对较高,而嵌入式系统的开放式声音库不支持播放网络音频。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是难以兼顾不同地址类型的音频的播放性能的技术缺陷。
第一方面,提供了一种音频播放方法,该方法包括:
接收待播放音频的播放指令,并基于播放指令确定待播放音频的源地址;
确定源地址的地址类型;
通过与地址类型相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放。
在第一方面的可选实施例中,确定源地址的地址类型的步骤,包括:
判断源地址为本地地址或网络地址。
在第一方面的可选实施例中,判断源地址为本地地址或网络地址的步骤,包括:
查询源地址中是否包括预设字符;若是,则源地址为网络地址;或者,若否,则源地址为本地地址。
在第一方面的可选实施例中,播放引擎包括媒体播放引擎和开放式声音库;通过与地址类型相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放的步骤之前,还包括:
设置音频引擎,音频引擎中包括媒体播放引擎的调用接口和开放式声音库的调用接口;
通过与地址类型相应的播放引擎从源地址获取待播放音频并进行播放的步骤,包括:
采用所述音频引擎中的所述媒体播放引擎的调用接口或所述开放式声音库的调用接口调用与所述地址类型相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放。
在第一方面的可选实施例中,调用地址类型相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放的步骤,包括:
若源地址为本地地址,则调用开放式声音库从源地址获取待播放音频并控制待播放音频进行播放;
或者,若源地址为网络地址,则调用媒体播放引擎从源地址获取待播放音频并控制待播放音频进行播放。
在第一方面的可选实施例中,调用媒体播放引擎从源地址获取待播放音频并控制待播放音频进行播放的步骤,包括:
调用本地C++层媒体播放引擎,通过java本地接口连接至java层媒体播放器;
通过java层媒体播放器从源地址获取待播放音频,并控制待播放音频进行播放。
在第一方面的可选实施例中,获取待播放音频的源地址的步骤,包括:
调用JavaScript层的音频播放接口,得到java语言形式的源地址;
通过JavaScript绑定层连接至本地C++层,以将源地址的java语言形式转换为C++语言形式。
第二方面,提供了一种音频播放装置,该装置包括:
获取模块,用于接收待播放音频的播放指令,并基于播放指令确定待播放音频的源地址;
确定模块,用于确定源地址的地址类型;
播放模块,用于通过与地址类型相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放。
在第二方面的可选实施例中,确定模块用于判断源地址为本地地址或网络地址。
在第二方面的可选实施例中,确定模块具体用于:
查询源地址中是否包括预设字符;若是,则源地址为网络地址;或者,若否,则源地址为本地地址。
在第二方面的可选实施例中,播放引擎包括媒体播放引擎和开放式声音库;音频播放装置还包括:
设置模块,用于设置音频引擎,音频引擎中包括媒体播放引擎的调用接口和开放式声音库的调用接口;
播放模块具体用于采用音频引擎中的媒体播放引擎的调用接口或开放式声音库的调用接口调用与地址类型相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放。
在第二方面的可选实施例中,播放模块具体用于:
若源地址为本地地址,则调用开放式声音库从源地址获取待播放音频并控制待播放音频进行播放;
或者,若源地址为网络地址,则调用媒体播放引擎从源地址获取待播放音频并控制待播放音频进行播放。
在第二方面的可选实施例中,播放模块在调用媒体播放引擎从源地址获取待播放音频并控制待播放音频进行播放时,具体用于:
调用本地C++层媒体播放引擎,通过java本地接口连接至java层媒体播放器;
通过java层媒体播放器从源地址获取待播放音频,并控制待播放音频进行播放。
在第二方面的可选实施例中,获取模块在获取待播放音频的源地址时,具体用于:
调用JavaScript层的音频播放接口,得到java语言形式的源地址;
通过JavaScript绑定层连接至本地C++层,以将源地址的java语言形式转换为C++语言形式。
第三方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行实现本申请第一方面所示的音频播放方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,该程序被处理器执行时实现本申请第一方面所示的音频播放方法。
本申请提供的技术方案带来的有益效果是:
在本公开实施例的方案中,通过先确定待播放音频的源地址的地址类型,获取与地址类型相应的播放引擎,再根据相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放,在保证对不同来源音频兼容播放的同时,不同来源类型的音频可以通过最匹配的播放引擎进行播放,兼顾了不同地址类型的音频的高性能播放。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种音频播放方法的流程示意图;
图2为本申请实施例提供的一种音频播放方法的流程示意图;
图3为本申请实施例提供的一种音频播放方法的流程示意图;
图4为本申请实施例提供的一种音频播放方法的流程示意图;
图5为本申请实施例提供的一种音频播放装置的结构示意图;
图6为本申请实施例提供的一种音频播放装置的结构示意图;
图7为本申请实施例提供的一种音频播放装置的结构示意图;
图8为本申请实施例提供的一种音频播放的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了更好的说明本公开实施例的方案,下面首先对本公开的实施例涉及的相关技术术语进行介绍和解释:
开放式声音库(Open Sound Library for Embedded Systems,OpenSL ES),指的是针对嵌入式系统进行优化的硬件音频加速应用程序编程接口,可以为嵌入式移动多媒体设备上的本地应用程序开发者提供标准化,并实现软/硬件音频性能的直接跨平台部署,可以用来控制Android平台中的本地音频文件的播放;媒体播放引擎(MediaPlayer Engine),可以用于在Android平台中控制播放本地音频文件或网络流媒体资源。
Java本地接口(Java Native Interface,JNI)是指一种标准程序接口,使得在Java虚拟机内运行的Java代码能够与其它编程语言互相操作,包括创建本地方法、更新Java对象、调用Java方法,引用Java类,捕捉和抛出异常等,也允许Java代码调用C/C++或汇编语言编写的程序和库。
本申请提供的音频播放方法、装置、电子设备和计算机可读存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例中提供了一种音频播放方法,如图1所示,该方法包括:
步骤S102,接收待播放音频的播放指令,并基于播放指令确定待播放音频的源地址。
本步骤中,播放指令可以是用户直接以鼠标点击或语音等方式输入,也可以是预先设置播放时间或播放条件,当到达预设播放时间或者满足预设的播放条件时,自动触发生成播放指令,本公开实施例不做具体的限定。
具体的,播放指令中可以携带有待播放音频的源地址,还可以在预设数据库中设置与各待播放音频的标识相应的源地址,当接收到待播放音频的播放指令时,查询得到与待播放音频的标识相应的源地址。
步骤S104,确定源地址的地址类型。
在实际应用中,可以根据源地址的字符确定源地址的地址类型,地址类型可以包括本地地址或网络地址。
步骤S106,通过与地址类型相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放。
在实际应用中,可以预先设置至少两种播放引擎,如开放式声音库和媒体播放引擎,各播放引擎分别和不同的地址类型对应设置,确定源地址的地址类型后,查询与地址类型相应的播放引擎,通过查询到的播放引擎从源地址获取待播放音频,并控制待播放音频进行播放。
上述实施例中,通过先确定待播放音频的源地址的地址类型,获取与地址类型相应的播放引擎,再根据相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放,在保证对不同来源音频兼容播放的同时,不同来源类型的音频可以通过最匹配的播放引擎进行播放,兼顾了不同地址类型的音频的高性能播放。
本申请实施例中提供了一种可能的实现方式,步骤S104的确定源地址的地址类型,可以包括:判断源地址为本地地址或网络地址。
在实际应用中,可以通过识别源地址的字符来判断源地址为本地地址或网络地址。若判断得到源地址为本地地址,则可以通过与本地地址相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放;或者,若判断得到源地址为网络地址,则可以通过与网络地址相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放。
本申请实施例中提供了一种可能的实现方式,如图2所示,步骤S104的判断源地址为本地地址或网络地址,可以包括:
步骤S410,查询源地址中是否包括预设字符;若是,执行步骤S420;若否,执行步骤S430;
步骤S420,判定源地址为网络地址;
步骤S430,判定源地址为本地地址。
在实际应用中,预设字符可以是网络地址,例如,预设字符可以是https或HTTP,当源地址中包括预设字符时,可以判定源地址为网络地址。
上述实施例中,通过网络地址特有的预设字符判断源地址是网络地址还是本地地址,从而选用与网络地址或本地地址相应的播放引擎播放待播放音频,在保证对不同来源音频兼容播放的同时,不同来源类型的音频可以通过最匹配的播放引擎进行播放,兼顾了不同地址类型的音频的高性能播放。
需要说明的是,也可以通过其他方式判断源地址是网络地址还是本地地址,例如在本地对源地址进行查询,若可以查询得到,则为本地地址;若不能查询到,则为网络地址。
本申请实施例中提供了一种可能的实现方式,参考图2所示,步骤S106的调用地址类型相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放,可以包括:
步骤S610,调用开放式声音库从源地址获取待播放音频并控制待播放音频进行播放;
步骤S620,调用媒体播放引擎从源地址获取待播放音频并控制待播放音频进行播放。
若执行步骤S420,判定源地址为网络地址,则执行步骤S620;若执行步骤S430,判定源地址为本地地址,则执行步骤S610。
上述实施例中,当判断得到源地址为本地地址或网络地址时,调用与网络地址或本地地址相应的播放引擎;若源地址为本地地址,则调用开放式声音库,采用开放式声音库播放位于本地地址的待播放音频可以降低延时;或者,若源地址为网络地址,则调用媒体播放引擎播放位于网络地址的待播放音频,从而在保证对不同来源音频兼容播放的同时,不同来源类型的音频可以通过最匹配的播放引擎进行播放,兼顾了不同地址类型的音频的高性能播放,还可以降低本地音频的播放延时。
本申请实施例中提供了一种可能的实现方式,如图3所示,步骤S106的通过与地址类型相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放的步骤之前,还包括:
步骤S105,设置音频引擎,音频引擎中包括媒体播放引擎的调用接口和开放式声音库的调用接口。
在实际应用中,可以将媒体播放引擎的调用接口和开放式声音库的调用接口添加到预设的初始音频引擎中得到该音频引擎,可以是通过其他方式使得音频引擎中包括媒体播放引擎的调用接口和开放式声音库的调用接口,具体设置音频引擎的方式在此不做限制。
具体的,上述判断源地址为网络地址或本地地址的步骤可以由音频引擎执行,也可以由其他设备执行。
本实施例中,步骤S106的通过与地址类型相应的播放引擎从源地址获取待播放音频并进行播放,可以具体为采用音频引擎中的媒体播放引擎的调用接口或开放式声音库的调用接口调用与地址类型相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放。
具体的,若源地址为本地地址,则通过媒体播放引擎的调用接口调用媒体播放引擎,然后根据媒体播放引擎从源地址获取待播放音频并控制待播放音频进行播放;若源地址为网络地址,则通过开放式声音库的调用接口调用开放式声音库,然后根据开放式声音库从源地址获取待播放音频并控制待播放音频进行播放。
本申请实施例中提供了一种可能的实现方式,步骤S610的调用开放式声音库从源地址获取待播放音频并控制待播放音频进行播放,可以包括调用本地C++层的开放式声音库,获取C++层的开放式声音库文件,然后根据开放式声音库文件从源地址获取待播放音频并控制待播放音频进行播放。
本申请实施例中提供了一种可能的实现方式,步骤S620的调用媒体播放引擎从源地址获取待播放音频并控制待播放音频进行播放,可以包括:
调用本地C++层媒体播放引擎,通过java本地接口连接至java层媒体播放器;通过java层媒体播放器从源地址获取待播放音频,并控制待播放音频进行播放。
本申请实施例中提供了一种可能的实现方式,如图4所示,步骤S102的获取待播放音频的源地址的步骤,包括:
步骤S210,调用JavaScript层的音频播放接口,得到java语言形式的源地址。
具体的,通过JavaScript调用JavaScript层的音频播放接口,得到java语言形式的源地址。
步骤S220,通过JavaScript绑定层连接至本地C++(一种计算机编程语言)层,以将源地址的java语言形式转换为C++语言形式。
在实际应用中,通过JavaScript绑定层连接JavaScript层和C++层,实现java语言形式和C++语言形式之间的转换,从而判断C++语言形式的源地址是网络地址还是本地地址。
上述的音频播放方法,通过先确定待播放音频的源地址的地址类型,获取与地址类型相应的播放引擎,再根据相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放,在保证对不同来源音频兼容播放的同时,不同来源类型的音频可以通过最匹配的播放引擎进行播放,兼顾了不同地址类型的音频的高性能播放。
进一步的,将java语言形式的源地址转换为C++语言形式的源地址,从而判断C++语言形式的源地址是网络地址还是本地地址。
进一步的,当判断得到源地址为本地地址或网络地址时,调用与网络地址或本地地址相应的播放引擎;若源地址为本地地址,则调用开放式声音库,采用开放式声音库播放位于本地地址的待播放音频可以降低延时;若源地址为网络地址,则调用媒体播放引擎播放位于网络地址的待播放音频,从而在保证对不同来源音频兼容播放的同时,不同来源类型的音频可以通过最匹配的播放引擎进行播放,兼顾了不同地址类型的音频的高性能播放,还可以降低本地音频的播放延时。
为了更好地理解上述方法,如图5所示,以下结合一种音频播放装置50的结构示意图来进一步阐述本申请的音频播放方法。
本申请实施例中提供了一种可能的实现方式,在音频播放装置50中,通过JavaScript调用JavaScript层的音频播放接口501,得到java语言形式的源地址;通过JavaScript绑定层502连接至本地C++层,将源地址的java语言形式转换为C++语言形式;通过本地C++层设置的音频引擎503,判断C++语言形式的源地址是网络地址或本地地址;若源地址是本地地址,则音频引擎503调用本地C++层的开放式声音库504,开放式声音库504再调用C++层的开放式声音库文件505,从源地址获取待播放音频并控制待播放音频进行播放;若源地址是网络地址,音频引擎503调用本地C++层的媒体播放引擎506,媒体播放引擎506通过java本地接口507连接至java层的媒体播放器508,通过媒体播放器508从源地址获取待播放音频,并控制待播放音频进行播放。
本申请实施例提供了一种音频播放装置,如图6所示,该音频播放装置60可以包括:获取模块602、确定模块604以及播放模块606,其中,
获取模块602,用于接收待播放音频的播放指令,并基于播放指令确定待播放音频的源地址;
确定模块604,用于确定源地址的地址类型;
播放模块606,用于通过与地址类型相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放。
上述的音频播放装置,通过先确定待播放音频的源地址的地址类型,获取与地址类型相应的播放引擎,再根据相应的播放引擎从源地址获取待播放音频并控制待播放音频进行播放,在保证对不同来源音频兼容播放的同时,不同来源类型的音频可以通过最匹配的播放引擎进行播放,兼顾了不同地址类型的音频的高性能播放。
本申请实施例中提供了一种可能的实现方式,确定模块604用于判断源地址为本地地址或网络地址。
本申请实施例中提供了一种可能的实现方式,确定模块604具体用于:
查询源地址中是否包括预设字符;若是,则源地址为网络地址;或者,若否,则源地址为本地地址。
本申请实施例中提供了一种可能的实现方式,如图7所示,播放引擎包括媒体播放引擎和开放式声音库;音频播放装置60还包括:
设置模块605,用于设置音频引擎,音频引擎中包括媒体播放引擎的调用接口和开放式声音库的调用接口;
播放模块606具体用于采用音频引擎中的媒体播放引擎的调用接口或开放式声音库的调用接口调用与地址类型相应的播放引擎从源地址获取所述待播放音频并控制所述待播放音频进行播放。
本申请实施例中提供了一种可能的实现方式,播放模块606具体用于:
若源地址为本地地址,则调用开放式声音库从源地址获取待播放音频并控制待播放音频进行播放;
或者,若源地址为网络地址,则调用媒体播放引擎从源地址获取待播放音频并控制待播放音频进行播放。
本申请实施例中提供了一种可能的实现方式,播放模块606在调用媒体播放引擎从源地址获取待播放音频并控制待播放音频进行播放时,具体用于:
调用本地C++层媒体播放引擎,通过java本地接口连接至java层媒体播放器;
通过java层媒体播放器从源地址获取待播放音频,并控制待播放音频进行播放。
本申请实施例中提供了一种可能的实现方式,获取模块602在获取待播放音频的源地址时,具体用于:
调用JavaScript层的音频播放接口,得到java语言形式的源地址;
通过JavaScript绑定层连接至本地C++层,以将源地址的java语言形式转换为C++语言形式。
本公开实施例的图片的音频播放装置可执行本公开的实施例所提供的一种图片的音频播放方法,其实现原理相类似,本公开各实施例中的图片的音频播放装置中的各模块所执行的动作是与本公开各实施例中的图片的音频播放方法中的步骤相对应的,对于图片的音频播放装置的各模块的详细功能描述具体可以参见前文中所示的对应的图片的音频播放方法中的描述,此处不再赘述。
基于与本公开的实施例中所示的方法相同的原理,本公开的实施例中还提供了一种电子设备,该电子设备可以包括但不限于:处理器和存储器;存储器,用于存储计算机操作指令;处理器,用于通过调用计算机操作指令执行实施例所示的方法。与现有技术相比,本申请中的电子设备可以在保证对不同来源音频兼容播放的同时,不同来源类型的音频可以通过最匹配的播放引擎进行播放,兼顾了不同地址类型的音频的高性能播放。
在一个可选实施例中提供了一种电子设备,如图8所示,图8所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,本申请提供的计算机可读存储介质可以在保证对不同来源音频兼容播放的同时,不同来源类型的音频可以通过最匹配的播放引擎进行播放,兼顾了不同地址类型的音频的高性能播放。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种音频播放方法,其特征在于,包括:
接收待播放音频的播放指令,并基于所述播放指令确定所述待播放音频的源地址;
确定所述源地址的地址类型;
通过与所述地址类型相应的播放引擎从所述源地址获取所述待播放音频并控制所述待播放音频进行播放。
2.根据权利要求1所述的音频播放方法,其特征在于,所述确定所述源地址的地址类型的步骤,包括:
判断所述源地址为本地地址或网络地址。
3.根据权利要求2所述的音频播放方法,其特征在于,所述判断所述源地址为本地地址或网络地址的步骤,包括:
查询所述源地址中是否包括预设字符;若是,则所述源地址为网络地址;或者,若否,则所述源地址为本地地址。
4.根据权利要求2所述的音频播放方法,其特征在于,所述播放引擎包括媒体播放引擎和开放式声音库;
所述通过与所述地址类型相应的播放引擎从所述源地址获取所述待播放音频并控制所述待播放音频进行播放的步骤之前,还包括:
设置音频引擎,所述音频引擎中包括所述媒体播放引擎的调用接口和所述开放式声音库的调用接口;
所述通过与所述地址类型相应的播放引擎从所述源地址获取所述待播放音频并进行播放的步骤,包括:
采用所述音频引擎中的所述媒体播放引擎的调用接口或所述开放式声音库的调用接口调用与所述地址类型相应的播放引擎从所述源地址获取所述待播放音频并控制所述待播放音频进行播放。
5.根据权利要求4所述的音频播放方法,其特征在于,所述调用所述地址类型相应的播放引擎从所述源地址获取所述待播放音频并控制所述待播放音频进行播放的步骤,包括:
若所述源地址为本地地址,则调用所述开放式声音库从所述源地址获取所述待播放音频并控制所述待播放音频进行播放;
或者,若所述源地址为网络地址,则调用所述媒体播放引擎从所述源地址获取所述待播放音频并控制所述待播放音频进行播放。
6.根据权利要求5所述的音频播放方法,其特征在于,所述调用所述媒体播放引擎从所述源地址获取所述待播放音频并控制所述待播放音频进行播放的步骤,包括:
调用本地C++层媒体播放引擎,通过java本地接口连接至java层媒体播放器;
通过所述java层媒体播放器从所述源地址获取所述待播放音频,并控制所述待播放音频进行播放。
7.根据权利要求1所述的音频播放方法,其特征在于,所述获取所述待播放音频的源地址的步骤,包括:
调用JavaScript层的音频播放接口,得到java语言形式的所述源地址;
通过JavaScript绑定层连接至本地C++层,以将所述源地址的java语言形式转换为C++语言形式。
8.一种音频播放装置,其特征在于,包括:
获取模块,用于接收待播放音频的播放指令,并基于所述播放指令确定所述待播放音频的源地址;
确定模块,用于确定所述源地址的地址类型;
播放模块,用于通过与所述地址类型相应的播放引擎从所述源地址获取所述待播放音频并控制所述待播放音频进行播放。
9.根据权利要求8所述的音频播放装置,其特征在于,所述确定模块具体用于判断所述源地址为本地地址或网络地址。
10.根据权利要求9所述的音频播放装置,其特征在于,还包括:
设置模块,用于设置音频引擎,所述音频引擎中包括媒体播放引擎的调用接口和开放式声音库的调用接口;
所述播放模块具体用于采用所述音频引擎中的所述媒体播放引擎的调用接口或所述开放式声音库的调用接口调用与所述地址类型相应的播放引擎从所述源地址获取所述待播放音频并控制所述待播放音频进行播放。
11.一种电子设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1~7任一项所述的音频播放方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一项所述的音频播放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910727290.2A CN111797270A (zh) | 2019-08-07 | 2019-08-07 | 音频播放方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910727290.2A CN111797270A (zh) | 2019-08-07 | 2019-08-07 | 音频播放方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111797270A true CN111797270A (zh) | 2020-10-20 |
Family
ID=72805395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910727290.2A Pending CN111797270A (zh) | 2019-08-07 | 2019-08-07 | 音频播放方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111797270A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486207A (zh) * | 2021-07-14 | 2021-10-08 | 深圳大趋智能科技有限公司 | 一种基于dac实现的语音播报方法及装置 |
CN114385109A (zh) * | 2022-01-12 | 2022-04-22 | 北京达佳互联信息技术有限公司 | 音频播放的处理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103366780A (zh) * | 2012-03-31 | 2013-10-23 | 盛乐信息技术(上海)有限公司 | 多媒体播放器引擎系统及其使用方法和多媒体播放器 |
CN105704505A (zh) * | 2016-02-03 | 2016-06-22 | 国家新闻出版广电总局广播科学研究院 | 一种在智能电视操作系统中支持全媒体播放的方法及智能电视终端 |
CN106341729A (zh) * | 2016-08-26 | 2017-01-18 | 乐视控股(北京)有限公司 | 一种音视频数据处理方法和装置 |
US20190235814A1 (en) * | 2012-05-04 | 2019-08-01 | Quad/Graphics, Inc. | Building an infrastructure of actionable elements related to printed items |
-
2019
- 2019-08-07 CN CN201910727290.2A patent/CN111797270A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103366780A (zh) * | 2012-03-31 | 2013-10-23 | 盛乐信息技术(上海)有限公司 | 多媒体播放器引擎系统及其使用方法和多媒体播放器 |
US20190235814A1 (en) * | 2012-05-04 | 2019-08-01 | Quad/Graphics, Inc. | Building an infrastructure of actionable elements related to printed items |
CN105704505A (zh) * | 2016-02-03 | 2016-06-22 | 国家新闻出版广电总局广播科学研究院 | 一种在智能电视操作系统中支持全媒体播放的方法及智能电视终端 |
CN106341729A (zh) * | 2016-08-26 | 2017-01-18 | 乐视控股(北京)有限公司 | 一种音视频数据处理方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486207A (zh) * | 2021-07-14 | 2021-10-08 | 深圳大趋智能科技有限公司 | 一种基于dac实现的语音播报方法及装置 |
CN114385109A (zh) * | 2022-01-12 | 2022-04-22 | 北京达佳互联信息技术有限公司 | 音频播放的处理方法、装置、电子设备及存储介质 |
CN114385109B (zh) * | 2022-01-12 | 2024-01-09 | 北京达佳互联信息技术有限公司 | 音频播放的处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389936B (zh) | 一种启动小程序的方法、设备和计算机存储介质 | |
CN103677922A (zh) | 对应用软件进行启动的方法和装置 | |
CN107479868B (zh) | 一种界面加载方法、装置及设备 | |
CN111241040B (zh) | 信息获取方法、装置、电子设备及计算机存储介质 | |
CN111796865B (zh) | 一种字节码文件修改方法、装置、终端设备及介质 | |
CN111796860A (zh) | 微前端方案实现方法及装置 | |
CN111309304B (zh) | 一种生成idl文件的方法、装置、介质和电子设备 | |
CN111930973A (zh) | 多媒体数据的播放方法、装置、电子设备及存储介质 | |
CN113641873B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN113407165B (zh) | Sdk的生成和自升级方法、装置、可读介质和设备 | |
CN111309391A (zh) | 应用程序启动方法、装置、设备及介质 | |
CN112138376A (zh) | 云游戏存档方法、装置和电子设备 | |
CN111797270A (zh) | 音频播放方法、装置、电子设备及计算机可读存储介质 | |
CN113778897B (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
CN110489162A (zh) | 安装包so文件精简方法、装置、介质和设备 | |
CN111475230B (zh) | 应用的功能配置方法、装置和电子设备 | |
CN114527983A (zh) | 一种基于中间件的接口适配方法、装置及电子设备 | |
CN109669679B (zh) | 服务检测及处理方法、装置及电子设备 | |
CN111797009A (zh) | 用于检测代码兼容性的方法、装置和电子设备 | |
CN113553040B (zh) | 可见即可说识别功能的注册实现方法、装置、设备及介质 | |
CN114047922B (zh) | 用于预编译器的代码转换方法、装置、介质及设备 | |
CN111562913B (zh) | 视图组件的预创建方法、装置、设备及计算机可读介质 | |
CN113778387B (zh) | 用于生成代码的方法和装置 | |
CN115080059B (zh) | 边缘计算方法、装置和边缘服务器 | |
CN115065875B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201020 |
|
RJ01 | Rejection of invention patent application after publication |