CN102385864A - 一种音频数据解码方法、装置及音频播放器 - Google Patents
一种音频数据解码方法、装置及音频播放器 Download PDFInfo
- Publication number
- CN102385864A CN102385864A CN2010102681254A CN201010268125A CN102385864A CN 102385864 A CN102385864 A CN 102385864A CN 2010102681254 A CN2010102681254 A CN 2010102681254A CN 201010268125 A CN201010268125 A CN 201010268125A CN 102385864 A CN102385864 A CN 102385864A
- Authority
- CN
- China
- Prior art keywords
- wav
- data
- audio
- file
- pcm
- 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
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明适用于音频技术领域,提供了一种音频数据解码方法、装置及音频播放器,所述方法包括下述步骤:对将要播放的无损压缩格式的音频数据进行解码,生成PCM数据;将所述PCM数据打包成PCM格式的WAV音频文件或者WAV音频数据流;通过解码芯片解码所述WAV音频文件或者所述WAV音频数据流。本发明,将无损压缩格式的音频数据打包成的WAV音频文件或者数据流传送给解码芯片进行解码后,传输给芯片厂商开发的SDK直接播放,不需要开发公司再开发、修改硬件解码芯片厂商提供的SDK,大大节省了开发成本。
Description
技术领域
本发明属于音频技术领域,尤其涉及一种音频数据解码方法、装置及音频播放器。
背景技术
目前,许多嵌入式高清解码芯片不支持硬件解码。因此,对于APE,在不支持硬件解码APE压缩格式的嵌入式播放平台上,只能采用软件解码APE音乐。
现有技术在使用软件解码时,大多使用开源的FFmpeg解码库,FFmpeg是一个开源免费跨平台的视频和音频流方案。通过FFmpeg解码库进行软件解码的常用流程是:通过FFmpeg解码库将APE音频的每帧数据解码成脉码调制(Pulse Code Modulation,PCM)音频数据,然后直接通过解码芯片的软件的数据传送接口,将PCM音频数据送给硬件芯片解码播放。
上述的操作流程,要求开发人员必须对解码芯片厂商的软件开发工具包(Software Development Kit,SDK)进行修改,并且需要非常深入了解解码芯片,才能处理好;同时,目前很多只开发中间件和应用层的第三方设计室公司,他们可能会只开发一套通用的中间件来配合许多不同厂家的硬件解码芯片,这样处理就会造成每更换一块硬件解码芯片,就必须修改硬件解码芯片提供的SDK以完成针对APE音乐的软件解码功能,开发成本很高。
发明内容
本发明的目的在于提供一种音频数据解码方法,旨在解决现有技术在解码无损压缩格式的音频数据时,需要修改硬件解码芯片提供的SDK来对无损压缩格式的音频数据进行解码,开发成本高的问题。
本发明是这样实现的,一种音频数据解码方法,所述方法包括下述步骤:
对将要播放的无损压缩格式的音频数据进行解码,生成PCM数据;
将所述PCM数据打包成PCM格式的WAV音频文件或者WAV音频数据流;
通过解码芯片解码所述WAV音频文件或者所述WAV音频数据流。
本发明的另一目的在于提供一种音频数据解码装置,所述装置包括:
PCM数据生成单元,用于对将要播放的无损压缩格式的音频数据进行解码,生成PCM数据;
WAV音频生成单元,用于将所述PCM数据打包成PCM格式的WAV音频文件或者WAV音频数据流;
音频解码单元,用于通过解码芯片解码所述WAV音频文件或者所述WAV音频数据流。
本发明的另一目的在于提供一种音频播放器,所述音频播放器包括如上所述的音频数据解码装置。
在本发明中,先将要播放的无损压缩格式的音频数据进行解码,生成PCM数据,再将生成的PCM数据打包成PCM格式的WAV音频文件或者WAV音频数据流,然后可以通过硬件解码芯片厂商提供的解码芯片解码所述WAV音频文件或者所述WAV音频数据流。由于目前市面上所有的硬件解码芯片,都能直接播放PCM的WAV音频文件或者WAV音频数据流。因此将打包成的WAV音频文件或者数据流传送给硬件芯片,可以直接使用芯片厂商开发的硬件解码芯片解码无损压缩格式的音频数据,不需要Design house公司再开发、修改硬件解码芯片厂商提供的SDK,大大节省了开发成本。
附图说明
图1是本发明实施例提供的音频数据解码方法的实现流程图;
图2是本发明实施例提供的APE音频数据解码方法的实现流程图;
图3是本发明实施例提供的音频数据解码装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,先将要播放无损压缩格式的音频数据进行解码,生成PCM数据,再将生成的PCM数据打包成PCM格式的WAV音频文件或者WAV音频数据流,然后可以通过硬件解码芯片厂商提供的硬件解码芯片解码所述WAV音频文件或者所述WAV音频数据流。
图1是本发明实施例提供的音频数据解码方法的实现流程,详述如下:
在步骤S101中,对将要播放的无损压缩格式的音频数据进行解码,生成PCM数据。
在本实施例中,判断所要播放的音频数据的类型,若该音频数据是WAV音频数据,则使用芯片厂商提供的硬件芯片直接可以解码该音频数据;若该音频文件是无损压缩格式的音频数据,比如APE、OGG、FLAC等类型的音频数据,则通过解码库将APE、OGG、FLAC等类型的音频数据解码成PCM数据。其中解码时,首先将APE、OGG、FLAC等音频数据的文件头中的信息解码成PCM格式的WAV文件头,该音频数据的文件头中的信息包括声道数、采样率、比特率、采样大小,并将WAV文件头保存在WAV数据流中或者WAV文件中,该WAV文件头包括所解码的音频数据的声道数、采样频率、比特率、采样大小;再继续将APE、OGG、FLAC等类型的音频数据的数据体中的信息解码成PCM格式的WAV文件数据体。在本实施例中,用FFmpeg解码库将APE音频数据解码成PCM数据,使用libvorbis将OGG音频数据解码成PCM数据,使用libflac或者FFmpeg解码库将FLAC音频数据解码成PCM数据。
在步骤S102中,将所述PCM数据打包成PCM格式的WAV音频文件或者WAV音频数据流。
在本实施例中,由于目前市面上所有的硬件解码芯片,都能直接播放PCM格式的WAV音频文件。因此,将解码生成的WAV文件头和WAV文件数据体打包后按照WAV编码的格式保存在WAV数据流中或者WAV文件中后,传送给硬件芯片的SDK,使用芯片厂商开发的SDK直接播放。其中WAV文件数据体保存在WAV文件头的后面。
在步骤S103中,通过解码芯片解码所述WAV音频文件或者所述WAV音频数据流。
在本实施例中,由于目前市面上所有的硬件解码芯片,都能直接播放PCM格式的WAV音频文件,因此,可直接通过硬件解码芯片厂商提供的硬件解码芯片解码打包生成的WAV音频文件或者WAV音频数据流。
以下以无损压缩格式的音频数据为APE为例,对本发明实施例的实现进行具体说明。
图2是本发明实施例提供的APE音频数据解码方法的实现流程,详述如下:
在步骤S201中,判断将要播放的音频数据是否是APE数据。
在本实施例中,判断将要播放的音频数据是否是APE数据,当该音频数据是APE数据时,执行步骤S201,否则,一直检测将要播放的音频数据的类型。
在步骤S202中,当所述音频数据是APE数据时,将所述音频数据进行解码,生成PCM数据。
在本实施例中,当音频数据是APE数据时,采用FFmpeg解码库中的APEcodec对APE数据进行软件解码,生成PCM数据。
在步骤S203中,将所述PCM数据打包成PCM格式的WAV音频文件或者WAV音频数据流。
在步骤S204中,通过解码芯片解码所述WAV音频文件或者所述WAV音频数据流。
在本实施例中,由于目前市面上所有的硬件解码芯片,都能直接播放PCM格式的WAV音频文件,因此,可直接通过硬件解码芯片厂商提供的硬件解码芯片解码打包生成的WAV音频文件或者WAV音频数据流。
图3是本发明实施例提供的音频播放装置的结构框,为了便于说明,仅示出了本发明实施例相关的部分。
该装置可以是内置于音频播放器的软件单元、硬件单元或者软硬件结合的单元。
该装置包括PCM数据生成单元31、WAV音频生成单元32和音频解码单元33。
PCM数据生成单元31用于对将要播放的无损压缩格式的音频数据进行解码,生成PCM数据;
WAV音频生成单元32用于将所述PCM数据打包成PCM格式的WAV音频文件或者WAV音频数据流,该PCM格式的WAV音频文件或者WAV音频数据流包括WAV文件头和WAV数据体,其中WAV文件头包括声道数、采样率、比特率、采样大小;
音频解码单元33用于通过解码芯片解码所述WAV音频生成单元32生成的WAV音频文件或者WAV音频数据流。
另外,PCM数据生成单元31包括文件头生成模块311和数据体生成模块312。
其中,文件头生成模块311用于将所述音频数据的文件头中的信息解码成PCM格式的WAV文件头;
数据体生成模块312用于将所述音频数据的数据体中的信息解码成PCM格式的WAV文件数据体。
WAV音频生成单元32包括WAV音频生成模块321,该模块用于将文件头生成模块311生成的WAV文件头和数据体生成模块312生成的WAV文件数据体按照WAV编码的格式保存在WAV文件中或者WAV数据流中。
在本发明实施例中,将APE、OGG、FLAC等无损压缩格式的音频数据进行解码,生成PCM数据后,没有直接送给硬件解码芯片播放,而是将通过解码库解码所获取的APE等格式的音频数据文件头的声道数、采样频率、比特率、采样大小以及文件数据体,打包成PCM格式的WAV音频文件或者音频数据流。由于目前市面上所有的硬件解码芯片,都能直接播放PCM的WAV音频数据。因此将打包成的WAV音频文件或者数据流传送给硬件解码芯片,通过硬件解码芯片解码后传送给芯片厂商开发的SDK,使用芯片厂商开发的SDK直接播放,不需要Design house公司再开发、修改硬件解码芯片厂商提供的SDK,而是只在Design house所开发的中间件中,增加使用解码库解码APE等类型的音频数据成PCM数据,并打包成WAV音频文件或者音频数据流。这样可以做到Design house设计的中间件的APE等解码模块,可以通用所有的硬件平台。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种音频数据解码方法,其特征在于,所述方法包括下述步骤:
对将要播放的无损压缩格式的音频数据进行解码,生成PCM数据;
将所述PCM数据打包成PCM格式的WAV音频文件或者WAV音频数据流;
通过解码芯片解码所述WAV音频文件或者所述WAV音频数据流。
2.如权利要求1所述的方法,其特征在于,所述PCM格式的WAV音频文件或者WAV音频数据流包括WAV文件头和WAV数据体;
所述WAV文件头包括声道数、采样率、比特率、采样大小。
3.如权利要求1所述的方法,其特征在于,所述对所述音频文件进行解码,生成PCM数据的步骤具体包括:
将所述音频文件的文件头中的信息解码成PCM格式的WAV文件头;
将所述音频文件的数据体中的信息解码成PCM格式的WAV文件数据体。
4.如权利要求3所述的方法,其特征在于,所述将所述PCM数据打包成PCM格式的WAV音频文件的步骤具体包括:
将所述WAV文件头和所述WAV文件数据体按照WAV编码的格式保存在WAV文件中或者WAV数据流中。
5.如权利要求1所述的方法,其特征在于,所述无损压缩格式的音频数据为APE数据。
6.一种音频数据解码装置,其特征在于,所述装置包括:
PCM数据生成单元,用于对将要播放的无损压缩格式的音频数据进行解码,生成PCM数据;
WAV音频生成单元,用于将所述PCM数据打包成PCM格式的WAV音频文件或者WAV音频数据流;
音频解码单元,用于通过解码芯片解码所述WAV音频文件或者所述WAV音频数据流。
7.如权利要求6所述的装置,其特征在于,所述PCM格式的WAV音频文件或者WAV音频数据流包括WAV文件头和WAV数据体;
所述WAV文件头包括声道数、采样率、比特率、采样大小。
8.如权利要求6所述的装置,其特征在于,所述PCM数据生成单元包括:
文件头生成模块,用于将所述音频数据的文件头中的信息解码成PCM格式的WAV文件头;
数据体生成模块,用于将所述音频数据的数据体中的信息解码成PCM格式的WAV文件数据体。
9.如权利要求8所述的装置,其特征在于,所述WAV音频生成单元包括:
WAV音频生成模块,用于将所述WAV文件头和所述WAV文件数据体按照WAV编码的格式保存在WAV文件中或者WAV数据流中。
10.一种音频播放器,其特征在于,所述音频播放器包括如权利要求6至9任一项所述的音频数据解码装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102681254A CN102385864B (zh) | 2010-08-31 | 2010-08-31 | 一种音频数据解码方法、装置及音频播放器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102681254A CN102385864B (zh) | 2010-08-31 | 2010-08-31 | 一种音频数据解码方法、装置及音频播放器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102385864A true CN102385864A (zh) | 2012-03-21 |
CN102385864B CN102385864B (zh) | 2013-07-10 |
Family
ID=45825230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102681254A Active CN102385864B (zh) | 2010-08-31 | 2010-08-31 | 一种音频数据解码方法、装置及音频播放器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102385864B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780611A (zh) * | 2014-01-17 | 2014-05-07 | Tcl集团股份有限公司 | 一种音乐分享方法及系统 |
CN105261369A (zh) * | 2015-10-30 | 2016-01-20 | 李道恒 | 一种音乐分享方法及系统 |
CN105491255A (zh) * | 2014-09-18 | 2016-04-13 | 广东世纪网通信设备有限公司 | 一种降低语音传输负载的方法及系统 |
CN105933313A (zh) * | 2016-04-20 | 2016-09-07 | 广东欧珀移动通信有限公司 | 一种多媒体数据的显示方法、系统及控制设备 |
CN109616145A (zh) * | 2018-12-12 | 2019-04-12 | 广州酷狗计算机科技有限公司 | 生成铃声文件的方法、装置及计算机可读存储介质 |
CN109640162A (zh) * | 2018-12-25 | 2019-04-16 | 北京数码视讯软件技术发展有限公司 | 码流转换方法及系统 |
CN112597332A (zh) * | 2020-12-29 | 2021-04-02 | 深圳贝特莱电子科技股份有限公司 | 一种嵌入在mcu中的语音播放方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106340301B (zh) * | 2016-09-13 | 2020-01-24 | 广州酷狗计算机科技有限公司 | 一种音频播放方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1427987A (zh) * | 2000-03-02 | 2003-07-02 | 听觉增强有限公司 | 在数字音频产生过程中用于适应主要内容音频和次要内容剩余音频能力的方法和设备 |
CN101075187A (zh) * | 2006-05-18 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 音频文件的读取方法和读取装置 |
CN101207728A (zh) * | 2007-12-17 | 2008-06-25 | 深圳市同洲电子股份有限公司 | 数字电视接收机播放音乐的方法及数字电视接收机 |
CN101389020A (zh) * | 2008-05-06 | 2009-03-18 | 李丹 | 一种扩展流媒体播放设备解码能力的方法 |
CN101471980A (zh) * | 2007-12-25 | 2009-07-01 | 厦门雅迅网络股份有限公司 | 一种通过gprs网络实现车载话音通讯方法 |
-
2010
- 2010-08-31 CN CN2010102681254A patent/CN102385864B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1427987A (zh) * | 2000-03-02 | 2003-07-02 | 听觉增强有限公司 | 在数字音频产生过程中用于适应主要内容音频和次要内容剩余音频能力的方法和设备 |
CN101075187A (zh) * | 2006-05-18 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 音频文件的读取方法和读取装置 |
CN101207728A (zh) * | 2007-12-17 | 2008-06-25 | 深圳市同洲电子股份有限公司 | 数字电视接收机播放音乐的方法及数字电视接收机 |
CN101471980A (zh) * | 2007-12-25 | 2009-07-01 | 厦门雅迅网络股份有限公司 | 一种通过gprs网络实现车载话音通讯方法 |
CN101389020A (zh) * | 2008-05-06 | 2009-03-18 | 李丹 | 一种扩展流媒体播放设备解码能力的方法 |
Non-Patent Citations (3)
Title |
---|
《2007通信理论与技术新发展--第十二届全国青年通信学术会议论文集(上册)》 20070831 虞小伟等 嵌入式系统中音频播放器的设计与实现 , * |
令狐昌健: "APE音频格式介绍", 《音响技术》, 31 December 2007 (2007-12-31) * |
虞小伟等: "嵌入式系统中音频播放器的设计与实现", 《2007通信理论与技术新发展——第十二届全国青年通信学术会议论文集(上册)》, 31 August 2007 (2007-08-31) * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103780611A (zh) * | 2014-01-17 | 2014-05-07 | Tcl集团股份有限公司 | 一种音乐分享方法及系统 |
CN105491255A (zh) * | 2014-09-18 | 2016-04-13 | 广东世纪网通信设备有限公司 | 一种降低语音传输负载的方法及系统 |
CN105261369A (zh) * | 2015-10-30 | 2016-01-20 | 李道恒 | 一种音乐分享方法及系统 |
CN105933313A (zh) * | 2016-04-20 | 2016-09-07 | 广东欧珀移动通信有限公司 | 一种多媒体数据的显示方法、系统及控制设备 |
CN109616145A (zh) * | 2018-12-12 | 2019-04-12 | 广州酷狗计算机科技有限公司 | 生成铃声文件的方法、装置及计算机可读存储介质 |
CN109640162A (zh) * | 2018-12-25 | 2019-04-16 | 北京数码视讯软件技术发展有限公司 | 码流转换方法及系统 |
CN109640162B (zh) * | 2018-12-25 | 2021-05-14 | 北京数码视讯软件技术发展有限公司 | 码流转换方法及系统 |
CN112597332A (zh) * | 2020-12-29 | 2021-04-02 | 深圳贝特莱电子科技股份有限公司 | 一种嵌入在mcu中的语音播放方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102385864B (zh) | 2013-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102385864B (zh) | 一种音频数据解码方法、装置及音频播放器 | |
KR101158717B1 (ko) | 반향 음향 신호를 코딩하는 방법 | |
CN103299366B (zh) | 用于编码及检测带水印信号的装置 | |
US8880404B2 (en) | Devices for adaptively encoding and decoding a watermarked signal | |
CA2578190C (en) | Device and method for generating a coded multi-channel signal and device and method for decoding a coded multi-channel signal | |
US8930182B2 (en) | Voice transformation with encoded information | |
RU2009134472A (ru) | Устройство и способ передачи последовательности пакетов данных и декодер и аппаратура для распознавания последовательности пакетов данных | |
TWI476759B (zh) | 用於編碼及解碼浮水印信號之裝置 | |
CN106528040A (zh) | 改进安卓设备音质的方法及装置 | |
TW200606842A (en) | Digital data coding apparatus, DVD recording apparatus, and method of using the same | |
CN102857833B (zh) | 一种适配android stagefright 多媒体框架的音频解码系统及方法 | |
CN101208872A (zh) | 用于对音频-视频编解码器进行抽象化的系统 | |
US20180240464A1 (en) | Pulse code modulation (pcm) data-marking | |
CN105869647B (zh) | 一种智能手机原生dsd音频解码方法、系统及智能手机 | |
CN102693728A (zh) | 一种手机跨平台语言传输解码方法 | |
CN108600813A (zh) | 一种媒体文件播放方法、装置以及媒体播放系统 | |
CN105047200A (zh) | 一种基于fpga的flac硬件解码器及解码方法 | |
CN112689194B (zh) | 功能机视频配乐方法、装置、终端设备及存储介质 | |
CN107545899A (zh) | 一种基于清音基音延迟抖动特性的amr隐写方法 | |
US20120123787A1 (en) | Audioaudio format converting apparatus and audioaudio format converting method | |
CN107393566A (zh) | 一种智能故事机的音频解码方法及装置 | |
JP3130747U (ja) | メモリー空間を節約可能なオーディオプレーヤー | |
CN102469360A (zh) | 嵌入式系统中基于双es接口的媒体数据播放方法 | |
KR100834155B1 (ko) | 음성 채널을 이용한 음원 데이터 전송 방법 및 장치 | |
KR20060023399A (ko) | 멀티미디어 데이터의 재생 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |