Tuner
极简网络电台播放器
发现并收听您喜爱的网络电台。
寻求贡献者!
我在2020年5月开始开发Tuner
,当时新冠疫情开始改变我们的生活,给了我一些时间来学习作为专业开发者生涯中无法学习的东西。
我从macOS转向Linux作为日常使用系统,学习了一些Linux编程,并选择Vala作为Tuner的开发语言。当时我正在使用elementary OS,他们为初学者提供了优秀的文档,介绍如何为elementary构建漂亮的应用程序。这极大地帮助我开始接触所有新事物。
那时,我从未想到Tuner
会在其他优秀的发行版上被成千上万次安装,比如Arch、MX Linux、Ubuntu、Fedora。2020年8月,我将Tuner
作为Flatpak应用发布,从那时起仅在Flathub上就被安装了超过18,000次!用户开始向我发送感谢,同时也有错误报告和功能请求。一些友好的贡献者让Tuner在MX Linux和Arch AUR仓库中可用。
也许就是在这个时候,我开始感受到开源项目带来的兴奋,同时也感受到责任的重担。我害怕继续前进因为不想破坏现有的东西,所以我休息了一下 :-)。
然而,用户仍在继续发送错误报告和功能请求。我希望Tuner
能继续发展,成为Linux环境中最好的小型网络电台接收器。
您可以帮助将Tuner翻译成您的语言
Tuner的翻译现在托管在Weblate上。请帮助将Tuner翻译成您的语言或修复任何翻译问题。
感谢Weblate团队慷慨地免费托管Tuner。
您是否有兴趣作为开发者或包维护者加入项目?
我需要帮助的事项:
- 更深入地集成到GNOME桌面环境(DBus等)
- 为Tuner开发新功能(技能:Vala/C)
- 为各发行版创建和维护Tuner软件包。您知道我们如何将Tuner纳入一些官方仓库吗?
- 帮助我修复用户报告的Flatpak错误
- 将Tuner翻译成更多语言
有兴趣吗? 请开启一个issue或给我发送电子邮件。
安装
Flathub
Tuner可在Flathub上获得,但存在一些已知的错误: https://flathub.org/apps/details/com.github.louis77.tuner
elementary OS
通过elementary的应用商店安装Tuner: https://appcenter.elementary.io/com.github.louis77.tuner
Arch Linux / AUR
基于Arch的GNU/Linux用户可以在AUR中找到名为tuner-git的Tuner
:
$ yay -S tuner-git
感谢@btd1377在Arch Linux上支持Tuner!
MX Linux
MX Linux用户可以使用MX包安装程序找到Tuner
(目前在MX-19的MX测试仓库选项卡下,以及MX-21的稳定仓库中)
感谢SwampRabbit为MX Linux打包Tuner!
Pacstall
Pacstall是Ubuntu的一个全新包管理器,提供类似AUR的社区驱动仓库来构建包。如果您已经使用pacstall
,可以安装Tuner:
$ pacstall -I tuner
如果您使用Ubuntu并希望在系统上干净地构建Tuner,可以考虑使用pacstall
而不是Flatpak(如果您不介意测试版软件的话)。获取pacstall
:
动机
我喜欢在工作时听广播。虽然有数以万计的酷炫网络电台可用,但我发现很难通过使用过滤器和流派来"发现"新的电台。目前,这个小应用程序去掉了所有过滤,只是每次使用时向我呈现新的电台。
在开发这个应用程序的过程中,我发现了许多酷炫的新电台,这让我更加享受。我希望你也能喜欢它。
功能
- 使用radio-browser.info目录
- 预设各种电台选择(随机、热门、趋势、流派)
- 保存喜爱的电台
- 点击电台时向radio-browser.info发送点击计数
- 当您收藏电台时向radio-browser.info发送投票计数
- DBus集成,可暂停/恢复播放并在Wingpanel中显示电台信息
即将推出
- 更多选择界面(热门网络、特定国家)
- 更多过滤选项(国家)
- 社区收听:查看其他用户当前正在收听的内容
- 其他想法?创建一个issue!
环境变量
TUNER_API
- 以:
分隔的API服务器列表,用于读取,例如export TUNER_API="de1.api.radio-browser.info:nl1.api.radio-browser.info"; com.github.louis77.tuner
依赖
granite
gtk+-3.0
gstreamer-1.0
gstreamer-player-1.0
libsoup-3.0
json-glib-1.0
libgee-0.8
meson
vala
构建
确保您已安装依赖:
sudo apt install git valac meson
sudo apt install libgtk-3-dev libgee-0.8-dev libgranite-dev libgstreamer1.0-dev libgstreamer-plugins-bad1.0-dev libsoup3.0-dev libjson-glib-dev
然后克隆此仓库并在本地构建:
meson build && cd build
meson configure -Dprefix=/usr
sudo ninja install
已知问题
- 如果AAC/AAC+流无法播放(在Elementary OS 6上发现),请安装以下依赖:
$ sudo apt install gstreamer1.0-libav
致谢
- faleksandar.com提供图标和颜色
- radio-browser.info提供免费的电台目录
- @NathanBnm - 法语翻译
- @DevAlien - 意大利语翻译
- @albanobattistella - 意大利语翻译
- @Vistaus - 荷兰语翻译
- @safak45x - 土耳其语翻译
- @btd1337 - 在Arch Linux / AUR上支持Tuner
- @SwampRabbit - 在MX Linux上支持Tuner
自由软件基金会
~~我是自由软件基金会的成员。~~没有GNU/Linux和全世界人们在自由软件方面的伟大工作,这个项目是不可能实现的。
更新2021-08-01:我不再是自由软件基金会的成员。
免责声明
Tuner使用社区驱动的电台目录radio-browser.info。Tuner不对显示的电台或实际的流媒体音频内容负责。