Je travaille sur une application radio dans laquelle je souhaite diffuser la radio en direct. J'ai une URL avec laquelle je vais diffuser la radio et jouer. Comment puis-je jouer au streaming en ligne en utilisant cette URL? Voici mon URL fumante:
"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 }
3 Réponses :
D'après ce que j'ai compris, Flutter ne gère pas ce cas d'utilisation, et vous devrez gérer le streaming audio en code natif via des plugins pour la plate-forme souhaitée.
Cela semble être un plugin populaire qui gère l'audio , mais qu'il gère ou non les flux et comment l'utiliser pour votre cas d'utilisation spécifique, est une autre question.
Je sais que je suis un peu en retard, mais jetez un œil à Fluttery Audio . Quelques conseils que j'ai trouvés en cours de route,
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
Flutter a un plugin appelé Flutter Radio https://pub.dev/packages/flutter_radio . La configuration est assez simple.
Créez simplement un nouveau projet Flutter puis ajoutez flutter_radio comme dépendance dans votre fichier pubspec.yaml. Collez le code suivant dans votre main.dart, remplacez la chaîne d'url par votre url, puis construisez et exécutez le projet sur votre émulateur et 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(), ) ], ) ), ), ); } }
cela fonctionne localement mais pas après la création de l'application
Avez-vous trouvé une solution? Je recherche également la même chose.
Malheureusement non