Flutter 颤振|音频播放器持续时间更改方法为';我不想在IOS上工作
我正在尝试制作某种mp3播放器应用程序,我正在使用AudioPlayer软件包。它在Android上运行良好,但在IOS上,onDurationChanged似乎没有被调用。 由于我还显示了一个滑块,它在IOS上给出了一个错误,因为Flutter 颤振|音频播放器持续时间更改方法为';我不想在IOS上工作,flutter,dart,Flutter,Dart,我正在尝试制作某种mp3播放器应用程序,我正在使用AudioPlayer软件包。它在Android上运行良好,但在IOS上,onDurationChanged似乎没有被调用。 由于我还显示了一个滑块,它在IOS上给出了一个错误,因为max值返回null 这是我的密码 class AudioProvider extends ChangeNotifier { AudioProvider() { initAudio(); } AudioPlayer _audioPlayer = A
max
值返回null
这是我的密码
class AudioProvider extends ChangeNotifier {
AudioProvider() {
initAudio();
}
AudioPlayer _audioPlayer = AudioPlayer();
Duration totalDuration;
Duration position;
String audioState;
initAudio() {
_audioPlayer.onDurationChanged.listen((updatedDuration) {
totalDuration = updatedDuration; // This doesn't work on IOS, totalDuration == null
notifyListeners();
});
_audioPlayer.onAudioPositionChanged.listen((updatedPosition) {
position = updatedPosition;
notifyListeners();
});
_audioPlayer.onPlayerStateChanged.listen((playerState) {
if (playerState == AudioPlayerState.STOPPED) audioState = "Stopped";
if (playerState == AudioPlayerState.PLAYING) audioState = "Playing";
if (playerState == AudioPlayerState.PAUSED) audioState = "Paused";
notifyListeners();
});
}
playPauseAudio(String url, bool alreadyPlaying) async {
if (!alreadyPlaying) {
position = null;
totalDuration = null;
await _audioPlayer.play(url);
notifyListeners();
}
if (audioState == 'Playing') {
await _audioPlayer.pause();
} else {
await _audioPlayer.resume();
}
notifyListeners();
}
void stop() {
_audioPlayer.stop();
}
void seekToSec(Duration durationToSeek) {
_audioPlayer.seek(durationToSeek);
notifyListeners();
}