AC695x学习笔记(6):顺序播放模式


前言

        在杰理的SDK中音乐模式下播放歌曲,已经做好了全部循环、单曲循环、文件夹循环播放以及随机播放等几种播放方式。但并未含有顺序播放(也叫列表播放,即按照顺序播放完整个文件夹中的最后一首歌曲后,便停止播放)的方式,需自行添加。


一、逻辑

        根据功能需求,我们需添加相应的逻辑:若当前模式为顺序/列表播放,则在歌曲播放完毕后进行判定是否为最后一首,若为最后一首,则进行停止解码,从而停止播放。反之非最后一首则接着播放下一首。

二、操作步骤

  • 开机默认播放模式:在我们使能开启音乐模式时,则在上电后系统会读取虚拟储存VM所存储的播放方式,用户可根据实际需求在user_cfg_new.c源文件中的cfg_file_parse( )函数中将播放模式标志位更改为所需的播放模式。

  • 播放模式更改:在系统运行时,我们也可通过music_player_change_repeat_mode( )函数来切换更改音乐播放的方式。(在默认的SDK中由于没有顺序播放模式,故无法正常切换到顺序播放的方式,需将函数进行小修改)

修改方式如下:

  • 逻辑判定:当设置好默认播放方式,以及将顺序/列表播放方式添加到循环切换播放模式中后,便可以在播放结束处理函数music_player_end_deal( )中的正常结束播放的处理中添加相应的逻辑:判定当前播放结束的是否为最后一首歌曲,且当前播放模式为顺序/列表播放。若都为真,则直接停止解码退出。反之则进行下一曲的播放。

三、其他

  •  注意事项一:该修改的播放模式仅仅针对的是音乐模式下的播放方式(U盘或者TF卡的播放),对于蓝牙歌曲或者FM调频下的歌曲播放无作用。

  • 注意事项二: 由于在播放完最后一首我们采取的是直接停止解码的方式,因此当我们的项目中存在需要显示的情况下,应在ui_music_main()显示主页面中对显示界面进行处理:

 ​​​​​


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值