如何在 Flutter 中播放在线广播?
Posted
技术标签:
【中文标题】如何在 Flutter 中播放在线广播?【英文标题】:How can I play online radio streaming in Flutter? 【发布时间】:2019-06-01 23:12:00 【问题描述】:我正在开发想要播放直播广播的广播应用程序。我有一个 url,我将使用它来播放广播和播放。如何使用此 url 播放在线流媒体?这是我的热气腾腾的网址:
"streams" : -[
-
"stream" : http://media.powerfm.se:80/high,
"bitrate" : 160,
"content_type" : ?,
"status" : 1,
"listeners" : 0
,
-
"stream" : fffff,
"bitrate" : 0,
"content_type" : ?,
"status" : 0,
"listeners" : 0
【问题讨论】:
你找到解决办法了吗?我也在寻找同样的东西。 很遗憾没有 【参考方案1】:我知道我对此有点晚了,但请查看Fluttery Audio。在此过程中我发现了一些建议,
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
-
Android 可以在后台播放音频 iOS 不能,直到对库进行更改。
【讨论】:
【参考方案2】:据我了解,Flutter 无法处理此用例,您必须通过所需平台的插件以本机代码处理音频流。
This seems to be a popular plugin that handles audio,但它是否处理流以及如何将它用于您的特定用例,是一个不同的问题。
【讨论】:
【参考方案3】:Flutter 有一个名为 Flutter Radio https://pub.dev/packages/flutter_radio 的插件。 设置非常简单。
只需创建一个新的 Flutter 项目,然后在 pubspec.yaml 文件中添加 flutter_radio 作为依赖项。将以下代码粘贴到您的 main.dart 中,用您的 url 替换 url 字符串,然后在您的模拟器和 wola 上构建并运行该项目!
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter_radio/flutter_radio.dart';
void main() => runApp(new MyApp());
class MyApp extends StatefulWidget
@override
_MyAppState createState() => new _MyAppState();
class _MyAppState extends State<MyApp>
String url = "https://ia802708.us.archive.org/3/items/count_monte_cristo_0711_librivox/count_of_monte_cristo_001_dumas.mp3";
@override
void initState()
super.initState();
audioStart();
Future<void> audioStart() async
await FlutterRadio.audioStart();
print('Audio Start OK');
@override
Widget build(BuildContext context)
return new MaterialApp(
home: new Scaffold(
appBar: new AppBar(
title: const Text('Audio Plugin Android'),
),
body: new Center(
child: Column(
children: <Widget>[
FlatButton(
child: Icon(Icons.play_circle_filled),
onPressed: () => FlutterRadio.play(url: url),
),
FlatButton(
child: Icon(Icons.pause_circle_filled),
onPressed: () => FlutterRadio.pause(),
)
],
)
),
),
);
【讨论】:
这在本地有效,但在构建应用程序后无效以上是关于如何在 Flutter 中播放在线广播?的主要内容,如果未能解决你的问题,请参考以下文章
如何从在线下载视频并将其存储在本地设备上,然后使用视频播放器在 Flutter 应用程序上播放视频?
Flutter 视频播放器,如 Youtube、Amazon Prime
如何在 Android 中播放在线广播流 url。如何在 android 中播放 .pls 广播流 url