放射性托盘图标小程序非常整洁,它附带了各种预定义的广播电台,按类别排序。此外,我还增加了一些地方(以色列)电台,最后只有几十个电台。
为了准备即将到来的精确和需要有一个玩家为所有人,我想把这个列表转移到节奏盒。
到目前为止,我唯一知道的是,radiotray的无线电台被保存在一个XML文件中,@HOME/..local/share/无线电台/bookmarks.xml。
有什么想法吗?如何将RadioTray电台导入节奏盒?
发布于 2012-03-28 22:14:07

图像显示导入到Rhythmbox中的默认RadioTray无线电台。
RadioTray将其无线电台保存在XML文件中,该文件位于:
~/.local/share/radiotray/bookmarks.xmlRhythmbox以类似的方式将其所有数据保存在以下XML文件中:
~/.local/share/rhythmbox/rhythmdb.xml如果检查这两个文件,很明显XML格式(其定义的结构)是非常不同的。
一种解决方案是将Radio托盘XML格式转换为Rhythmbox可以理解的内容。
您可以使用结构化XML转换语言XSLT来执行此转换。
安装:
sudo apt-get install python-4suite-xml接下来,将下面的内容复制到一个新的gedit文件中
保存在一个名为xml的文件中(必要时创建文件夹~/xml/style )
接下来,将RadioTray XML文件复制到同一个文件夹~/xml中。
最后,将Rhythmbox XML文件复制到同一个文件夹~/xml中。
降落到终端:
cd ~/xml
4xslt bookmarks.xml style > test.xml这将将RadioTray重新格式化为RhythmBox可以读取的XML格式。
接下来,我们需要将这些新数据添加到Rhythmbox中。
现在,同时打开test.xml和rhythmdb.xml
将test.xml的内容复制到rhythmdb.xml文件中,第一行除外。注意-将内容粘贴到文件的末尾,即
</entry>
*****paste test.xml here*****
</rhythmdb>保存。
备份旧的rhythmdb.xml文件,然后复制新的rhythmdb.xml文件。
启动节拍盒
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="bookmarks/group/group/bookmark">
<entry type="iradio">
<title><xsl:value-of select="@name"/></title>
<genre><xsl:value-of select="translate(../@name,'','')"/></genre>
<artist></artist>
<album></album>
<location><xsl:value-of select="@url"/></location>
<date>0</date>
<media-type>application/octet-stream</media-type>
</entry>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>发布于 2012-03-25 05:39:58
这是有可能的。但是,这不会是一个快速或有趣的过程。
您将希望用您想要的任何程序打开bookmarks.xml (我个人会使用gedit),也可以打开Rhythmbox。打开节拍框后,您将需要右击左侧面板上的“收音机”和“新建互联网电台”。你会想要复制和粘贴每个电台的网址,你想要放进节奏盒。然后,你可以任意重命名他们。
你必须对每个urls都这么做。不会花太长时间,但很乏味。:(
https://askubuntu.com/questions/112536
复制相似问题