Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
DIY综合交流区
豆瓣音乐支持更多频道的方法!!!
发布于 2011-08-01 21:41:56 浏览:5197
订阅该版
RTT Radio,我用豆瓣音乐做起床闹钟好几个月了. 这段时间发现华语频道老是默认第一首是梁静茹的【可惜不是你】,肯定是音乐公司出钱卖广告,或者管理列表的程序员喜欢这首歌 老大,多好听的音乐听多了都烦啦,就是因为手机铃声一成不变需要自己改,我才用豆瓣音乐做闹钟啊,就是贪它随机播歌啊。 现在豆瓣音乐已经十几个频道了,Radio原先的程序只能支持编号0~9,超过10就不行了。 douban_channel.c static const struct rtgui_list_item channel_list[] = { //频道列表 {"豆瓣华语Mhz", RT_NULL, function_douban, (void*)1}, } static void function_douban(struct rtgui_widget* widget, void *parameter) { rt_snprintf(channel_url, sizeof(channel_url), "douban://%d", channel); //语句1 生成URL string } mp3.c void douban_radio(const char* channel, const char* station) { douban = douban_radio_open(channel[9] - '0'); //语句2 这里打开豆瓣频道 } douban_radio.c struct douban_radio* douban_radio_open(int channel) { //这个函数支持int传入,当然不只0~9这10个频道了 后面调用了douban_radio_playlist_load 里面用了 DOUBAN_RADIO_URL_CHANNEL "http://douban.fm/j/mine/playlist?type=n&channel=%d" 里面又再来一次 %d ,就是真正的URL地址 } 原始代码只考虑了个位数字的ASCII的转换 --------------------------------------------------------------------------------------------------------- 改动思路: 你可以把int %d转成多位ASCII,再把多位ASCII转成int,这样就可以支持所有频道了 但感觉有点麻烦 我的方法是%c 直接存储int,不做ASCII转换。只需修改2句话 //rt_snprintf(channel_url, sizeof(channel_url), "douban://%d", channel); //语句1 生成URL string rt_snprintf(channel_url, sizeof(channel_url), "douban://%**c**", channel); //douban = douban_radio_open(channel[9]* - '0'*); //语句2 这里打开豆瓣频道 douban = douban_radio_open(channel[9]); ================================================================================ 下面列出我测试到的频道数据, 名字是用豆瓣官方播放器摘出来的, 没名字是测试出有效的 {"豆瓣-随意",0}, //这个即使豆瓣自己的播放器都不会列出,感觉是多个频道乱序播放 {"豆瓣-华语Mhz",1}, {"豆瓣-欧美MHz",2}, {"豆瓣-70年MHz",3}, {"豆瓣-80年MHz",4}, {"豆瓣-90年MHz",5}, {"豆瓣-粤语MHz",6}, {"豆瓣-摇滚MHz",7}, {"豆瓣-民谣MHz",8}, {"豆瓣-轻音乐MHz",9}, {"豆瓣-电影原声",10}, {"豆瓣-爵士",13}, {"豆瓣-电子",14}, {"豆瓣-说唱",15}, {"豆瓣-R&B",16}, {"豆瓣-日语",17}, {"豆瓣-韩语",18}, {"豆瓣-女声",20}, {"豆瓣-法语",22}, {"豆瓣23",23}, {"豆瓣-音乐人",26}, {"豆瓣-古典",27}, {"豆瓣-动漫",28}, {"豆瓣29",29}, {"豆瓣-咖啡",32}, {"豆瓣33",33}, {"豆瓣35",35}, {"豆瓣42",42}, {"豆瓣-城市悦行",43}, ============================================================= 认为有用的,请鼓掌!!! 谢谢。
查看更多
4
个回答
默认排序
按发布时间排序
bernard
2011-08-02
这家伙很懒,什么也没写!
鼓掌,不错不错! 也可以考虑弄成文件配置形式,这样就更不受制于电台频道更改了。另外,现在国内这样的电台越来越多了,欢迎挖掘更多的电台网站。
aozima
2011-08-02
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
刚特意试了一下,第一首换了好像.
aozima
2011-08-02
调网络不抓包,调I2C等时序不上逻辑分析仪,就像电工不用万用表!多用整理的好的文字,比截图更省流量,还能在整理过程中思考。
发现第二首还是<<至少还有你>>,前几天发现每次第一首都是这个.
撰写答案
登录
注册新账号
关注者
0
被浏览
5.2k
关于作者
HJJNOW
这家伙很懒,什么也没写!
提问
3
回答
6
被采纳
0
关注TA
发私信
相关问题
1
[项目]搞个开源的硬件项目
2
硬件计划贴,及时更新,欢迎提意见
3
软件计划贴,及时更新,欢迎提意见::WMA,MOUNT,LWIP等问题急需解决.
4
MMS协议
5
定点的wma解压库-libwma
6
QQ群记录 [20090821]
7
STM32网络收音机PCB报名征集
8
第一版调试记录
9
第二版硬件讨论
10
RADIO项目相关模块规格--欢迎大家自己做板时规格与此兼容,减少重复劳动
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
8
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
3
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部