搜索
bottom↓
回复: 7

经讨教“aozima”,学会网络收音机播放多首MP3的方法,下面跟大家分享。

[复制链接]

出0入0汤圆

发表于 2010-3-28 14:35:42 | 显示全部楼层 |阅读模式
网络收音机播放多首MP3的方法!
工具,SD卡,USB连接线,当然还在232 TO  TTL 线啦。好下面开始。

首先参考
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3935812&bbs_page_no=1&bbs_id=3066

把主存储器切换为SPI-FLASH。

然后,
开始建立播放多个MP3文件的播放列表。

方法有两种:
1.自己动手制作播放列表---先用记事本编辑,然后将后缀名TXT改为m3u,保存。

(原文件名:未命名.jpg)


2.手动将网络收音机用USB线与PC连起来,再在收音机外启动,“USB 联机”操作。然后PC端可以看到有三个存储器了。

接下来利用命令 ,在windows -> 开始->运行->CMD 回车
转到SD卡所在的盘符
如图:(我的SD盘符是 I )并输入  
“dir /b *.mp3 > play.m3u” 看清,中间是有空格。


(原文件名:QQ截图未命名.jpg)

列出所有mp3文件并输出到play.m3u,

到此,播放表已生成。



接下来,长文件名支持的开启。
收音机软件默认是不开启开长文件名LFN的。不过听“aozima” 介绍,开启后,生成的HEX文件会大很多。呵呵,没关系啦,空间够大,下面来开开玩玩。

在ffconf.h 的第88行,打开LFN,我打开的是模式 1
收音机根目录\filesystem\dfs\filesystems\elmfat\ffconf.h

#define        _USE_LFN        1                /* 0, 1 or 2 */

然后把转换表
收音机根目录\filesystem\dfs\filesystems\elmfat\option\cc936.c也同时加入工程..
重新编译,下载程序。。。。。。。。。。。。1分钟时间的等待。


(原文件名:1.jpg)


下面我自己玩玩收音去了。

然后播放这个m3u文件...就等于一次播放所有mp3了



。。。。。。。。。。。。
。。。。。。。。。。。。
前提下,SD中要有MP3音乐噢!!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2010-3-28 16:06:22 | 显示全部楼层
网络收音机网络收音完成没有?

出0入0汤圆

 楼主| 发表于 2010-3-28 16:10:41 | 显示全部楼层
可以网络收音。不过我功能暂时玩得比较少。

出0入0汤圆

发表于 2010-3-28 18:24:08 | 显示全部楼层
还真会把中文长文件名开启啊。。。那个空间呢。

出0入663汤圆

发表于 2010-3-28 23:00:27 | 显示全部楼层
回复【3楼】ffxz
还真会把中文长文件名开启啊。。。那个空间呢。
-----------------------------------------------------------------------

我一直是开着LFN的,RO-data由40K -> 210K。
UTF-16 <-> GBK两个转换表的cache算法,有没有什么好的建议?
解决了cache算法,就可以实现一套独立的基于文件的转换引擎,不再占那么多flash空间了。同时也可以把ID3v2支持也做了。

出0入0汤圆

发表于 2010-3-29 09:12:24 | 显示全部楼层
cache还是用平衡树来做吧,按照上次的splay tree实现,应该不会出现丢弃根节点的情况,也可以考虑用红黑树。

不过有一点,转换表文件的文件名应该不会也需要转换表吧?如果需要的话就没法做了。

出0入663汤圆

发表于 2010-3-29 15:37:41 | 显示全部楼层
回复【5楼】ffxz
cache还是用平衡树来做吧,按照上次的splay tree实现,应该不会出现丢弃根节点的情况,也可以考虑用红黑树。
不过有一点,转换表文件的文件名应该不会也需要转换表吧?如果需要的话就没法做了。
-----------------------------------------------------------------------

常用的Cache有个最大的缺点,cache数据结构消耗的资源,比目标大多了。UTF-16 -> GBK,只是一个2字节到2字节的mapping,splay tree额外加上十几字节,显得非常不划算,这是我犹豫的原因。当然,现在可以先用splay tree去实现,再慢慢想更好的算法。
转换表的文件名只要保证英文8.3格式,就不需要转换。

出0入0汤圆

发表于 2010-3-29 20:13:26 | 显示全部楼层
如果是这样,那么用一个数组来构造一个cache结构树,这样内存占用率应该会好些。只是如何构造这个树得下番功夫。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 11:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表