CN107993679A - 一种嵌入蓝牙耳机的缓冲式mp3音乐播放器的播放方法 - Google Patents

一种嵌入蓝牙耳机的缓冲式mp3音乐播放器的播放方法 Download PDF

Info

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
Application number
CN201711066668.6A
Other languages
English (en)
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.)
GUANGZHOU I-SPK ELECTRONIC TECHNOLOGY Co Ltd
Original Assignee
GUANGZHOU I-SPK ELECTRONIC TECHNOLOGY 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 GUANGZHOU I-SPK ELECTRONIC TECHNOLOGY Co Ltd filed Critical GUANGZHOU I-SPK ELECTRONIC TECHNOLOGY Co Ltd
Priority to CN201711066668.6A priority Critical patent/CN107993679A/zh
Publication of CN107993679A publication Critical patent/CN107993679A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • G11B2020/10546Audio or video recording specifically adapted for audio data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data 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离线播放器的产品渐渐地出现,但由于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是否空闲到一定程度的步骤。
CN201711066668.6A 2017-11-02 2017-11-02 一种嵌入蓝牙耳机的缓冲式mp3音乐播放器的播放方法 Pending CN107993679A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109151194A (zh) * 2018-08-14 2019-01-04 Oppo广东移动通信有限公司 数据传输方法、装置、电子设备以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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