Добавить отключение звука в функцию video_player при циклическом воспроизведении видео? Приложение Flutter

#flutter #flutter-dependencies

#flutter #flutter-зависимости

Вопрос:

Я хотел знать, как добавить функцию отключения звука при зацикленном видео, не приостанавливая его.

в заданном состоянии у меня есть

 setState(() {});
  controller.setLooping(true);
  controller.play();
  controller.setVolume(0);
});
 

и на детекторе жестов видео я поставил это:

 GestureDetector(
      onTap: () {
        setState(() {
          if (controller.value.isPlaying) {
            controller.pause();
            controller.setVolume(0);
          } else {
            controller.play();
            controller.setVolume(1);
          }
        });
      },
 

но если я сниму

  controller.play();
 controller.pause();
 

не распознает функцию

 controller.setVolume(1);
controller.setVolume(0);
 

в этот момент видео находится в цикле, и при прикосновении оно приостанавливается, а при втором прикосновении начинается со звука.

Как я могу сделать так, чтобы видео никогда не ставилось на паузу? и всегда оставаться в цикле?

Ответ №1:

Попробуйте это —

     GestureDetector(
              onTap: () {
                if (_controller.value.volume == 0) {//check if volume is already set to 0 (i.e mute)
                  _controller.setVolume(1.0); 
                } else {
//check if volume is already set to 1 (i.e unmute)
                  _controller.setVolume(0.0);
                }
                setState(() {});
              },
    )