Flutter无线电台管理插件eassyradio的使用

easy Radio

easyRadio 是一个简单易用的单选按钮组件,支持水平和垂直方向的排列。

Demo

以下是一个简单的使用示例:

import 'package:flutter/material.dart';
import 'package:eassyradio/eassyradio.dart'; // 导入 eassyradio 插件

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Easy Radio 示例'),
        ),
        body: BodyWidget(),
      ),
    );
  }
}

class BodyWidget extends StatefulWidget {
  [@override](/user/override)
  _BodyWidgetState createState() => _BodyWidgetState();
}

class _BodyWidgetState extends State<BodyWidget> {
  String? _selectedValue; // 用于存储选中的值

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Center(
      child: EassyRadio(
        titles: const ['Dli', 'Non Dli'], // 单选按钮的标题
        values: const ['dli', 'no dli'], // 单选按钮对应的值
        getData: (e) {
          setState(() {
            _selectedValue = e; // 更新选中的值
          });
          print(_selectedValue); // 打印选中的值
        },
      ),
    );
  }
}
1 回复

更多关于Flutter无线电台管理插件eassyradio的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


easy_radio 是一个用于在 Flutter 应用中管理无线电台的插件。它允许你轻松地播放、暂停、切换电台,并获取当前播放的电台信息。以下是如何使用 easy_radio 插件的基本步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 easy_radio 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  easy_radio: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来获取依赖。

2. 导入插件

在你的 Dart 文件中导入 easy_radio 插件:

import 'package:easy_radio/easy_radio.dart';

3. 初始化电台管理器

在使用 easy_radio 之前,你需要初始化 RadioManager

RadioManager radioManager = RadioManager();

4. 播放电台

你可以使用 play 方法来播放一个电台。你需要提供电台的 URL:

String radioUrl = "http://example.com/radio.mp3";
radioManager.play(radioUrl);

5. 暂停播放

你可以使用 pause 方法来暂停当前播放的电台:

radioManager.pause();

6. 停止播放

你可以使用 stop 方法来停止当前播放的电台:

radioManager.stop();

7. 切换电台

你可以使用 play 方法来切换到一个新的电台:

String newRadioUrl = "http://example.com/new_radio.mp3";
radioManager.play(newRadioUrl);

8. 获取当前播放状态

你可以使用 isPlaying 方法来检查当前是否有电台正在播放:

bool isPlaying = await radioManager.isPlaying();

9. 获取当前播放的电台信息

你可以使用 getCurrentRadio 方法来获取当前播放的电台信息:

String currentRadio = await radioManager.getCurrentRadio();

10. 监听播放状态变化

你可以使用 onPlayerStateChanged 来监听播放状态的变化:

radioManager.onPlayerStateChanged.listen((state) {
  print("Player state changed: $state");
});

11. 释放资源

在应用退出或不再需要播放电台时,记得释放资源:

radioManager.dispose();

完整示例

以下是一个完整的示例,展示了如何使用 easy_radio 插件来播放、暂停、切换电台,并监听播放状态变化:

import 'package:flutter/material.dart';
import 'package:easy_radio/easy_radio.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: RadioPlayerScreen(),
    );
  }
}

class RadioPlayerScreen extends StatefulWidget {
  @override
  _RadioPlayerScreenState createState() => _RadioPlayerScreenState();
}

class _RadioPlayerScreenState extends State<RadioPlayerScreen> {
  RadioManager radioManager = RadioManager();
  String currentRadio = "No radio playing";

  @override
  void initState() {
    super.initState();
    radioManager.onPlayerStateChanged.listen((state) {
      setState(() {
        currentRadio = state == PlayerState.playing
            ? "Playing: ${radioManager.getCurrentRadio()}"
            : "No radio playing";
      });
    });
  }

  @override
  void dispose() {
    radioManager.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Easy Radio Example'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(currentRadio),
            ElevatedButton(
              onPressed: () {
                radioManager.play("http://example.com/radio.mp3");
              },
              child: Text('Play Radio 1'),
            ),
            ElevatedButton(
              onPressed: () {
                radioManager.play("http://example.com/new_radio.mp3");
              },
              child: Text('Play Radio 2'),
            ),
            ElevatedButton(
              onPressed: () {
                radioManager.pause();
              },
              child: Text('Pause'),
            ),
            ElevatedButton(
              onPressed: () {
                radioManager.stop();
              },
              child: Text('Stop'),
            ),
          ],
        ),
      ),
    );
  }
}

注意事项

  • 确保你提供的电台 URL 是有效的,并且支持流媒体播放。
  • 在 Android 上,你可能需要在 AndroidManifest.xml 中添加网络权限:
<uses-permission android:name="android.permission.INTERNET"/>
  • 在 iOS 上,你可能需要在 Info.plist 中添加以下内容以允许网络请求:
<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
</dict>
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!