在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 2576|回复: 0

[原创] midi无法暂停恢复无法显示总时长,无法显示进度条

[复制链接]
发表于 2018-7-24 12:52:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
[DESCRIPTION]
midi无法暂停恢复无法显示总时长,无法显示进度条

[SOLUTION]

首先查看makefile中

LOW_COST_SUPPORT=COMMON

LARGE_MIDFILE_PLAY_SUPPORT=TRUE

以上这2个宏应该是处于开启状态的,表示节省空间,同时midi的播放采用直接从文件播放的方式进行。关于midi的播放方式一共有2种:
1 旧的方式,播放midi之前一次性将这个midi文件load到med的一块100k的buffer中,然后进行解析并播放。这种方式就是传统的播放方式,可以暂停恢复等等,相关的功能比较齐全。
2 新的播放方式,也是比较节省空间的方式,直接在ic文件系统中将midi文件打开,然后一边解析一边播放,这种方式唯一的好处就是可以支持较大的midi文件的播放,最大可以支持到2M左右的midi文件。具体可以支持多少大小的midi文件的播放由宏MAX_MID_FILE_SIZE来进行控制。这种播放方式的弊端就是无法获得文件总时长,播放的时候进度条上面显示的是当前播放的时间,没有显示文件总时长,因此进度条那边也是显示整条的进度,没有渐进的效果。同时也无法实现暂停恢复等功能。因此采用了这种播放方式之后就会牺牲掉一些别的功能。

以上2种播放方式各有利弊,需要取舍。

需要指明的是:LOW_COST_SUPPORT=COMMON的软件下必须开启LARGE_MIDFILE_PLAY_SUPPORT=TRUE

如果不想要从文件播放midi的方式要退回到旧的播放midi的方式的话,就必须我们帮忙重新提供code。

因为LOW_COST_SUPPORT这个宏必须由我们来帮忙关闭然后重新release,而LOW_COST_SUPPORT其实不仅仅是与audio相关应该还牵涉到别的模块,因此需要评估下是否确实要关闭LOW_COST_SUPPORT。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 12:49 , Processed in 0.014238 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表