Воспроизведение локальных видеороликов в Flutter

#flutter #flutter-layout #flutter-video-player

#трепетание #флаттер-макет #flutter-видеопроигрыватель

Вопрос:

Мне нужно воспроизвести видео с активом в моем приложении, но плагин vide Player продолжает буферизацию, но не воспроизводит видео. Но если я использую сетевые видеоролики, то код работает отлично.

Вот мой код,

 class LandscapePlayer extends StatefulWidget {
  @override
  _LandscapePlayerState createState() => _LandscapePlayerState();
}

class _LandscapePlayerState extends State<LandscapePlayer> {
  FlickManager flickManager;

  @override
  void initState() {
    super.initState();
    flickManager = FlickManager(videoPlayerController:
         VideoPlayerController.asset('videos/first.mp4',),);
  }

  @override
  void dispose() {
    flickManager.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: FlickVideoPlayer(
        flickManager: flickManager,
        preferredDeviceOrientation: [
          DeviceOrientation.landscapeRight,
          DeviceOrientation.landscapeLeft
        ],
        systemUIOverlay: [],
        flickVideoWithControls: FlickVideoWithControls(
          controls: LandscapePlayerControls(),
        ),
      ),
    );
  }
}
 

Я добавил видеофайл в качестве зависимости в файл pubspec.yaml. Я не знаю, почему это работает для сетевых файлов, но не для файла активов.

Комментарии:

1. Какую ошибку вы получаете? Вы проверили, правильный ли путь videos/first.mp4 ?

2. Я не получил никакой ошибки во время отладки. Но видео не воспроизводится. Да, путь указан правильно.

3. Я вижу там лишнюю запятую. Может быть, попробуйте удалить это? Нравится: VideoPlayerController.asset("videos/first.mp4")

4. Нет, это не имеет никакого значения

5. Спасибо, я решил проблему.

Ответ №1:

Я решил эту проблему. плагин video_player использует плагин Exo player в Android, который некорректно работает на некоторых устройствах (из-за декодеров или чего-то еще). Простой альтернативой является использование плагина native_video_view.