CN107993679A - 一种嵌入蓝牙耳机的缓冲式mp3音乐播放器的播放方法 - Google Patents
一种嵌入蓝牙耳机的缓冲式mp3音乐播放器的播放方法 Download PDFInfo
- Publication number
- CN107993679A CN107993679A CN201711066668.6A CN201711066668A CN107993679A CN 107993679 A CN107993679 A CN 107993679A CN 201711066668 A CN201711066668 A CN 201711066668A CN 107993679 A CN107993679 A CN 107993679A
- Authority
- CN
- China
- Prior art keywords
- buffer
- mcu
- song
- data
- frame
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/10537—Audio or video recording
- G11B2020/10546—Audio or video recording specifically adapted for audio data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/10675—Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种嵌入蓝牙耳机的缓冲式MP3音乐播放器的播放方法,所述播放方法包括:蓝牙耳机的MCU读取建立于MCU里面的列表文件A并对比当前SD卡歌曲信息是否一致,若不一致,更新列表文件A;MCU读取列表文件A里的歌曲信息,加载歌曲信息到缓冲器里;MCU加载当前歌曲的信息,读取歌曲文件的数据;启动缓冲器,读取歌曲的数据,保存到缓冲器;一帧一帧地播放缓冲器内缓冲区内的数据,播放完成一帧,播放下一帧并产生回调信号,缓冲器读取歌曲的数据保存到缓冲器以保持缓冲区内至少有两帧数据直至当前歌曲播放完毕,其成本低,系统运行的效率高且保证了歌曲播放的流畅性。
Description
技术领域
本发明涉及电子设备,尤其涉及一种嵌入蓝牙耳机的缓冲式MP3音乐播放器的播放方法。
背景技术
目前市场上关于蓝牙耳机带MP3离线播放器的产品渐渐地出现,但由于MP3解码过程过于复杂,会消耗蓝牙耳机MCU大量的处理时间,所以大部分产品都会选择第三方开发的模块实现,但是这其中明显会出现一个缺点,就是额外添加多了一个MCU,这样会增加产品的功耗和成本。此外,由于蓝牙耳机MCU的处理能力有限,如直接移植MP3解码器到蓝牙耳机MCU实现播放整个功能的话,蓝牙耳机MCU工作起来也显得十分吃力。
发明内容
本发明的主要目的在于克服上述背景技术的不足,提供一种嵌入蓝牙耳机的缓冲式MP3音乐播放器的播放方法,其成本低,系统运行的效率高且保证了歌曲播放的流畅性。
上述目的是通过如下技术方案来实现的:
一种嵌入蓝牙耳机的缓冲式MP3音乐播放器的播放方法,在蓝牙耳机的MCU固件里移植有FAT32文件系统的模块以及第三方开源的MP3解码器,所述播放方法包括:
蓝牙耳机的MCU读取建立于MCU里面的列表文件A并对比当前SD卡歌曲信息是否一致,若不一致,更新列表文件A;
MCU读取列表文件A里的歌曲信息,加载歌曲信息到缓冲器里;
MCU加载当前歌曲的信息,读取歌曲文件的数据;
启动缓冲器,读取歌曲的数据,保存到缓冲器;
一帧一帧地播放缓冲器内缓冲区内的数据,播放完成一帧,播放下一帧并产生回调信号,缓冲器读取歌曲的数据保存到缓冲器以保持缓冲区内至少有两帧数据直至当前歌曲播放完毕。
在一些实施方式中,首次将SD卡插入MCU时,MCU新建列表文件A并将所有MP3类型文件的路径和名字记录到列表文件A里。
在一些实施方式中,当MCU加载当前歌曲的信息,读取歌曲文件的数据后,MCU判断缓冲区A是否空闲到一定程度的,若是,启动缓冲器,读取歌曲的数据,保存到缓冲器;若否,MCU判断缓冲器是否在启动,若是,启动缓冲器,读取歌曲的数据,保存到缓冲器。
在一些实施方式中,启动缓冲器,读取歌曲的数据,保存到缓冲器后,MCU判断缓冲区A是否填充到一定程度的,若是,关闭缓冲器。
在一些实施方式中,若MCU判断缓冲器不是在启动或者缓冲区A不是填充到一定程度的,MCU读取缓冲区A的一帧数据,判断数据是否为空,若是,设置标志位;若否,一帧数据进行解码。
在一些实施方式中,一帧数据进行解码后,MCU判断缓冲区B是否有两帧数据,若否,重复MCU判断缓冲区A是否空闲到一定程度的步骤;若是,播放完成一帧,播放下一帧并产生回调信号。
在一些实施方式中,设置标志位或者产生回调信号后,MCU判断数据是否读取完,若是,根据列表文件A进行歌曲切换;若否,重复MCU判断缓冲区A是否空闲到一定程度的步骤。
本发明与现有技术相比,至少具有如下效果:
1、本发明的一种嵌入蓝牙耳机的缓冲式MP3音乐播放器的播放方法,将第三方开源的MP3解码器移植到蓝牙耳机MCU固件里,通过MP3解码器的优化,MCU运行模式的改变(代码从flash转移到ram上),减少指令操作周期,从而形成加速的效果。将SD卡里的数据,使用缓冲的方式,提前将数据转移到MCU的RAM里,提高了系统运行的效率。音乐播放器采用了半保存半播放的方式,保证了歌曲播放的流畅性。
附图说明
图1是实施例中播放方法的流程示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一:如图1所示的,本实施例是一种嵌入蓝牙耳机的缓冲式MP3音乐播放器的播放方法,在蓝牙耳机的MCU固件里移植有FAT32文件系统的模块以及第三方开源的MP3解码器,所述播放方法包括:
蓝牙耳机的MCU读取建立于MCU里面的列表文件A并对比当前SD卡歌曲信息是否一致,若不一致,更新列表文件A;
MCU读取列表文件A里的歌曲信息,加载歌曲信息到缓冲器buffer里;
MCU加载当前歌曲的信息,读取歌曲文件的数据;
启动缓冲器,读取歌曲的数据,保存到缓冲器;
一帧一帧地播放缓冲器内缓冲区内的数据,播放完成一帧,播放下一帧并产生回调信号,缓冲器读取歌曲的数据保存到缓冲器以保持缓冲区内至少有两帧数据直至当前歌曲播放完毕。
本实施例的一种嵌入蓝牙耳机的缓冲式MP3音乐播放器的播放方法,将第三方开源的MP3解码器移植到蓝牙耳机MCU固件里,通过MP3解码器的优化,MCU运行模式的改变(代码从flash转移到ram上),减少指令操作周期,从而形成加速的效果。将SD卡里的数据,使用缓冲的方式,提前将数据转移到MCU的SRAM里,提高了系统运行的效率。音乐播放器采用了半保存半播放的方式,保证了歌曲播放的流畅性。
此外,FAT32文件系统的嵌入,使得蓝牙MCU能够读取SD里所有的文件和新建文件。
另外,MP3解码的方案选择用第三方的解码库,由于第三方的解码库适用于高性能的处理器,但此蓝牙MCU的性能勉强可以应对,所以需要对解码库源码进行部分优化和修改。源码大部分是c语言编写的,只需要将c语言的代码等价转化成汇编语言,就可以达到一定优化的结果。MP3相关解码的代码模块,从flash里代码转移到RAM上,在RAM上运行相关的代码模块,减少处理器的指令操作周期,从而速率能提高好几倍,更好地优化功耗。
进一步地,首次将SD卡插入MCU时,MCU新建列表文件A并将所有MP3类型文件的路径和名字记录到列表文件A里。在下次启动MCU时,会先主动读取列表文件A里的所有内容,从而获取歌曲的消息,然后进行对比,如果有变化,则进行更新列表文件A,否则无需任何操作。通过列表文件A的记录内容,能够迅速恢复播放器的状态。
进一步地,当MCU加载当前歌曲的信息,读取歌曲文件的数据后,MCU判断缓冲区A是否空闲到一定程度的,若是,启动缓冲器,读取歌曲的数据,保存到缓冲器;若否,MCU判断缓冲器是否在启动,若是,启动缓冲器,读取歌曲的数据,保存到缓冲器。
进一步地,启动缓冲器,读取歌曲的数据,保存到缓冲器后,MCU判断缓冲区A是否填充到一定程度的,若是,关闭缓冲器。
进一步地,若MCU判断缓冲器不是在启动或者缓冲区A不是填充到一定程度的,MCU读取缓冲区A的一帧数据,判断数据是否为空,若是,设置标志位;若否,一帧数据进行解码。
进一步地,一帧数据进行解码后,MCU判断缓冲区B是否有两帧数据,若否,重复MCU判断缓冲区A是否空闲到一定程度的步骤;若是,播放完成一帧,播放下一帧并产生回调信号。
进一步地,设置标志位或者产生回调信号后,MCU判断数据是否读取完,若是,根据缓冲器buffer内所述列表文件A进行歌曲切换;若否,重复MCU判断缓冲区A是否空闲到一定程度的步骤。
MP3解码都是一帧一帧地解码的,音乐播放器在此设计中,并不具有实时性,通过缓冲歌曲的buffer,延迟一帧的播放时间,保证了播放器的流畅性。播放方式采用一帧播放一帧缓冲(半保存半播放),保持缓冲区有两个帧的数据大小,当一帧播放完成,就会产生一个回调的信号,接收到此信号后,蓝牙MCU会进行下一帧的解码,解码完成后自动填充进缓冲区。
MP3播放器都是一帧一帧地播放的,由于MCU是通过SDIO跟外部SD卡通讯的,每次读取一帧的数据量并不大,导致通讯次数过于频繁,MCU功耗和占用MCU的资源不合理。在此,就引入一种新的处理方式,就是加大每次读取文件的数据量,把没有使用过的数据缓冲起来,一旦缓冲区填充到某种程度,就停止缓冲和读取文件数据,MP3解码器提取数据直接从缓冲区提取就可以了,当提取到一定的程度就会重新触发缓冲器,再次启动数据缓冲的方式。通过此方式,大大减少MCU跟外部SD卡通讯的次数,从而起到优化MCU功耗的作用。
另外,本实施例提供一种蓝牙MP3运动耳机,通过将MP3播放器嵌入蓝牙耳机的MCU固件,以减少外扩MP3模块,降低成本,优化功耗。
最后,本实施例还提供一种蓝牙MP3激光耳机,通过将MP3播放器嵌入蓝牙耳机的MCU固件,以减少外扩MP3模块,降低成本,优化功耗。
以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (7)
1.一种嵌入蓝牙耳机的缓冲式MP3音乐播放器的播放方法,其特征在于,在蓝牙耳机的MCU固件里移植有FAT32文件系统的模块以及第三方开源的MP3解码器,所述播放方法包括:
蓝牙耳机的MCU读取建立于MCU里面的列表文件A并对比当前SD卡歌曲信息是否一致,若不一致,更新列表文件A;
MCU读取列表文件A里的歌曲信息,加载歌曲信息到缓冲器里;
MCU加载当前歌曲的信息,读取歌曲文件的数据;
启动缓冲器,读取歌曲的数据,保存到缓冲器;
一帧一帧地播放缓冲器内缓冲区内的数据,播放完成一帧,播放下一帧并产生回调信号,缓冲器读取歌曲的数据保存到缓冲器以保持缓冲区内至少有两帧数据直至当前歌曲播放完毕。
2.根据权利要求1所述的一种嵌入蓝牙耳机的缓冲式MP3音乐播放器的播放方法,其特征在于,首次将SD卡插入MCU时,MCU新建列表文件A并将所有MP3类型文件的路径和名字记录到列表文件A里。
3.根据权利要求1或2所述的一种嵌入蓝牙耳机的缓冲式MP3音乐播放器的播放方法,其特征在于,当MCU加载当前歌曲的信息,读取歌曲文件的数据后,MCU判断缓冲区A是否空闲到一定程度的,若是,启动缓冲器,读取歌曲的数据,保存到缓冲器;若否,MCU判断缓冲器是否在启动,若是,启动缓冲器,读取歌曲的数据,保存到缓冲器。
4.根据权利要求3所述的一种嵌入蓝牙耳机的缓冲式MP3音乐播放器的播放方法,其特征在于,启动缓冲器,读取歌曲的数据,保存到缓冲器后,MCU判断缓冲区A是否填充到一定程度的,若是,关闭缓冲器。
5.根据权利要求4所述的一种嵌入蓝牙耳机的缓冲式MP3音乐播放器的播放方法,其特征在于,若MCU判断缓冲器不是在启动或者缓冲区A不是填充到一定程度的,MCU读取缓冲区A的一帧数据,判断数据是否为空,若是,设置标志位;若否,一帧数据进行解码。
6.根据权利要求5所述的一种嵌入蓝牙耳机的缓冲式MP3音乐播放器的播放方法,其特征在于,一帧数据进行解码后,MCU判断缓冲区B是否有两帧数据,若否,重复MCU判断缓冲区A是否空闲到一定程度的步骤;若是,播放完成一帧,播放下一帧并产生回调信号。
7.根据权利要求6所述的一种嵌入蓝牙耳机的缓冲式MP3音乐播放器的播放方法,其特征在于,设置标志位或者产生回调信号后,MCU判断数据是否读取完,若是,根据列表文件A进行歌曲切换;若否,重复MCU判断缓冲区A是否空闲到一定程度的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711066668.6A CN107993679A (zh) | 2017-11-02 | 2017-11-02 | 一种嵌入蓝牙耳机的缓冲式mp3音乐播放器的播放方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711066668.6A CN107993679A (zh) | 2017-11-02 | 2017-11-02 | 一种嵌入蓝牙耳机的缓冲式mp3音乐播放器的播放方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107993679A true CN107993679A (zh) | 2018-05-04 |
Family
ID=62031288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711066668.6A Pending CN107993679A (zh) | 2017-11-02 | 2017-11-02 | 一种嵌入蓝牙耳机的缓冲式mp3音乐播放器的播放方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107993679A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109151194A (zh) * | 2018-08-14 | 2019-01-04 | Oppo广东移动通信有限公司 | 数据传输方法、装置、电子设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104183250A (zh) * | 2014-08-26 | 2014-12-03 | 惠州Tcl移动通信有限公司 | 同步智能设备音乐播放器功能的方法、系统及蓝牙耳机 |
CN104240739A (zh) * | 2014-09-04 | 2014-12-24 | 广东欧珀移动通信有限公司 | 一种移动终端的音乐播放方法及装置 |
CN105429984A (zh) * | 2015-11-27 | 2016-03-23 | 刘军 | 媒体播放方法、设备及音乐教学系统 |
US20160132287A1 (en) * | 2014-11-12 | 2016-05-12 | Microsoft Technology Licensing, Llc | Dynamic Reconfiguration of Audio Devices |
US20170185374A1 (en) * | 2004-06-25 | 2017-06-29 | Apple Inc. | Using a plurality of buffers to provide audio for synchronized playback to multiple audio devices having separate device clocks |
-
2017
- 2017-11-02 CN CN201711066668.6A patent/CN107993679A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170185374A1 (en) * | 2004-06-25 | 2017-06-29 | Apple Inc. | Using a plurality of buffers to provide audio for synchronized playback to multiple audio devices having separate device clocks |
CN104183250A (zh) * | 2014-08-26 | 2014-12-03 | 惠州Tcl移动通信有限公司 | 同步智能设备音乐播放器功能的方法、系统及蓝牙耳机 |
CN104240739A (zh) * | 2014-09-04 | 2014-12-24 | 广东欧珀移动通信有限公司 | 一种移动终端的音乐播放方法及装置 |
US20160132287A1 (en) * | 2014-11-12 | 2016-05-12 | Microsoft Technology Licensing, Llc | Dynamic Reconfiguration of Audio Devices |
CN105429984A (zh) * | 2015-11-27 | 2016-03-23 | 刘军 | 媒体播放方法、设备及音乐教学系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109151194A (zh) * | 2018-08-14 | 2019-01-04 | Oppo广东移动通信有限公司 | 数据传输方法、装置、电子设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1643605B (zh) | 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置 | |
KR100825898B1 (ko) | 소형매체형식 파일들을 동기식 멀티미디어통합언어로변환하기 위한 시스템 및 방법 | |
RU2012111352A (ru) | Способ синхронизации воспроизведения и устройство, использующее этот способ | |
CN101510313A (zh) | 一种gif生成方法、系统及媒体播放器 | |
WO2002082810A1 (fr) | Appareil de reproduction video de contenu video numerique, procede de reproduction video, programme de reproduction video, et support de progiciel | |
CN101512656A (zh) | 具有提前渲染队列的gpu时间线 | |
EP1145744A3 (en) | Game system and computer readable storage medium therefor | |
CN102857833B (zh) | 一种适配android stagefright 多媒体框架的音频解码系统及方法 | |
CN101695123A (zh) | 可对媒体片段分别定制播放策略的媒体播放系统和方法 | |
CN107993679A (zh) | 一种嵌入蓝牙耳机的缓冲式mp3音乐播放器的播放方法 | |
CN106339210B (zh) | 一种网页游戏中数据处理方法及相关装置 | |
CN103713926A (zh) | 一种预更新软件客户端的方法及系统 | |
CN101729848A (zh) | 基于机顶盒的游戏功能实现方法 | |
TWI279137B (en) | Methods for processing media files, and related devices | |
CN103531224B (zh) | 应用于嵌入式系统平台的简易语音播放方法 | |
CN101345531B (zh) | Ogg格式码流的数据处理方法 | |
CN101272390B (zh) | 媒体文件的滤镜链路建立方法和装置 | |
US20150309998A1 (en) | Method and apparatus for playing a mp4 file container while generating such a file | |
CN102122300A (zh) | 一种视频格式转换的方法 | |
CN105957542B (zh) | 一种音频文件编辑方法及装置 | |
CN101646023A (zh) | 一种视频文件转换为swf文件的方法及系统 | |
CN101515274A (zh) | 一种手机音频数据读取播放方法 | |
CN101582284B (zh) | 数字相框的多媒体播放排程编辑系统及其方法 | |
CN105049881A (zh) | 基于流媒体服务器实现快进快退播放的方法及系统 | |
CN201838322U (zh) | 一种具有电子书语音阅读功能的dvd播放系统 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180504 |
|
WD01 | Invention patent application deemed withdrawn after publication |