Le plugin https://pub.dev/packages/just_audio fonctionne parfaitement. Afin de pouvoir lire des flux en http sous Android ajoutez dans le manifest
<application
android:networkSecurityConfig="@xml/network_security_config"
...>
et créez le fichier XML :
res/xml/network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>
Pour assurer le fonctionnement en tâche de fond et notamment permettre un pilotage via le casque ajouter dans le manifest :
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/> Et en fin de manifest
<service android:name="com.ryanheise.audioservice.AudioService">
<intent-filter>
<action android:name="android.media.browse.MediaBrowserService" />
</intent-filter>
</service>
<receiver android:name="com.ryanheise.audioservice.MediaButtonReceiver" >
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</receiver>
A tester : https://pub.dev/packages/audio_service
Références :
https://pub.dev/packages/just_audio/example
http://doc.ubuntu-fr.org/liste_radio_france
https://stackoverflow.com/questions/45940861/android-8-cleartext-http-traffic-not-permitted