【发布时间】:2021-02-28 15:49:06
【问题描述】:
我正在尝试使用assets_audio_player 库制作一个收音机应用程序,它确实从链接中获取收音机流,并且一切正常,但是当我尝试相应地使播放/暂停按钮更改图标时,它只是不起作用,我尝试了两种方法:
1- 使用库构建器:
assetsAudioPlayer.builderCurrent(
builder: (context, isPlaying){
return PlayerBuilder.isPlaying(
player: assetsAudioPlayer,
builder: (context, isPlaying) {
return RawMaterialButton(
constraints: BoxConstraints.expand(width: 70, height: 70),
fillColor: Constants.WHITE,
shape: CircleBorder(),
child: RadiantGradientMask(
child: Icon(isPlaying ? Icons.pause : Icons.play_arrow ,
size: 42,
color: Constants.WHITE,
),
gradient: gradient,
),
onPressed: (){
assetsAudioPlayer.playOrPause();
}
);
});
}
),
2- 使用普通按钮、布尔值和 setState:
RawMaterialButton(
constraints: BoxConstraints.expand(width: 70, height: 70),
fillColor: Constants.WHITE,
shape: CircleBorder(),
child: RadiantGradientMask(
child: Icon(isPlaying ? Icons.pause : Icons.play_arrow ,
size: 42,
color: Constants.WHITE,
),
gradient: gradient,
),
onPressed: (){
assetsAudioPlayer.playOrPause();
setState(() {
isPlaying = assetsAudioPlayer.isPlaying.value;
});
},
在第一种方法中,库开始流式传输,但图标根本没有改变(暂停/播放),在第二种方法中,它确实改变了,但是在按下按钮几次后,它会出现故障,并且“播放”变为“暂停”,“暂停”变为“播放”(反转)。
知道如何让它正常工作吗?
【问题讨论】:
标签: flutter radio audio-player