0

我需要在我的应用程序中播放资产视频,但视频播放器插件继续缓冲但没有播放视频。但如果我使用网络视频,那么代码就可以完美运行。

这是我的代码,

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 文件中的依赖项。我不知道为什么它适用于网络文件但不适用于资产文件。

4

1 回答 1

1

我解决了这个问题。video_player插件在 android 中使用 Exo 播放器插件,在某些设备中无法正常工作(由于解码器或其他原因)。一个简单的替代方法是使用native_video_view插件。

于 2020-12-10T10:11:22.187 回答