приостановка видеопроигрывателя при изменении панели навигации в режиме flutter

#flutter #lifecycle

#flutter #жизненный цикл

Вопрос:

я создаю приложение для клонирования Tiktok

я использую IndexedStack для реализации этого.

все хорошо, но есть одна проблема

Я не знаю, как его приостановить

это рабочий стол ()

   @override
  void didChangeAppLifecycleState(AppLifecycleState state) async {
    print('didChangeAppLifecycleState CALLED ✅');
    if (state != AppLifecycleState.resumed) {
      _videoListController.currentPlayer.pause();
    }
  }
  

Это код панели навигации

   @override
  Widget build(BuildContext context) {

    _widgetOptions = <Widget>[
      HomeScreen(), // Video is here ✅
      SearchScreen(),
      ProductScreen(),
      ProfileScreen(),
    ];

    return Scaffold(
      body: IndexedStack(index: _selectedIndex, children: _widgetOptions),
      bottomNavigationBar: Container(
        decoration: BoxDecoration(color: Colors.white, boxShadow: [
          BoxShadow(
            blurRadius: 20,
            color: Colors.black.withOpacity(.1),
          ),
        ]),

        ...

  

на рабочем столе ()
didChangeAppLifecycleState не вызывается при изменении индекса навигации
, поэтому проигрыватель не останавливается автоматически

как я могу это решить??