Flutter 仅音频播放事件
我正在使用一个名为“我的颤振应用程序”的软件包。它提供一个playBackEvent:playBackEvent.currentPosition,显示音频文件中播放的时间位置。不过,我对Dart有点陌生,不太明白如何订阅此事件的侦听器,以便可以对更改的值进行处理 我想做的是运行一个函数,当值改变时设置状态,这样我就可以显示进度,并让用户知道他们当时在音频文件中的位置 有人能给我解释一下我该怎么做吗Flutter 仅音频播放事件,flutter,flutter-dependencies,Flutter,Flutter Dependencies,我正在使用一个名为“我的颤振应用程序”的软件包。它提供一个playBackEvent:playBackEvent.currentPosition,显示音频文件中播放的时间位置。不过,我对Dart有点陌生,不太明白如何订阅此事件的侦听器,以便可以对更改的值进行处理 我想做的是运行一个函数,当值改变时设置状态,这样我就可以显示进度,并让用户知道他们当时在音频文件中的位置 有人能给我解释一下我该怎么做吗 任何帮助都将不胜感激。提供完整的样本 StreamBuilder( 流:_player.durat
任何帮助都将不胜感激。提供完整的样本
StreamBuilder(
流:_player.durationStream,
生成器:(上下文,快照){
最终持续时间=snapshot.data??duration.zero;
返回流生成器(
流:_player.getPositionStream(),
生成器:(上下文,快照){
var位置=snapshot.data??Duration.zero;
如果(位置>持续时间){
位置=持续时间;
}
返回搜索杆(
持续时间:持续时间,
职位:职位,,
onChangeEnd:(newPosition){
_player.seek(新位置);
},
);
},
);
},
),
谢谢,这太好了,还学到了更多关于StreamBuilder的知识!您知道如何检查音频是否已结束,并执行其他操作吗?
StreamBuilder<Duration>(
stream: _player.durationStream,
builder: (context, snapshot) {
final duration = snapshot.data ?? Duration.zero;
return StreamBuilder<Duration>(
stream: _player.getPositionStream(),
builder: (context, snapshot) {
var position = snapshot.data ?? Duration.zero;
if (position > duration) {
position = duration;
}
return SeekBar(
duration: duration,
position: position,
onChangeEnd: (newPosition) {
_player.seek(newPosition);
},
);
},
);
},
),