sithira / flutterradioplayer Goto Github PK
View Code? Open in Web Editor NEWFlutter Radio Player, A Plugin to handle streaming audio without a hassle
License: BSD 3-Clause "New" or "Revised" License
Flutter Radio Player, A Plugin to handle streaming audio without a hassle
License: BSD 3-Clause "New" or "Revised" License
Hello, in your example I saw that your package makes it possible to get the current Artist and Song but both things are displayed in one TextWidget with snapshot.data.
Is it possible to show Artist and Song in different Text Widgets?
Do your package also provides the ability to show the album cover or the album name or the song length?
The recent flutter update does not let me debug/build the app because the package does not support null safety.
Please update.
So the following is going to look like a mess (sorry in advance)
However I needed away to do a GridView that allowed the user to change station.
When the app launches the app starts playing as it is meant to however when I click on a stations logo it does not start playing said station.
If anyone can assist that would be great.
Full code:
`import 'dart:async';
import 'dart:convert';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:http/http.dart' as http;
import 'package:flutter/services.dart';
import 'package:flutter_radio_player/flutter_radio_player.dart';
import './screens/trackswidget.dart';
import 'about_widget.dart';
/* TO FETCH PHOTOS */
Photo photoFromJson(String str) => Photo.fromJson(json.decode(str));
String photoToJson(Photo data) => json.encode(data.toJson());
class Photo {
Photo({
this.data,
});
List data;
factory Photo.fromJson(Map<String, dynamic> json) => Photo(
data: List.from(json["data"].map((x) => Datum.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"data": List.from(data.map((x) => x.toJson())),
};
}
class Datum {
Datum({
this.id,
this.name,
this.imageurl,
this.website,
this.listenlive,
});
String id;
String name;
String imageurl;
String website;
String listenlive;
factory Datum.fromJson(Map<String, dynamic> json) => Datum(
id: json["_id"],
name: json["name"],
imageurl: json["imageurl"],
website: json["website"],
listenlive: json["listenlive"],
);
Map<String, dynamic> toJson() => {
"_id": id,
"name": name,
"imageurl": imageurl,
"website": website,
"listenlive": listenlive,
};
}
/* TO FETCH PHOTOS */
Future fetchPhotos(http.Client client) async {
final response =
//await client.get('https://jsonplaceholder.typicode.com/photos');
await client.get('https://api.drn1.com.au/station/allstations');
// Use the compute function to run parsePhotos in a separate isolate.
return compute(parsePhotos, response.body);
}
// A function that converts a response body into a List.
Photo parsePhotos(String responseBody) {
return photoFromJson(responseBody);
}
class PhotosList extends StatelessWidget {
final Photo photos;
FlutterRadioPlayer _flutterRadioPlayer = new FlutterRadioPlayer();
PhotosList({Key key, this.photos}) : super(key: key);
@OverRide
Widget build(BuildContext context) {
return GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 1,
childAspectRatio: MediaQuery.of(context).size.width /
(MediaQuery.of(context).size.height / 4), //childAspectRatio: 200,
),
scrollDirection: Axis.horizontal,
itemCount: photos.data.length,
itemBuilder: (context, index) {
return RaisedButton(
padding: const EdgeInsets.all(0),
textColor: Colors.white,
color: Colors.red,
onPressed: () async { await _flutterRadioPlayer.setUrl(photos.data[index].listenlive+'?uuid=0000-0000-0000-0000', "false");
},
child: CachedNetworkImage(
imageUrl: photos.data[index].imageurl,
placeholder: (context, url) => CircularProgressIndicator(),
errorWidget: (context, url, error) => Icon(Icons.error),
),
);
// return Image.network(photos.data[index].imageurl, width: 80.0, height: 80.0,);
},
);
}
}
/END FETCH PHOTOS/
/END FETCH PHOTOS/
/* RADIO STATIONS */
Radata radataFromJson(String str) => Radata.fromJson(json.decode(str));
String radataToJson(Radata data) => json.encode(data.toJson());
class Radata {
Radata({
this.data,
});
List data;
factory Radata.fromJson(Map<String, dynamic> json) => Radata(
data: List.from(json["data"].map((x) => Radio.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"data": List.from(data.map((x) => x.toJson())),
};
}
class Radio {
Radio({
this.id,
this.name,
this.imageurl,
this.website,
this.listenlive,
});
String id;
String name;
String imageurl;
String website;
String listenlive;
factory Radio.fromJson(Map<String, dynamic> json) => Radio(
id: json["_id"],
name: json["name"],
imageurl: json["imageurl"],
website: json["website"],
listenlive: json["listenlive"],
);
Map<String, dynamic> toJson() => {
"_id": id,
"name": name,
"imageurl": imageurl,
"website": website,
"listenlive": listenlive,
};
}
/* END RADIO STATIONS*/
class Home extends StatefulWidget {
var playerState = FlutterRadioPlayer.flutter_radio_paused;
var volume = 0.8;
@OverRide
State createState() {
return _HomeState();
}
}
class _HomeState extends State {
Future _future;
Future getHttp() async {
http.Response response =
await http.get("https://api.drn1.com.au/station/allstations");
if (response.statusCode == 200) {
return radataFromJson(response.body);
}
}
bool check = true;
int _currentIndex = 0;
FlutterRadioPlayer _flutterRadioPlayer = new FlutterRadioPlayer();
@OverRide
void initState() {
_future = getHttp();
initRadioService();
super.initState();
}
Future initRadioService() async {
try {
await _flutterRadioPlayer.init(
"DRN1", "Live", "http://stream.radiomedia.com.au:8003/stream", "true");
} on PlatformException {
print("Exception occurred while trying to register the services.");
}
//await _flutterRadioPlayer.play();
}
Future changestation(e) async{
try {
await _flutterRadioPlayer.setUrl(e, "true");
// await _flutterRadioPlayer.play();
} on PlatformException {
print("Exception occurred while trying to register the services.");
}
}
final List _children = [TracksWidget(),
AboutWidget()];
@OverRide
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.black,
title: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text('DRN',style: TextStyle(color: Colors.white, fontSize: 40.0),),
const Text('1', style: TextStyle(color: Colors.red, fontSize: 40.0),)
],
),
),
//body: _children[_currentIndex],
body: Column(children: [
FutureBuilder(
future: fetchPhotos(http.Client()),
builder: (context, snapshot) {
if (snapshot.hasError) print(snapshot.error);
return snapshot.hasData
? Expanded(child: PhotosList(photos: snapshot.data))
: Center(child: CircularProgressIndicator());
},
),
]),
/*Column(
children: [ SizedBox(
height:200,
child:ListView(
// This next line does the trick.
scrollDirection: Axis.horizontal,
children: <Widget>[
Container(
width: 200.0,
height: 200.0,
color: Colors.red,
child: new RaisedButton(
padding: const EdgeInsets.all(0),
textColor: Colors.white,
color: Colors.red,
onPressed: () async { await changestation('http://stream.radiomedia.com.au:8006/stream');
},
child: CachedNetworkImage(
imageUrl: "http://via.placeholder.com/200x200",
placeholder: (context, url) => CircularProgressIndicator(),
errorWidget: (context, url, error) => Icon(Icons.error),
),
),
),
GestureDetector(
child: SizedBox(
width: 200,
height:200,
child: CachedNetworkImage(
imageUrl: "http://via.placeholder.com/200x200",
placeholder: (context, url) => CircularProgressIndicator(),
errorWidget: (context, url, error) => Icon(Icons.error),
),
),
onTap:() async { await changestation('http://stream.radiomedia.com.au:8015/stream');}
),
/*child: new RaisedButton(
padding: const EdgeInsets.all(0),
textColor: Colors.white,
color: Colors.blue,
onPressed: () async { await changestation('http://stream.radiomedia.com.au:8015/stream');
},
child: CachedNetworkImage(
imageUrl: "http://via.placeholder.com/200x200",
placeholder: (context, url) => CircularProgressIndicator(),
errorWidget: (context, url, error) => Icon(Icons.error),
),
),
*/
Container(
width: 200.0,
height: 200.0,
color: Colors.green,
),
Container(
width: 200.0,
height: 200.0,
color: Colors.yellow,
),
Container(
width: 200.0,
height: 200.0,
color: Colors.orange,
),
],
),
),
FutureBuilder<List<Photo>>(
future: fetchPhotos(http.Client()),
builder: (context, snapshot) {
if (snapshot.hasError) print(snapshot.error);
return snapshot.hasData
? Expanded(child: PhotosList(photos: snapshot.data))
: Center(child: CircularProgressIndicator());
},
),
Row(
children: <Widget>[
Expanded(
child: new RaisedButton(
padding: const EdgeInsets.all(8.0),
textColor: Colors.white,
color: Colors.blue,
onPressed: () async { await changestation('http://stream.radiomedia.com.au:8015/stream');
},
child: new Text("Change Station"),
),
),
Expanded(
child: Text('Craft beautiful UIs', textAlign: TextAlign.center),
),
Expanded(
child: FittedBox(
fit: BoxFit.contain, // otherwise the logo will be tiny
child: const FlutterLogo(),
),
),
],
),
]),*/
/* body: Center(
child: Column(
children: [
StreamBuilder(
stream: _flutterRadioPlayer.isPlayingStream,
initialData: widget.playerState,
builder:
(BuildContext context, AsyncSnapshot snapshot) {
String returnData = snapshot.data;
print("object data: " + returnData);
switch (returnData) {
case FlutterRadioPlayer.flutter_radio_stopped:
return RaisedButton(
child: Text("Start listening now"),
onPressed: () async {
await initRadioService();
});
break;
case FlutterRadioPlayer.flutter_radio_loading:
return Text("Loading stream...");
case FlutterRadioPlayer.flutter_radio_error:
return RaisedButton(
child: Text("Retry ?"),
onPressed: () async {
await initRadioService();
});
break;
default:
return Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
IconButton(
onPressed: () async {
print("button press data: " +
snapshot.data.toString());
await _flutterRadioPlayer.playOrPause();
},
icon: snapshot.data ==
FlutterRadioPlayer
.flutter_radio_playing
? Icon(Icons.pause)
: Icon(Icons.play_arrow)),
IconButton(
onPressed: () async {
await _flutterRadioPlayer.stop();
},
icon: Icon(Icons.stop))
]);
break;
}
}),
Slider(
value: widget.volume,
min: 0,
max: 1.0,
onChanged: (value) => setState(() {
widget.volume = value;
_flutterRadioPlayer.setVolume(widget.volume);
})),
Text("Volume: " + (widget.volume * 100).toStringAsFixed(0))
],
),
),
*/
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
floatingActionButton: Container(
height: 80.0,
width: 80.0,
child: FittedBox(
child:FloatingActionButton(
onPressed: () => {
setState((){
if(check)
{
check = false;
_flutterRadioPlayer.play();
print("false");
}
else
{
check = true;
_flutterRadioPlayer.pause();
print("true");
}
}),
},
child: Icon(check ? Icons.play_arrow: Icons.pause),
backgroundColor: Colors.black,
mini: true,
),
),
),
bottomNavigationBar: BottomAppBar(
shape: CircularNotchedRectangle(),
child: Container(
decoration:
new BoxDecoration(color: new Color(0xFFFF0000)),
height: 75,
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
IconButton(
iconSize: 30.0,
padding: EdgeInsets.only(left: 28.0),
icon: Icon(Icons.home),
onPressed: () {
setState(() {
onTabTapped(0);
});
},
),
/* IconButton(
iconSize: 30.0,
padding: EdgeInsets.only(right: 28.0),
icon: Icon(Icons.search),
onPressed: () {
setState(() {
onTabTapped(1);
});
},
),
IconButton(
iconSize: 30.0,
padding: EdgeInsets.only(left: 28.0),
icon: Icon(Icons.notifications),
onPressed: () {
setState(() {
onTabTapped(2);
});
},
),*/
IconButton(
iconSize: 30.0,
padding: EdgeInsets.only(right: 28.0),
icon: Icon(Icons.info_outline),
onPressed: () {
setState(() {
onTabTapped(1);
});
},
)
],
),
),
),// new
);
}
void onTabTapped(int index) {
setState(() {
_currentIndex = index;
});
}
}`
Steps to reproduce:
flutter_radio_player: ^1.0.3
to your pubspec.yamlflutter run
Stacktrace:
E/flutter (21695): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method initService on channel flutter_radio_player)
E/flutter (21695): #0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:319:7)
E/flutter (21695): <asynchronous suspension>
E/flutter (21695): #1 FlutterRadioPlayer.init (package:flutter_radio_player/flutter_radio_player.dart:23:27)
E/flutter (21695): #2 _MyAppState.initRadioService (package:saloniker/main.dart:29:33)
E/flutter (21695): #3 _MyAppState.initState (package:saloniker/main.dart:24:5)
E/flutter (21695): #4 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4355:58)
E/flutter (21695): #5 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
E/flutter (21695): #6 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
E/flutter (21695): #7 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
E/flutter (21695): #8 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1028:16)
E/flutter (21695): #9 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:999:5)
E/flutter (21695): #10 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:942:17)
E/flutter (21695): #11 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2412:19)
E/flutter (21695): #12 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:941:13)
E/flutter (21695): #13 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:819:7)
E/flutter (21695): #14 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:804:7)
E/flutter (21695): #15 _rootRun (dart:async/zone.dart:1122:38)
E/flutter (21695): #16 _CustomZone.run (dart:async/zone.dart:1023:19)
E/flutter (21695): #17 _CustomZone.runGuarded (dart:async/zone.dart:925:7)
E/flutter (21695): #18 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:965:23)
E/flutter (21695): #19 _rootRun (dart:async/zone.dart:1126:13)
E/flutter (21695): #20 _CustomZone.run (dart:async/zone.dart:1023:19)
E/flutter (21695): #21 _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:949:23)
E/flutter (21695): #22 Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:23:15)
E/flutter (21695): #23 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:384:19)
E/flutter (21695): #24 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:418:5)
E/flutter (21695): #25 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)
E/flutter (21695):
I/flutter (21695): ══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
I/flutter (21695): The following MissingPluginException was thrown while activating platform stream on channel
I/flutter (21695): flutter_radio_player_stream:
I/flutter (21695): MissingPluginException(No implementation found for method listen on channel
I/flutter (21695): flutter_radio_player_stream)
I/flutter (21695):
I/flutter (21695): When the exception was thrown, this was the stack:
I/flutter (21695): #0 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:319:7)
I/flutter (21695): <asynchronous suspension>
I/flutter (21695): #1 EventChannel.receiveBroadcastStream.<anonymous closure> (package:flutter/src/services/platform_channel.dart:517:29)
I/flutter (21695): #3 EventChannel.receiveBroadcastStream.<anonymous closure> (package:flutter/src/services/platform_channel.dart:503:64)
I/flutter (21695): #11 _StreamBuilderBaseState._subscribe (package:flutter/src/widgets/async.dart:135:37)
I/flutter (21695): #12 _StreamBuilderBaseState.initState (package:flutter/src/widgets/async.dart:109:5)
I/flutter (21695): #13 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4355:58)
I/flutter (21695): #14 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #15 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #16 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5551:32)
I/flutter (21695): #17 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #18 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #19 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #20 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #21 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #22 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #23 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #24 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #25 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #26 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #27 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #28 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #29 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #30 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #31 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #32 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #33 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #34 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #35 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #36 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #37 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #38 ParentDataElement.mount (package:flutter/src/widgets/framework.dart:4617:11)
I/flutter (21695): #39 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #40 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5551:32)
I/flutter (21695): #41 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #42 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #43 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #44 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #45 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #46 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #47 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #48 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #49 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #50 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #51 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #52 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #53 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #54 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #55 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #56 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #57 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #58 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #59 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #60 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #61 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #62 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #63 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #64 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #65 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #66 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #67 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #68 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #69 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #70 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #71 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #72 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #73 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #74 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #75 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #76 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #77 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #78 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #79 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #80 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #81 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #82 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #83 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #84 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #85 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #86 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #87 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #88 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #89 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #90 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #91 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #92 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #93 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #94 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #95 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #96 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #97 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #98 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #99 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #100 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #101 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #102 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #103 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #104 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #105 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #106 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #107 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #108 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #109 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #110 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #111 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #112 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #113 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #114 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #115 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #116 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #117 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #118 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #119 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #120 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #121 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #122 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #123 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #124 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #125 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #126 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #127 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #128 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #129 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #130 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #131 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #132 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #133 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #134 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #135 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #136 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #137 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #138 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #139 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #140 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #141 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #142 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #143 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #144 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #145 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #146 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #147 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #148 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #149 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #150 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #151 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #152 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #153 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #154 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #155 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #156 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #157 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #158 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #159 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #160 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #161 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #162 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #163 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #164 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #165 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #166 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #167 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #168 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #169 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #170 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #171 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #172 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #173 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #174 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #175 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #176 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #177 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #178 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #179 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #180 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #181 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #182 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #183 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #184 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #185 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #186 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #187 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #188 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #189 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #190 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #191 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #192 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #193 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #194 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #195 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #196 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #197 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #198 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #199 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #200 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #201 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #202 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #203 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5551:32)
I/flutter (21695): #204 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #205 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #206 _TheatreElement.mount (package:flutter/src/widgets/overlay.dart:591:16)
I/flutter (21695): #207 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #208 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #209 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #210 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #211 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #212 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #213 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #214 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #215 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #216 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #217 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #218 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #219 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #220 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #221 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #222 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #223 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #224 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #225 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #226 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #227 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #228 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #229 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #230 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #231 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #232 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #233 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #234 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #235 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #236 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #237 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #238 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #239 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #240 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #241 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #242 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #243 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #244 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #245 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #246 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #247 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #248 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #249 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #250 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #251 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #252 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #253 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #254 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #255 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #256 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #257 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #258 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #259 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #260 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #261 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #262 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #263 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #264 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #265 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #266 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #267 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #268 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #269 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #270 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #271 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #272 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #273 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #274 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #275 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #276 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #277 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #278 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #279 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #280 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #281 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #282 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #283 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #284 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #285 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #286 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #287 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #288 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #289 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #290 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #291 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #292 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #293 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #294 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #295 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #296 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #297 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #298 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #299 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #300 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #301 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #302 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #303 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #304 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #305 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #306 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #307 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #308 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #309 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #310 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #311 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #312 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #313 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #314 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #315 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #316 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #317 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #318 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #319 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #320 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #321 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #322 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #323 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #324 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #325 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #326 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #327 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #328 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #329 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #330 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #331 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #332 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #333 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #334 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #335 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #336 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #337 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #338 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #339 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #340 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #341 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #342 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #343 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #344 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #345 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #346 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #347 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #348 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #349 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #350 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #351 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #352 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #353 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #354 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #355 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #356 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #357 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #358 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #359 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #360 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #361 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #362 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #363 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #364 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #365 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #366 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #367 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #368 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #369 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #370 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #371 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #372 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #373 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #374 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #375 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #376 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #377 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #378 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #379 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #380 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5445:14)
I/flutter (21695): #381 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #382 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #383 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #384 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #385 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #386 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #387 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #388 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #389 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #390 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #391 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #392 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #393 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #394 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #395 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
Syncing files to device GM1910... 5.188ms (!)
I/flutter (21695): #396 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #397 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #398 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #399 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #400 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #401 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #402 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #403 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #404 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #405 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #406 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #407 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #408 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #409 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #410 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #411 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #412 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #413 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #414 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #415 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #416 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #417 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #418 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #419 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #420 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #421 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #422 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #423 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4243:16)
I/flutter (21695): #424 Element.rebuild (package:flutter/src/widgets/framework.dart:3947:5)
I/flutter (21695): #425 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4206:5)
I/flutter (21695): #426 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4381:11)
I/flutter (21695): #427 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5)
I/flutter (21695): #428 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14)
I/flutter (21695): #429 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12)
I/flutter (21695): #430 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1028:16)
I/flutter (21695): #431 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:999:5)
I/flutter (21695): #432 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:942:17)
I/flutter (21695): #433 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2412:19)
I/flutter (21695): #434 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:941:13)
I/flutter (21695): #435 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:819:7)
I/flutter (21695): #436 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:804:7)
I/flutter (21695): #445 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:384:19)
I/flutter (21695): #446 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:418:5)
I/flutter (21695): #447 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)
I/flutter (21695): (elided 16 frames from package dart:async and package dart:async-patch)
In Android 31 i'm getting an error, that the PendingIntent needs a flag.
I tried to fix it by adding "PendingIntent.FLAG_IMMUTABLE", but i had no luck.
Is there a solution for this problem?
This is the error log:
Launching lib/main.dart on sdk gphone64 arm64 in debug mode...
✓ Built build/app/outputs/flutter-apk/app-debug.apk.
Connecting to VM Service at ws://127.0.0.1:58465/2GRamNiEcaY=/ws
I/javaClass(10003): Calling to method: initService
I/javaClass(10003): start service invoked
I/javaClass(10003): Attempting to initialize service...
I/javaClass(10003): Service not bound, binding now....
I/javaClass(10003): Mapping method call to player item object
I/javaClass(10003): Firing up service. (onStartCommand)...
I/javaClass(10003): LocalBroadCastManager Received...
W/t.studiopiu.vm(10003): Accessing hidden method Landroid/media/AudioTrack;->getLatency()I (unsupported, reflection, allowed)
I/ExoPlayerImpl(10003): Init 66048fd [ExoPlayerLib/2.13.1] [emulator64_arm64, sdk_gphone64_arm64, Google, 31]
I/javaClass(10003): Pushing Event: flutter_radio_stopped
I/javaClass(10003): onPlayerStateChanged: STOPPED
I/javaClass(10003): Pushing Event: flutter_radio_loading
I/javaClass(10003): onPlayerStateChanged: LOADING
D/CompatibilityChangeReporter(10003): Compat change id reported: 160794467; UID 10146; state: ENABLED
D/AndroidRuntime(10003): Shutting down VM
E/AndroidRuntime(10003): FATAL EXCEPTION: main
E/AndroidRuntime(10003): Process: com.example.app, PID: 10003
E/AndroidRuntime(10003): java.lang.RuntimeException: Unable to start service me.sithiramunasinghe.flutter.flutter_radio_player.core.StreamingCore@d40233e with Intent { cmp=com.example.app/me.sithiramunasinghe.flutter.flutter_radio_player.core.StreamingCore (has extras) }: java.lang.IllegalArgumentException: com.example.app: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
E/AndroidRuntime(10003): Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
E/AndroidRuntime(10003): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4661)
E/AndroidRuntime(10003): at android.app.ActivityThread.access$2000(ActivityThread.java:247)
E/AndroidRuntime(10003): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2095)
E/AndroidRuntime(10003): at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(10003): at android.os.Looper.loopOnce(Looper.java:201)
E/AndroidRuntime(10003): at android.os.Looper.loop(Looper.java:288)
E/AndroidRuntime(10003): at android.app.ActivityThread.main(ActivityThread.java:7842)
E/AndroidRuntime(10003): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(10003): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E/AndroidRuntime(10003): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
E/AndroidRuntime(10003): Caused by: java.lang.IllegalArgumentException: com.example.app: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
E/AndroidRuntime(10003): Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
E/AndroidRuntime(10003): at android.app.PendingIntent.checkFlags(PendingIntent.java:375)
E/AndroidRuntime(10003): at android.app.PendingIntent.getBroadcastAsUser(PendingIntent.java:645)
E/AndroidRuntime(10003): at android.app.PendingIntent.getBroadcast(PendingIntent.java:632)
E/AndroidRuntime(10003): at com.google.android.exoplayer2.ui.PlayerNotificationManager.createBroadcastIntent(PlayerNotificationManager.java:1395)
E/AndroidRuntime(10003): at com.google.android.exoplayer2.ui.PlayerNotificationManager.createPlaybackActions(PlayerNotificationManager.java:1351)
E/AndroidRuntime(10003): at com.google.android.exoplayer2.ui.PlayerNotificationManager.<init>(PlayerNotificationManager.java:658)
E/AndroidRuntime(10003): at com.google.android.exoplayer2.ui.PlayerNotificationManager.<init>(PlayerNotificationManager.java:568)
E/AndroidRuntime(10003): at com.google.android.exoplayer2.ui.PlayerNotificationManager.createWithNotificationChannel(PlayerNotificationManager.java:521)
E/AndroidRuntime(10003): at me.sithiramunasinghe.flutter.flutter_radio_player.core.StreamingCore.onStartCommand(StreamingCore.kt:248)
E/AndroidRuntime(10003): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4643)
E/AndroidRuntime(10003): ... 9 more
I/Process (10003): Sending signal. PID: 10003 SIG: 9
Lost connection to device.
Exited (sigterm)
I tried this, but had no luck with it:
(android/src/main/kotlin/me/sithiramunasinghe/flutter/flutter_radio_player/core/StreamingCore)
override fun createCurrentContentIntent(player: Player): PendingIntent {
var intent = Intent(this@StreamingCore, activity!!.javaClass)
var contentPendingIntent = PendingIntent.getActivity(this@StreamingCore, 0, intent, PendingIntent.FLAG_IMMUTABLE );
return contentPendingIntent;
}
Device: Pixel 4 API 31 - Android 12.0
[✓] Flutter (Channel beta, 2.9.0-0.1.pre, on macOS 12.1 21C52 darwin-arm, locale de-DE)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] VS Code (version 1.63.2)
[✓] Connected device (3 available)
Fatal error: Unexpectedly found nil while unwrapping an Optional value: file /Users/linar/development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_radio_player-1.0.5/ios/Classes/SwiftFlutterRadioPlayerPlugin.swift, line 109
Hello, It's not a Issue.
I request for a feature, if it's possible to add possibility to record video if user want and store it locally
When i use streambuilder on radioPlayer.metaDataStream, the result is not really good readable.
How can i formatting this value to get better result?
Only at the first start of the radio, the status of the button is play but should be paused. Music is playing and show play button.
After press on play button the status of the button get correct.
Tested with: ios iphone X 13.3.1
Exception has occurred.
MissingPluginException (MissingPluginException(No implementation found for method initService on channel flutter_radio_player))
Please how can I solve this?
HI,
Config
await _flutterRadioPlayer.init("Flutter Radio Example", "Live", "URL_HERE", "true");
With the screen locked does not display "Flutter Radio Example" and "Live", after turning on the screen, display "unknown" and "unknown"
Error: 'fatal error: Unexpectedly found nil while unwrapping an Optional value: file /flutter_radio_player-1.0.4/ios/Classes/SwiftFlutterRadioPlayerPlugin.swift, line 100'
Flutter version: 1.18.0-6.0.pre.80 (master channel)
code in Flutter:
import 'package:flutter/material.dart';
import 'package:flutter_radio_player/flutter_radio_player.dart';
main() => runApp(RadioApp());
class RadioApp extends StatefulWidget {
@OverRide
_RadioAppState createState() => _RadioAppState();
}
class _RadioAppState extends State {
FlutterRadioPlayer _flutterRadioPlayer = new FlutterRadioPlayer();
String url = '';
@OverRide
void initState() {
print('initializing');
super.initState();
audioStart();
}
Future audioStart() async {
await _flutterRadioPlayer.init(
"Flutter Radio Example", "Live", url, "true");
}
@OverRide
Widget build(BuildContext context) {
return MaterialApp(
title: 'SHOUT Radio',
debugShowCheckedModeBanner: false,
home: SafeArea(child: Scaffold()));
}
}
Hi,
This amazing library was a game changer to implement a stream player in a easy way but I miss some feature that maybe could be included soon or in a easy way how to get the current playback audio level to plot it.
edit: done, I figured out how to do it outside the lib, thanks!
HI,
when I exit the application and press the notification, it does not open again. Nothing happens.
congratulations for this package.
So we are trying to add the ability to change stations however it is not working.
Future<void> changestation() async{
try {
// await _flutterRadioPlayer.stop();
await _flutterRadioPlayer.setUrl('http://stream.radiomedia.com.au:8015/stream', "false");
} on PlatformException {
print("Exception occurred while trying to register the services.");
}
// await _flutterRadioPlayer.play();
}
Full code
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:flutter_radio_player/flutter_radio_player.dart';
import './screens/trackswidget.dart';
import 'about_widget.dart';
class Home extends StatefulWidget {
var playerState = FlutterRadioPlayer.flutter_radio_paused;
var volume = 0.8;
@OverRide
State createState() {
return _HomeState();
}
}
class _HomeState extends State {
bool check = true;
int _currentIndex = 0;
FlutterRadioPlayer _flutterRadioPlayer = new FlutterRadioPlayer();
@OverRide
void initState() {
super.initState();
initRadioService();
}
Future initRadioService() async {
try {
await _flutterRadioPlayer.init(
"DRN1", "Live", "http://stream.radiomedia.com.au:8003/stream", "false");
} on PlatformException {
print("Exception occurred while trying to register the services.");
}
//await _flutterRadioPlayer.play();
}
Future changestation() async{
try {
// await _flutterRadioPlayer.stop();
await _flutterRadioPlayer.setUrl('http://stream.radiomedia.com.au:8015/stream', "false");
} on PlatformException {
print("Exception occurred while trying to register the services.");
}
// await _flutterRadioPlayer.play();
}
final List _children = [TracksWidget(),
AboutWidget()];
@OverRide
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.black,
title: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text('DRN',style: TextStyle(color: Colors.white, fontSize: 40.0),),
const Text('1', style: TextStyle(color: Colors.red, fontSize: 40.0),)
],
),
),
//body: _children[_currentIndex],
body:
Row(
children: [
Expanded(
child: new RaisedButton(
padding: const EdgeInsets.all(8.0),
textColor: Colors.white,
color: Colors.blue,
onPressed: () async { await changestation(); },
child: new Text("Change Station"),
),
),
Expanded(
child: Text('Craft beautiful UIs', textAlign: TextAlign.center),
),
Expanded(
child: FittedBox(
fit: BoxFit.contain, // otherwise the logo will be tiny
child: const FlutterLogo(),
),
),
],
),
/* body: Center(
child: Column(
children: [
StreamBuilder(
stream: _flutterRadioPlayer.isPlayingStream,
initialData: widget.playerState,
builder:
(BuildContext context, AsyncSnapshot snapshot) {
String returnData = snapshot.data;
print("object data: " + returnData);
switch (returnData) {
case FlutterRadioPlayer.flutter_radio_stopped:
return RaisedButton(
child: Text("Start listening now"),
onPressed: () async {
await initRadioService();
});
break;
case FlutterRadioPlayer.flutter_radio_loading:
return Text("Loading stream...");
case FlutterRadioPlayer.flutter_radio_error:
return RaisedButton(
child: Text("Retry ?"),
onPressed: () async {
await initRadioService();
});
break;
default:
return Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
IconButton(
onPressed: () async {
print("button press data: " +
snapshot.data.toString());
await _flutterRadioPlayer.playOrPause();
},
icon: snapshot.data ==
FlutterRadioPlayer
.flutter_radio_playing
? Icon(Icons.pause)
: Icon(Icons.play_arrow)),
IconButton(
onPressed: () async {
await _flutterRadioPlayer.stop();
},
icon: Icon(Icons.stop))
]);
break;
}
}),
Slider(
value: widget.volume,
min: 0,
max: 1.0,
onChanged: (value) => setState(() {
widget.volume = value;
_flutterRadioPlayer.setVolume(widget.volume);
})),
Text("Volume: " + (widget.volume * 100).toStringAsFixed(0))
],
),
),
*/
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
floatingActionButton: Container(
height: 80.0,
width: 80.0,
child: FittedBox(
child:FloatingActionButton(
onPressed: () => {
setState((){
if(check)
{
check = false;
_flutterRadioPlayer.play();
print("false");
}
else
{
check = true;
_flutterRadioPlayer.pause();
print("true");
}
}),
},
child: Icon(check ? Icons.play_arrow: Icons.pause),
backgroundColor: Colors.black,
mini: true,
),
),
),
bottomNavigationBar: BottomAppBar(
shape: CircularNotchedRectangle(),
child: Container(
decoration:
new BoxDecoration(color: new Color(0xFFFF0000)),
height: 75,
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
IconButton(
iconSize: 30.0,
padding: EdgeInsets.only(left: 28.0),
icon: Icon(Icons.home),
onPressed: () {
setState(() {
onTabTapped(0);
});
},
),
/* IconButton(
iconSize: 30.0,
padding: EdgeInsets.only(right: 28.0),
icon: Icon(Icons.search),
onPressed: () {
setState(() {
onTabTapped(1);
});
},
),
IconButton(
iconSize: 30.0,
padding: EdgeInsets.only(left: 28.0),
icon: Icon(Icons.notifications),
onPressed: () {
setState(() {
onTabTapped(2);
});
},
),*/
IconButton(
iconSize: 30.0,
padding: EdgeInsets.only(right: 28.0),
icon: Icon(Icons.info_outline),
onPressed: () {
setState(() {
onTabTapped(1);
});
},
)
],
),
),
),// new
);
}
void onTabTapped(int index) {
setState(() {
_currentIndex = index;
});
}
}
i have list of radio url , i want to play that radio when url is clicked , any suggestion ?
Hello,
Now in PlayStore it is mandatory to upload an app with SDK 30.
This library gives an error when compiling in that version.
Error log:
e: C:\Users\leand\flutter.pub-cache\hosted\pub.dartlang.org\flutter_radio_player-1.0.7\android\src\main\kotlin\me\sithiramunasinghe\flutter\flutter_radio_player\core\StreamingCore.kt: (121, 90): Type mismatch: inferred type is String? but String was expected
e: C:\Users\leand\flutter.pub-cache\hosted\pub.dartlang.org\flutter_radio_player-1.0.7\android\src\main\kotlin\me\sithiramunasinghe\flutter\flutter_radio_player\core\StreamingCore.kt: (123, 63): Type mismatch: inferred type is String? but String was expected
e: C:\Users\leand\flutter.pub-cache\hosted\pub.dartlang.org\flutter_radio_player-1.0.7\android\src\main\kotlin\me\sithiramunasinghe\flutter\flutter_radio_player\core\StreamingCore.kt: (174, 32): Type mismatch: inferred type is String? but String was expected
FAILURE: Build failed with an exception.
Compilation error. See log for more details
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
BUILD FAILED in 1m 19s
Exactly as the title states.
On iOS reports flutter_radio_paused when it is actually playing.
.pub-cache\hosted\pub.dartlang.org\flutter_radio_player-1.1.0\android\src\main\kotlin\me\sithiramunasinghe\flutter\flutter_radio_player\core\StreamingCore.kt: (188, 46): Type mismatch: inferred type is AudioFocusRequest? but AudioFocusRequest was expected
The noob that i am is using the suplied example as boilerplate for my app.
Everything works fine.
Now i want to add 1 or 2 static text widgets/pages but i cant seem to get the navigation in the bottomNavigationBar working.
Can somebody take a look at that and maybe even get it to work?
I just cant wrap my head around why it isnt working, and the noobnes of me prevent me from fixing.
I got this error when try init player.
Unable to start service me.sithiramunasinghe.flutter.flutter_radio_player.core.StreamingCore@ced94ff with Intent { cmp=co.genpi.genpi/me.sithiramunasinghe.flutter.flutter_radio_player.core.StreamingCore (has extras) }: java.lang.IllegalStateException: Unsupported type: 4
I try with this stream radio url
https://n0e.radiojar.com/7csmg90fuqruv?rj-tok=AAABfi5ajaYAnTvcvZGQDWdZIg&rj-ttl=5
please help me @Sithira
Even tried forking the repo to change the invoke method of pause() to stop() so playOrPause() becomes playOrStop()
Android Build faild with following error:
...../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_radio_player-1.1.0/android/src/main/kotlin/me/sithiramunasinghe/flutter/flutter_radio_player/core/StreamingCore.kt: (62, 51): Null can not be a value of a non-null type AudioFocusRequest
Hi.
Is there any chance to have a duration stream and maybe seek-to functionality?
Similar to what notification has now, a way to show a duration seek-bar and updated it using a StreamBuilder maybe.
Thanks!
I try this case, when stream is playing and i press hot restart my application, my music still playing in background but in StreamBuilder status is flutter_radio_paused
How we handle this event?
FAILURE: Build failed with an exception.
Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'.
Could not determine artifacts for androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
> Could not get resource 'https://dl.google.com/dl/android/maven2/androidx/localbroadcastmanager/localbroadcastmanager/1.0.0/localbroadcastmanager-1.0.0.aar'.
> Could not HEAD 'https://dl.google.com/dl/android/maven2/androidx/localbroadcastmanager/localbroadcastmanager/1.0.0/localbroadcastmanager-1.0.0.aar'.
> Unsupported record version Unknown-84.84
I have noticed that in android 9 when the app is closed the music continues to run since the notification is still open.
I have an issue with stream builder here.
I have two screens, that's is A and B.
i place StreamBuilder in the both of screen and listen to the same screen "_isPlayingStream" in Provider.
When i open screen B, i run the function Flutter radio init, and the stream running in screen A and B.
But when i close screen B, the stream in screen A not working, when i test print it's not receiving any stream data.
You need to do this (so set to false by default, only set true if the string == "true")
In initService (StreamingCore.swift)
self.playWhenReady = false
if playWhenReady == "true" {
print("PlayWhenReady: true")
self.playWhenReady = true
}
Hi. First of all thanks for this amazing work.
Can you please add ability to update notification title, subtitle and image dynamically?
Thanks
I'm having the following error in multiple devices isn't all the time but is crashing the app, it looks like it is something to do with SimpleExoPlayer caching process but I would like to see if you are familiar with this? and if can ve resolve from the library point of view.
Fatal Exception: java.lang.RuntimeException
Unable to start service me.sithiramunasinghe.flutter.flutter_radio_player.core.Streaming
Core@f008310 with Intent { cmp=com.tex.app/me.sithiramunasinghe.flutter.flutter_radio_player.core.StreamingCore (has extras) }: java.lang.IllegalStateException: Another SimpleCache instance uses the folder: /data/user/0/com.test.app/cache
Thanks!.
Hello, as when receiving a phone call, stop the audio!
Stop in the stream and return when the phone call ends?
D/AndroidRuntime(31948): Shutting down VM
E/AndroidRuntime(31948): FATAL EXCEPTION: main
E/AndroidRuntime(31948): Process: com.nwt.shwe_fm, PID: 31948
E/AndroidRuntime(31948): java.lang.NoSuchMethodError: No static method getLooper()Landroid/os/Looper; in class Lc/c/a/b/j2/j0; or its super classes (declaration of 'c.c.a.b.j2.j0' appears in /data/app/com.nwt.shwe_fm-2/base.apk)
E/AndroidRuntime(31948): at c.c.a.b.b2.a.a.(:453)
E/AndroidRuntime(31948): at me.sithiramunasinghe.flutter.flutter_radio_player.core.StreamingCore.onStartCommand(:210)
E/AndroidRuntime(31948): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3043)
E/AndroidRuntime(31948): at android.app.ActivityThread.access$2300(ActivityThread.java:153)
E/AndroidRuntime(31948): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1473)
E/AndroidRuntime(31948): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(31948): at android.os.Looper.loop(Looper.java:154)
E/AndroidRuntime(31948): at android.app.ActivityThread.main(ActivityThread.java:5527)
E/AndroidRuntime(31948): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(31948): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)
E/AndroidRuntime(31948): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
E/MQSEventManagerDelegate(31948): failed to get MQSService.
I/Process (31948): Sending signal. PID: 31948 SIG: 9
Hello, how are you?
I am interested in using the flutter_radio_player, I am using the Android studio to run the example code, but this is giving an error, I have already researched the solution for this error and so far I have not found it.
Do you have any suggestions to resolve this error below
I thank you for your help
Samuel
flutter_radio_player.txt
Compilation error. See log for more details
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
BUILD FAILED in 23s
Finished with error: Gradle task assembleDebug failed with exit code 1
I want to report how my application crash after using this package.
The app crashes after i close and reopen again, but this only happened a few times.
@Sithira maybe you can give me solution to solve this?
I got this error when try Init this package like in the documentations:
It's work on iOS, but in Android crash.
Can you give me solution?
E/AndroidRuntime(15749): java.lang.AbstractMethodError: abstract method "java.lang.CharSequence com.google.android.exoplayer2.ui.PlayerNotificationManager$MediaDescriptionAdapter.getCurrentContentTitle(com.google.android.exoplayer2.Player)"
E/AndroidRuntime(15749): at com.google.android.exoplayer2.ui.PlayerNotificationManager.createNotification(PlayerNotificationManager.java:1189)
E/AndroidRuntime(15749): at com.google.android.exoplayer2.ui.PlayerNotificationManager.startOrUpdateNotification(PlayerNotificationManager.java:1066)
E/AndroidRuntime(15749): at com.google.android.exoplayer2.ui.PlayerNotificationManager.handleMessage(PlayerNotificationManager.java:1329)
E/AndroidRuntime(15749): at com.google.android.exoplayer2.ui.PlayerNotificationManager.lambda$ZG0s-7uOzb-YtyUlp8ahx3j4wBg(Unknown Source:0)
E/AndroidRuntime(15749): at com.google.android.exoplayer2.ui.-$$Lambda$PlayerNotificationManager$ZG0s-7uOzb-YtyUlp8ahx3j4wBg.handleMessage(Unknown Source:2)
E/AndroidRuntime(15749): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(15749): at android.os.Looper.loop(Looper.java:236)
E/AndroidRuntime(15749): at android.app.ActivityThread.main(ActivityThread.java:8043)
E/AndroidRuntime(15749): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(15749): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:620)
E/AndroidRuntime(15749): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1011)
How to set header authorization if the stream url need Auth?
So Not sure what I am doing wrong, or if this is a known bug. But it seems that me using the following code does not change stream and play stream.
I am noticing it seem to be default to pause no matter what:
I/javaClass(25595): Attaching player as a foreground notification...
I/javaClass(25595): Received meta: ICY: title="Supernal S01E01 Part 2", url="null", rawMetadata.length="37"
I/javaClass(25595): Pushing Event: flutter_radio_paused
I/javaClass(25595): onPlayerStateChanged: PAUSED
I/javaClass(25595): Received status: flutter_radio_paused
I/javaClass(25595): Attaching player as a foreground notification...
instead I still have to manually click the play pause button.
Future<void> changestation() async{
try {
await _flutterRadioPlayer.setUrl('http://stream.radiomedia.com.au:8015/stream', "false");
await _flutterRadioPlayer.play();
} on PlatformException {
print("Exception occurred while trying to register the services.");
}
}
Full code:
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:flutter_radio_player/flutter_radio_player.dart';
import './screens/trackswidget.dart';
import 'about_widget.dart';
class Home extends StatefulWidget {
var playerState = FlutterRadioPlayer.flutter_radio_paused;
var volume = 0.8;
@override
State<StatefulWidget> createState() {
return _HomeState();
}
}
class _HomeState extends State<Home> {
bool check = true;
int _currentIndex = 0;
FlutterRadioPlayer _flutterRadioPlayer = new FlutterRadioPlayer();
@override
void initState() {
super.initState();
initRadioService();
}
Future<void> initRadioService() async {
try {
await _flutterRadioPlayer.init(
"DRN1", "Live", "http://stream.radiomedia.com.au:8003/stream", "false");
} on PlatformException {
print("Exception occurred while trying to register the services.");
}
//await _flutterRadioPlayer.play();
}
Future<void> changestation() async{
try {
await _flutterRadioPlayer.setUrl('http://stream.radiomedia.com.au:8015/stream', "false");
await _flutterRadioPlayer.play();
} on PlatformException {
print("Exception occurred while trying to register the services.");
}
}
final List<Widget> _children = [TracksWidget(),
AboutWidget()];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.black,
title: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Text('DRN',style: TextStyle(color: Colors.white, fontSize: 40.0),),
const Text('1', style: TextStyle(color: Colors.red, fontSize: 40.0),)
],
),
),
//body: _children[_currentIndex],
body:
Row(
children: <Widget>[
Expanded(
child: new RaisedButton(
padding: const EdgeInsets.all(8.0),
textColor: Colors.white,
color: Colors.blue,
onPressed: () async { await changestation(); },
child: new Text("Change Station"),
),
),
Expanded(
child: Text('Craft beautiful UIs', textAlign: TextAlign.center),
),
Expanded(
child: FittedBox(
fit: BoxFit.contain, // otherwise the logo will be tiny
child: const FlutterLogo(),
),
),
],
),
/* body: Center(
child: Column(
children: <Widget>[
StreamBuilder(
stream: _flutterRadioPlayer.isPlayingStream,
initialData: widget.playerState,
builder:
(BuildContext context, AsyncSnapshot<String> snapshot) {
String returnData = snapshot.data;
print("object data: " + returnData);
switch (returnData) {
case FlutterRadioPlayer.flutter_radio_stopped:
return RaisedButton(
child: Text("Start listening now"),
onPressed: () async {
await initRadioService();
});
break;
case FlutterRadioPlayer.flutter_radio_loading:
return Text("Loading stream...");
case FlutterRadioPlayer.flutter_radio_error:
return RaisedButton(
child: Text("Retry ?"),
onPressed: () async {
await initRadioService();
});
break;
default:
return Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
IconButton(
onPressed: () async {
print("button press data: " +
snapshot.data.toString());
await _flutterRadioPlayer.playOrPause();
},
icon: snapshot.data ==
FlutterRadioPlayer
.flutter_radio_playing
? Icon(Icons.pause)
: Icon(Icons.play_arrow)),
IconButton(
onPressed: () async {
await _flutterRadioPlayer.stop();
},
icon: Icon(Icons.stop))
]);
break;
}
}),
Slider(
value: widget.volume,
min: 0,
max: 1.0,
onChanged: (value) => setState(() {
widget.volume = value;
_flutterRadioPlayer.setVolume(widget.volume);
})),
Text("Volume: " + (widget.volume * 100).toStringAsFixed(0))
],
),
),
*/
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
floatingActionButton: Container(
height: 80.0,
width: 80.0,
child: FittedBox(
child:FloatingActionButton(
onPressed: () => {
setState((){
if(check)
{
check = false;
_flutterRadioPlayer.play();
print("false");
}
else
{
check = true;
_flutterRadioPlayer.pause();
print("true");
}
}),
},
child: Icon(check ? Icons.play_arrow: Icons.pause),
backgroundColor: Colors.black,
mini: true,
),
),
),
bottomNavigationBar: BottomAppBar(
shape: CircularNotchedRectangle(),
child: Container(
decoration:
new BoxDecoration(color: new Color(0xFFFF0000)),
height: 75,
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
IconButton(
iconSize: 30.0,
padding: EdgeInsets.only(left: 28.0),
icon: Icon(Icons.home),
onPressed: () {
setState(() {
onTabTapped(0);
});
},
),
/* IconButton(
iconSize: 30.0,
padding: EdgeInsets.only(right: 28.0),
icon: Icon(Icons.search),
onPressed: () {
setState(() {
onTabTapped(1);
});
},
),
IconButton(
iconSize: 30.0,
padding: EdgeInsets.only(left: 28.0),
icon: Icon(Icons.notifications),
onPressed: () {
setState(() {
onTabTapped(2);
});
},
),*/
IconButton(
iconSize: 30.0,
padding: EdgeInsets.only(right: 28.0),
icon: Icon(Icons.info_outline),
onPressed: () {
setState(() {
onTabTapped(1);
});
},
)
],
),
),
),// new
);
}
void onTabTapped(int index) {
setState(() {
_currentIndex = index;
});
}
}
how can I check and update the state of the player from other pages???
So I went to upgrade from 1.0.5 to 1.0.7 and got this error.
e: /home/russellharrower/.pub-cache/hosted/pub.dartlang.org/flutter_radio_player-1.0.5/android/src/main/kotlin/me/sithiramunasinghe/flutter/flutter_radio_player/FlutterRadioPlayerPlugin.kt: (23, 14): Redeclaration: FlutterRadioPlayerPlugin
e: /home/russellharrower/.pub-cache/hosted/pub.dartlang.org/flutter_radio_player-1.0.5/android/src/main/kotlin/me/sithiramunasinghe/flutter/flutter_radio_player/core/StreamingCore.kt: (33, 7): Redeclaration: StreamingCore
e: /home/russellharrower/.pub-cache/hosted/pub.dartlang.org/flutter_radio_player-1.0.7/android/src/main/kotlin/me/sithiramunasinghe/flutter/flutter_radio_player/FlutterRadioPlayerPlugin.kt: (23, 14): Redeclaration: FlutterRadioPlayerPlugin
e: /home/russellharrower/.pub-cache/hosted/pub.dartlang.org/flutter_radio_player-1.0.7/android/src/main/kotlin/me/sithiramunasinghe/flutter/flutter_radio_player/FlutterRadioPlayerPlugin.kt: (35, 22): Cannot access 'buildEngine': it is private in 'FlutterRadioPlayerPlugin'
e: /home/russellharrower/.pub-cache/hosted/pub.dartlang.org/flutter_radio_player-1.0.7/android/src/main/kotlin/me/sithiramunasinghe/flutter/flutter_radio_player/core/StreamingCore.kt: (29, 93): Unresolved reference: broadcastChangedMetaDataName
e: /home/russellharrower/.pub-cache/hosted/pub.dartlang.org/flutter_radio_player-1.0.7/android/src/main/kotlin/me/sithiramunasinghe/flutter/flutter_radio_player/core/StreamingCore.kt: (34, 7): Redeclaration: StreamingCore
e: /home/russellharrower/.pub-cache/hosted/pub.dartlang.org/flutter_radio_player-1.0.7/android/src/main/kotlin/me/sithiramunasinghe/flutter/flutter_radio_player/core/StreamingCore.kt: (47, 50): Unresolved reference: broadcastChangedMetaDataName
FAILURE: Build failed with an exception.
This is a copy of my pubsec.yaml
name: drn1
description: Listen to the hottest indie station in Australia as well as get access to all our shows all in one place.
# The following line prevents the package from being accidentally published to
# pub.dev using `pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.3
http: ^0.12.2
audio_service: ^0.14.1
flutter_radio_player: ^1.0.7
async: ^2.2.0
firebase_core: ^0.5.0
dev_dependencies:
flutter_test:
sdk: flutter
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
Hi, I've been testing the plugin and I loved it, on Android it works perfectly, but on iOS I found a couple of drawbacks. I'll explain my case.
I have an app, with two views one called Home (which would be the screen you see when you start the app) and one called Radio (this is where I implement the plugins). Then from Home I can enter to the radio (I do this because the app has more functionalities from which you can access from Home).
The first inconvenience is that if from Home I enter to Radio and then I return to Home and then I enter again to Radio, the app closes immediately.
The error is generated in the following code:
and the console displays the following:
in general, I could solve it saving the reproduction state in the Storage of the device, because when I enter to Radio for the second time, the following code is executed again and there the error is generated:
await _reproductor.init("title", "description","URL", "false");
Then, when I have the status of "started" the transmission, I avoid that code to be executed again, and when I do that, the plugins works again well.
The next problem I found is in the second plan playback. If the app is open in Radio, the controls in background work correctly, but if the app is in Home, the controls don't work, and when I put play/pause the app closes giving the same error as above.
I tested it on an iPhone 7 with iOS 13.5.5 and an iPhone 11 pro Max with iOS 13.5,
Greetings.
Its perfectly working in Android device
I am adding issue below with complete description.
Notification received with event name: flutter_radio_playing
Fatal error: Unexpectedly found nil while unwrapping an Optional value: file /Users/macbook/Documents/FlutterSetup/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_radio_player-1.0.4/ios/Classes/SwiftFlutterRadioPlayerPlugin.swift, line 100
2020-05-14 16:23:16.608359+0530 Runner[48848:409859] Fatal error: Unexpectedly found nil while unwrapping an Optional value: file /Users/macbook/Documents/FlutterSetup/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_radio_player-1.0.4/ios/Classes/SwiftFlutterRadioPlayerPlugin.swift, line 100
Hi!
Please release null safety version of this package
Thanks
Hi, thank you for your work.
I'm trying to use the library on Android but i'm getting error on building phase:
**e: /Users/acetovi/.pub-cache/hosted/pub.dartlang.org/flutter_radio_player-1.0.7/android/src/main/kotlin/me/sithiramunasinghe/flutter/flutter_radio_player/core/StreamingCore.kt: (121, 90): Type mismatch: inferred type is String? but String was expected
e: /Users/acetovi/.pub-cache/hosted/pub.dartlang.org/flutter_radio_player-1.0.7/android/src/main/kotlin/me/sithiramunasinghe/flutter/flutter_radio_player/core/StreamingCore.kt: (123, 63): Type mismatch: inferred type is String? but String was expected
e: /Users/acetovi/.pub-cache/hosted/pub.dartlang.org/flutter_radio_player-1.0.7/android/src/main/kotlin/me/sithiramunasinghe/flutter/flutter_radio_player/core/StreamingCore.kt: (174, 32): Type mismatch: inferred type is String? but String was expected
FAILURE: Build failed with an exception.**
On IOS device no problems.
Can you help me with this?
Thanks
hello Sithira,
nice package (:
Do you know why when I try to play this radio I'm getting this error?
http://cms.sintonizar.radio.br:8088/cms/cms/icecast.audio
E/flutter (11581): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: PlatformException(error, lateinit property coreService has not been initialized, null)
E/flutter (11581): #0 StandardMethodCodec.decodeEnvelope
package:flutter/…/services/message_codecs.dart:572
E/flutter (11581): #1 MethodChannel._invokeMethod
package:flutter/…/services/platform_channel.dart:161
E/flutter (11581): <asynchronous suspension>
E/flutter (11581): #2 MethodChannel.invokeMethod
package:flutter/…/services/platform_channel.dart:334
E/flutter (11581): #3 FlutterRadioPlayer.playOrPause
/MethodChannel#flutter_radio_player(24427): Failed to handle method call
E/MethodChannel#flutter_radio_player(24427): java.lang.IllegalArgumentException: Service not registered: me.sithiramunasinghe.flutter.flutter_radio_player.FlutterRadioPlayerPlugin$serviceConnection$1@94492bd
E/MethodChannel#flutter_radio_player(24427): at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1160)
E/MethodChannel#flutter_radio_player(24427): at android.app.ContextImpl.unbindService(ContextImpl.java:1475)
E/MethodChannel#flutter_radio_player(24427): at android.content.ContextWrapper.unbindService(ContextWrapper.java:644)
E/MethodChannel#flutter_radio_player(24427): at me.sithiramunasinghe.flutter.flutter_radio_player.FlutterRadioPlayerPlugin.stop(FlutterRadioPlayerPlugin.kt:181)
E/MethodChannel#flutter_radio_player(24427): at me.sithiramunasinghe.flutter.flutter_radio_player.FlutterRadioPlayerPlugin.onMethodCall(FlutterRadioPlayerPlugin.kt:75)
E/MethodChannel#flutter_radio_player(24427): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:226)
E/MethodChannel#flutter_radio_player(24427): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/MethodChannel#flutter_radio_player(24427): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:631)
E/MethodChannel#flutter_radio_player(24427): at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#flutter_radio_player(24427): at android.os.MessageQueue.next(MessageQueue.java:323)
E/MethodChannel#flutter_radio_player(24427): at android.os.Looper.loop(Looper.java:135)
E/MethodChannel#flutter_radio_player(24427): at android.app.ActivityThread.main(ActivityThread.java:7325)
E/MethodChannel#flutter_radio_player(24427): at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#flutter_radio_player(24427): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
E/MethodChannel#flutter_radio_player(24427): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Try testing the example. OK on IOS simulator and device BUT FAIL on Android Simulator and Device.
See errors below;
Restarted application in 1,312ms.
I/javaClass(31009): Calling to method: initService
I/javaClass(31009): start service invoked
I/javaClass(31009): Attempting to initialize service...
I/javaClass(31009): Service not bound, binding now....
I/javaClass(31009): Mapping method call to player item object
I/flutter (31009): object data: flutter_radio_paused
I/flutter (31009): object data: flutter_radio_paused
I/flutter (31009): 360.0
V/AudioManager(31009): querySoundEffectsEnabled...
I/flutter (31009): button press data: flutter_radio_paused
I/flutter (31009): Invoking platform method: playOrPause
I/javaClass(31009): Calling to method: playOrPause
I/javaClass(31009): Attempting to either play or pause...
I/javaClass(31009): Attempting to get playing status....
E/MethodChannel#flutter_radio_player(31009): Failed to handle method call
E/MethodChannel#flutter_radio_player(31009): kotlin.UninitializedPropertyAccessException: lateinit property coreService has not been initialized
E/MethodChannel#flutter_radio_player(31009): at me.sithiramunasinghe.flutter.flutter_radio_player.FlutterRadioPlayerPlugin.isPlaying(FlutterRadioPlayerPlugin.kt:192)
E/MethodChannel#flutter_radio_player(31009): at me.sithiramunasinghe.flutter.flutter_radio_player.FlutterRadioPlayerPlugin.playOrPause(FlutterRadioPlayerPlugin.kt:199)
E/MethodChannel#flutter_radio_player(31009): at me.sithiramunasinghe.flutter.flutter_radio_player.FlutterRadioPlayerPlugin.onMethodCall(FlutterRadioPlayerPlugin.kt:64)
E/MethodChannel#flutter_radio_player(31009): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
E/MethodChannel#flutter_radio_player(31009): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/MethodChannel#flutter_radio_player(31009): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:738)
E/MethodChannel#flutter_radio_player(31009): at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#flutter_radio_player(31009): at android.os.MessageQueue.next(MessageQueue.java:363)
E/MethodChannel#flutter_radio_player(31009): at android.os.Looper.loop(Looper.java:176)
E/MethodChannel#flutter_radio_player(31009): at android.app.ActivityThread.main(ActivityThread.java:8347)
E/MethodChannel#flutter_radio_player(31009): at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#flutter_radio_player(31009): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
E/MethodChannel#flutter_radio_player(31009): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)
E/flutter (31009): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: PlatformException(error, lateinit property coreService has not been initialized, null, kotlin.UninitializedPropertyAccessException: lateinit property coreService has not been initialized
E/flutter (31009): at me.sithiramunasinghe.flutter.flutter_radio_player.FlutterRadioPlayerPlugin.isPlaying(FlutterRadioPlayerPlugin.kt:192)
E/flutter (31009): at me.sithiramunasinghe.flutter.flutter_radio_player.FlutterRadioPlayerPlugin.playOrPause(FlutterRadioPlayerPlugin.kt:199)
E/flutter (31009): at me.sithiramunasinghe.flutter.flutter_radio_player.FlutterRadioPlayerPlugin.onMethodCall(FlutterRadioPlayerPlugin.kt:64)
E/flutter (31009): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
E/flutter (31009): at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/flutter (31009): at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:738)
E/flutter (31009): at android.os.MessageQueue.nativePollOnce(Native Method)
E/flutter (31009): at android.os.MessageQueue.next(MessageQueue.java:363)
E/flutter (31009): at android.os.Looper.loop(Looper.java:176)
E/flutter (31009): at android.app.ActivityThread.main(ActivityThread.java:8347)
E/flutter (31009): at java.lang.reflect.Method.invoke(Native Method)
E/flutter (31009): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
E/flutter (31009): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)
E/flutter (31009): )
E/flutter (31009): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:582:7)
E/flutter (31009): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159:18)
E/flutter (31009):
E/flutter (31009): #2 FlutterRadioPlayer.playOrPause (package:flutter_radio_player/flutter_radio_player.dart:45:12)
E/flutter (31009):
E/flutter (31009): #3 _MyAppState.build.. (package:flutter_radio_player_example/main.dart:91:37)
E/flutter (31009):
E/flutter (31009):
I/flutter (31009): 360.0
I/flutter (31009): 360.0
I/flutter (31009): 360.0
I/flutter (31009): 360.0
I/flutter (31009): 360.0
I/flutter (31009): 360.0
I/flutter (31009): 360.0
I/flutter (31009): 360.0
I/flutter (31009): 360.0
I/flutter (31009): 360.0
D/DecorView(31009): showOrHideHighlightView: hasFocus=false; winMode=1; isMrgNull=true
D/RtgSched(31009): resetRtgSchedHandle failed enable:0
W/libEGL (31009): EGLNativeWindowType 0x79bcdfd010 disconnect failed
W/libEGL (31009): EGLNativeWindowType 0x7a1be5abd0 disconnect failed
D/ActivityThread(31009): Remove activity client record, r= ActivityRecord{a12562e token=android.os.BinderProxy@d0e3985 {me.sithiramunasinghe.flutter.flutter_radio_player_example/me.sithiramunasinghe.flutter.flutter_radio_player_example.MainActivity}} token= android.os.BinderProxy@d0e3985
D/ZrHung.AppEyeUiProbe(31009): not watching, wait.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.