I am using youtube_player_iframe: ^4.0.1 this package for youtube video in my app. I have following error "updateAcquireFence: Did not find frame. Flutter" and also not able to play video. After some minutes it shows thumbnail in screen but when I press play button its loading only and not able to play video. Please help me for this I am stuck in this problem.
Followig are my codes:
This are the response from api
{
status: true,
result: found,
data: [
{
ref_id: 5,
userid: 106764933065187174744,
username: TakiRajani,
link: https: //youtu.be/Sm3pR9FYZcY,
postDateTime: 30-12-202203: 04PM,
city: tt,
channelName: masoomeenchannel
},
{
ref_id: 1,
userid: taki,
username: TakiRajani,
link: https: //youtu.be/wf9oETBOxPY,
postDateTime: 20-11-2211: 30PM,
city: Mahuva,
channelName: adminchannel
},
{
ref_id: 2,
userid: taki1212,
username: TakiRajani,
link: https: //youtu.be/K-MYE2DyS-I,
postDateTime: 20-11-2212: 52PM,
city: Bhavnagar,
channelName: alamdargrpmahuva
},
{
ref_id: 4,
userid: 1,
username: Taqi,
link: testUrl,
postDateTime: TImeDate,
city: City,
channelName: alvichannel
}
],
totalPosts: 4,
totalPages: 1,
perPageLimit: 5,
currentPage: 1,
hasNextPage: 0
}
Following are my code:
Future<LinkModel> getAllLinks() async {
var url = "https://url.com/MajlisLinks.php";
var response = await http.get(Uri.parse(url));
var jsondata = jsonDecode(response.body.toString());
print("****" + jsondata.toString());
if (response.statusCode == 200) {
return LinkModel.fromJson(jsondata);
} else {
return LinkModel.fromJson(jsondata);
}
}
init method
@override
void initState() {
// TODO: implement initState
super.initState();
_controller = YoutubePlayerController(
params: YoutubePlayerParams(
showControls: true,
mute: false,
showFullscreenButton: true,
loop: false,
)
);
}
ui part:
@override
Widget build(BuildContext context) {
return YoutubePlayerScaffold(
controller: _controller,
aspectRatio: 16 / 9,
builder: (context, player) {
return SafeArea(
child: Scaffold(
appBar: AppBar(title: Text("Live Program",
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 25
),),
centerTitle: true,
backgroundColor: Color(hexColors('006064')),
),
body: FutureBuilder<LinkModel>(
future: getAllLinks(),
builder: (context,snapshot){
if(snapshot.hasData){
return ListView.builder(
itemCount: snapshot.data!.data!.length,
itemBuilder: (context, index){
var allItem = snapshot.data!.data![index];
var videoId = allItem.link!.substring(17);
print("///////////////////");
print(videoId);
return Card(
color: Color(hexColors("03A9F4")),
elevation: 6,
shape: RoundedRectangleBorder(
borderRadius:
BorderRadius.circular(10.0)),
child: Column(
children: [
YoutubePlayer(
controller: YoutubePlayerController.fromVideoId(videoId: videoId,
autoPlay: false,
params: YoutubePlayerParams(showFullscreenButton: true))
),
],
),
);
}
);
}else{
return Container(child: Center(child: CircularProgressIndicator(),),);
}
},
),
)
);
},
);
}
}