电台播放器

一个Flutter插件,用于播放流式音频内容,支持后台播放和锁屏控制。

flutter platform pub package License: MIT

安装

要使用此软件包,请在您的pubspec.yaml文件中将radio_player添加为依赖项。

dependencies:
  radio_player: ^0.2.4

默认情况下,iOS禁止加载非https URL。要取消此限制,请编辑您的.plist并添加

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

如有必要,添加在后台播放的权限

<key>UIBackgroundModes</key>
<array>
    <string>audio</string>
    <string>processing</string>
</array>

仅适用于iOS 14+的调试模式,您还需要以下内容

<key>NSBonjourServices</key>
<array>
<string>_dartobservatory._tcp</string>
</array>

用法

要创建RadioPlayer实例,只需调用构造函数即可。

RadioPlayer radioPlayer = RadioPlayer();

用您的数据配置它。

radioPlayer.setMediaItem(TITLE, URL, IMAGE?);

播放器控制

radioPlayer.play();
radioPlayer.pause();

状态事件

您可以使用它来显示播放器正在播放还是已暂停。

bool isPlaying = false;
//...
radioPlayer.stateStream.listen((value) {
    setState(() { isPlaying = value; });
});

元数据事件

此事件返回当前元数据。

List<String>? metadata;
//...
radioPlayer.metadataStream.listen((value) {
    setState(() { metadata = value; });
});

贡献

欢迎提交拉取请求。对于重大更改,请先打开一个问题来讨论您想更改的内容。请确保适当更新测试。

GitHub

查看 Github