使用 youtube_player_flutter 时无限加载

lit*_*cal 5 dart flutter github-issues

我正在使用youtube_player_flutter并正确实现了自述文件中所写的所有内容。

但我仍然面临一个问题,每当我打开我想要打开 YouTube 播放器的页面时,它都会不断加载并且从不加载视频。

我到处搜索过这个问题,但没有得到任何解决方案。其中一个解决方案是将互联网许可包含在AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET"/>
Run Code Online (Sandbox Code Playgroud)

我这样做了,没有任何改变。我还将软件包降级到 v6.1.1,有人在github Issue中要求我这样做,但这也没有任何作用。

我该如何解决这个问题?

lit*_*cal 6

我正在回答我自己的问题,因为当我搜索这个问题时,我没有找到任何可以解决这个问题的东西。

所以,我尝试了一下define the controller in initState(),它成功了,现在是working in v7.0.0+7. 这是我的代码:

class AboutTopic extends StatefulWidget {
  final String videoLink;

  AboutTopic({this.videoLink});

  @override
  _AboutTopicState createState() => _AboutTopicState();
}

class _AboutTopicState extends State<AboutTopic> {
  YoutubePlayerController _controller;

  @override
  void initState() {
     _controller = YoutubePlayerController(
      initialVideoId:
          YoutubePlayer.convertUrlToId(widget.videoLink),
      flags: YoutubePlayerFlags(
          mute: false,
          autoPlay: true,
          disableDragSeek: true,
          loop: false,
          enableCaption: false),
    );

    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
       appBar: AppBar(
        title: Text('About'),
        centerTitle: true,
        leading: IconButton(
          icon: Icon(Icons.arrow_back),
          onPressed: () {
            Navigator.of(context).pop();
          },
        )
      ),

      body: YoutubePlayer(
        controller: _controller,
        showVideoProgressIndicator: true,
        bottomActions: <Widget>[
          const SizedBox(width: 14.0),
          CurrentPosition(),
          const SizedBox(width: 8.0),
          ProgressBar(isExpanded: true),
          RemainingDuration(),
        ],
        aspectRatio: 4 / 3,
        progressIndicatorColor: Colors.white,
        onReady: () {
          print('Player is ready.');
        },
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)