こんにちは。Flutter赤ん坊です。ばぶ。
flutter_soundを使っているのですが、プログレスバーに再生位置を反映させたいと思い、onProgressのlistenを用いる事にしました。以下のような具合にです。
player.onProgress?.listen(
(event) {
playerProgress = event.position;
playerDuration = event.duration;
notifyListeners();
},
);
すると、待てど暮らせどプログレスバーが反応しない。どうやらlisten内が実行されていないようです。
頭かんかんでflutter_soundのissueを見に行ったところ、どうやら同じ症状で苦しんでおられる方が何人かおられる模様。それ見たことかといくつか漁っていると、
ありました。
どうやらサブスクリプションの時間間隔を指定しないといけないようです。以下のような具合です。
await player.setSubscriptionDuration(Duration(seconds: 1));
これで無事に、listen内が等間隔に実行されました。素晴らしいパッケージを作ってくださっている方々には、感謝しかありません。以上です。