Источник данных памяти для улучшения flutter плагина проигрывателя

#flutter #dart #flutter-video-player

#flutter #dart #flutter-видеопроигрыватель

Вопрос:

Я создаю приложение, в котором пользователи могут публиковать изображения или видео. У меня возникли проблемы с поиском наилучшего способа отображения видео. Я пытался использовать плагин flutter teams video Player, но я не хочу сохранять видео в виде файла для его отображения. Я надеялся на что-то похожее на конструктор Image.memory(). С тех пор я переключился на плагин Better_Player, у которого есть конструктор памяти. Однако я не смог заставить его работать правильно. Для меня он просто показывает черный экран и не отображает видео. Вот код для отображения видео.

 BetterPlayerListVideoPlayer(
    BetterPlayerDataSource(
        BetterPlayerDataSourceType.MEMORY,
            "",
            bytes: widget.videoData.toList(),
     ),
            configuration: BetterPlayerConfiguration(
             looping: true,
              aspectRatio: 4 / 3,
              autoPlay: false,
              controlsConfiguration: BetterPlayerControlsConfiguration(
                enableOverflowMenu: false,
                showControlsOnInitialize: false,
              ),
            ),
            autoPlay: false,
          )

 

Изображение вывода плагина better_player, утверждающего, что источник данных имеет тип файла, когда я использую память

Я не уверен, правильно ли я использую источник данных. Я передаю массив байтов, который поступает из декодированной строки base64. Спасибо за любую информацию. Прямо сейчас я просто отправляю полное видео в виде строки в кодировке base64 с сервера. Если кто-нибудь знает лучшие практики или лучший способ сделать это, пожалуйста, дайте мне знать. Заранее спасибо.

Ответ №1:

У меня была аналогичная проблема при попытке запустить BetterPlayer из памяти. Я решил это, определив дополнительный параметр videoExtension как «mp4».