1

just_audio ライブラリの例をコピーして自分のプロジェクトに入れました。その後、ホット リロードを実行したり、押し戻したりすると、エラーが発生します。

[VERBOSE-2:shell.cc(209)] Dart Error: Unhandled exception:
Bad state: You cannot close the subject while items are being added from addStream
#0      Subject.close (package:rxdart/src/subjects/subject.dart:152:7)
#1      AudioPlayer.dispose (package:just_audio/just_audio.dart:611:30)
<asynchronous suspension>
#2      _LessonPractiseScreenState.dispose (package:wbh/ui/pages/lesson/lesson_practise_screen.dart:90:13)
#3      StatefulElement.unmount (package:flutter/src/widgets/framework.dart:4773:12)
#4      _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:1935:13)
#5      _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:1933:7)
#6      ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:4600:14)
#7      _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:1931:13)
#8      _InactiveElements._unmount.<anonymous closure> (package:flutter/src/widgets/framework.dart:1933:7)
#9      SingleChildRenderObjec<…&gt;

私がテストした原因となるウィジェットは次のとおりです。

Widget get _seekBar => StreamBuilder<Duration>(
        stream: _player.durationStream,
        builder: (context, snapshot) {
          final duration = snapshot.data ?? Duration.zero;
          return StreamBuilder<Duration>(
            stream: _player.positionStream,
            builder: (context, snapshot) {
              if (snapshot.hasData) {
                var position = snapshot.data ?? Duration.zero;
                if (position > duration) {
                  position = duration;
                }
                return SeekBar(
                  duration: duration,
                  position: position,
                  onChanged: (newPosition) {
                    _player.seek(newPosition);
                  },
                );
              } else
                return Container();
            },
          );
        },
      );

しかし、自分で修正することはできず、ネット上にも情報がないため、助けていただければ幸いです。

4

1 に答える 1

0

これは GitHub 経由でバグとして報告され、すぐに修正が公開されました (議論については、この問題を参照してください)。新しいリリース (>= 0.4.4) では、この問題は解決されているはずです。

于 2021-02-06T13:58:34.573 に答える