把radioget的直播列表转换为smplayer直播列表的脚本

本文介绍如何将radioget的广播列表转换为smplayer可用的格式。通过一个bash脚本实现了这一转换过程,尽管smplayer不支持列表分类,但转换后的列表依然方便使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引用: [url]http://www.qtchina.net/?q=node/446[/url]

radioget是一个linux 下收听广播的小软件,可以媲美龙卷风很方便。
使用Qt4开发,移植性很好。
看了一下代码,发现广播列表在一个标准XML文件中,非常清晰。
本人经常用的是smplayer,所以写了一个脚本,把这个广播列表转换为smplayer的广播列表。
但smplayer不支持列表分类,最后的结果就是smplayer的广播列表非常长,但用起来还是相当方便的。

使用方法,下载并执行这个脚本,启动smplayer,在播放菜单中找广播列表。
执行的时候,如果smplayer正在运行,最好先退出。
随机测试了一下,大部分地址都还有效。

radioget_xml_to_smplayer_radio_list.sh:

[code type="bash"]
#!/bin/sh

# format
# #EXTM3U
# #EXTINF:0,vvv,
# mms://fff
# #EXTINF:0,fff,
# mms://ttt

# http://radioget.googlecode.com/svn/trunk/radiolist.xml
radio_get_xml=$HOME/.config/smplayer/radiolist.xml
smplayer_audio_file=$HOME/.config/smplayer/radio.m3u8
temp_audio_file=/tmp/radio.m3u8

if [ -f $radio_get_xml ] ; then
mv -v $radio_get_xml ${radio_get_xml}.bak
fi

wget -O $radio_get_xml http://radioget.googlecode.com/svn/trunk/radiolist.xml

echo "#EXTM3U" > $temp_audio_file

radio_caty=
while read radio
do
# echo $radio
xml_ver_line=`echo $radio|grep "xml version"`
xml_root_line=`echo $radio|grep "RadioGet"`
radio_cat_line=`echo $radio|grep "radiotag"`
radio_addr_line=`echo $radio|grep "url"`

if [ x"$xml_ver_line" = x"" ] ; then
true;
else
continue;
fi

if [ x"$xml_root_line" = x"" ] ; then
true;
else
continue;
fi

if [ x"$radio_cat_line" = x"" ] ; then
true;
else
radio_caty=`echo $radio|awk -F\" '{print $2}'`

if [ x"$radio_caty" = x"" ] ; then
# echo $radio_caty
true;
fi
continue;
fi

if [ x"$radio_addr_line" = x"" ] ; then
true;
else
radio_addr=`echo $radio|awk -F\" '{print $4}'`
radio_name=`echo $radio|awk -F\" '{print $2}'`

echo $radio_caty "->" $radio_name "->" $radio_addr
echo "#EXTINF:0,${radio_caty}->${radio_name}," >> $temp_audio_file
echo "$radio_addr" >> $temp_audio_file
fi

done < $radio_get_xml

mv -v $smplayer_audio_file ${smplayer_audio_file}.bak
cp -v $temp_audio_file ${smplayer_audio_file}

[/code]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值