当前位置: 首页 > 知识库问答 >
问题:

视频播放控制器。网络()遇到源错误

酆鸿哲
2023-03-14

我正在尝试使用VideoPlayerController从互联网播放视频。netWork()方法,但我尝试的每个url都会遇到以下指定的错误:

源错误。E/flutter(4250):[ERROR: flutter/lib/ui/ui_dart_state.cc(157)]未处理的异常:平台异常(视频错误,视频播放器有错误com.google.android.exoplayer2.ExoPlayback异常:com.google.android.exoplayer2.upstream.HttpDataSource$HttpDataSource异常:无法连接到https://file-examples.com/wp-content/uploads/2017/04/file_example_MP4_480_1_5MG.mp4,空)E/flutter(4250):#0 ChewieController._initialize(包: chewie/src/chewie_player.dart:291: 7)E/flutter(4250): E/flutter(4250):#1 new ChewieController(软件包: chewie/src/chewie_player.dart:197: 5)E/flutter(4250):#2_ChewieListState.init状态(软件包: flutterappvideo oandket/屏幕/chewie_list.dart:20: 25)E/flutter(4250):#3状态元素。_firstBuild(软件包: flutter/src/小部件/framework.dart:4640: 58)E/flutter(4250):#4 ComponentElement.mount(软件包:flutter/src/小部件/framework.dart:4476: 5)E/flutter(4250):#5 Element.inflate小部件(软件包:flutter/src/小部件/framework.dart:3446: 14)E/flutter(4250):#6Element.update儿童(软件包:flutter/src/小部件/framework.dart:3214: 18)E/flutter(4250):#7 SingleChildRenderObjectElement.mount(软件包:flutter/src/小部件/framework.dart:5830: 14)E/flutter(4250):#8 Element.inflate小部件(软件包:flutter/src/小部件/framework.dart:3446: 14)E/flutter(4250):#9 Element.update儿童(软件包:flutter/src/小部件/framework. dart: 3214:18)E/flutter(4250):#10 SingleChildRenderObjectElement. Mount(软件包:flutter/src/小部件/framework. dart: 5830:14)E/flutter(4250):#11 ElementWidget(软件包:flutter/src/小部件/framework. dart: 3446:14)E/flutter(4250):#12 Element. updatezi(软件包:flutter/src/小部件/framework. dart: 3214:18)E/flutter(4250):#13 ComponentElement. performRebuild(软件包:flutter/src/widget/framework. dart: 4527:16)E/flutter(4250):#14 Element. rebuild(软件包:flutter/src/widget/framework. dart: 4218:5)E/flutter(4250):#15 ComponentElement._firstBuild(软件包:flutter/src/widget/framework. dart: 4481:5)E/flutter(4250):#16 ComponentElement. Mount(软件包:flutter/src/widget/framework. dart: 4476:5)E/flutter(4250):#17 Element. portateWidget(软件包:flutter/src/widget/framework. dart: 3446:14)E/flutter(4250):#18 Element. updatechild(软件包:flutter/src/小部件/framework. dart:3214:18)E/flutter(4250):#19 ComponentElement. performRebuild(软件包:flutter/src/小部件/framework. dart:4527:16)E/flutter(4250):#20 Element. resa(软件包:flutter/src/小部件/framework. dart:4218:5)E/flutter(4250):#21 ComponentElement._firstBuild(软件包:flutter/src/小部件/framework. dart: 4481:5)E/flutter(4250):#22 ComponentElement. Mount(软件包:flutter/src/小部件/framework. dart: 4476:5)E/flutter(4250):#23 Element. portateWidget(软件包:flutter/src/小部件/framework. dart: 3446:14)E/flutter(4250):#24 Element. updatezi(软件包:flutter/src/小部件/framework. dart: 3214:18)E/flutter(4250):#25 ComponentElement. performRebuild(软件包:flutter/src/小部件/framework. dart:4527:16)E/flutter(4250):#26 StatefulElement. performRebuild(软件包:flutter/src/小部件/framework. dart:4675:11)E/flutter(4250):#27 Element. rebuild(软件包:flutter/src/小部件/framework. dart:4218:5)E/flutter(4250):#28ComponentElement._firstBuild(软件包:flutter/src/Widget/framework. dart: 4481:5)E/flutter(4250):#29 StatefulElement._firstBuild(软件包:flutter/src/Widget/framework. dart: 4666:11)E/flutter(4250):#30 ComponentElement. Mount(软件包:flutter/src/Widget/framework. dart: 4476:5)E/flutter(4250):#31 Element. portateWidget(软件包:flutter/src/Widget/Framework. dart: 3446:14)E/flutter(4250):#32 Element. updatezi(软件包: flutter/src/widget/framework. dart: 3214:18)E/flutter(4250):#33 ComponentElement. performRebuild(软件包: flutter/src/widget/framework. dart: 4527:16)E/flutter(4250):#34 Element. rebuild(软件包: flutter/src/widget/framework. dart: 4218:5)E/flutter(4250):#35 ComponentElement._firstBuild(软件包:flutter/src/小部件/framework. dart:4481:5)E/flutter(4250):#36 ComponentElement. Mount(软件包:flutter/src/小部件/framework. dart:4476:5)E/flutter(4250):#37 Element. ronateWidget(软件包:flutter/src/小部件/framework. dart:3446:14)E/flutter(4250):#38 Element. update(软件包:flutter/src/widgets/framework.dart: 3214:18)E/flutter(4250):#39 SliverMultiBoxAdaptorElement. updateChilt(软件包: flutter/src/小部件/Sliver. dart: 1147:36)E/flutter(4250):#40 SliverMultiBoxAdaptorElement. createChilt(软件包: flutter/src/小部件/Sliver. dart: 1132:20)E/flutter(4250):#41 BuildOwner. BuildScope(软件包: flutter/src/小部件/framework. dart: 2607:19)

这是我的代码:


import 'package:video_player/video_player.dart';
import 'package:chewie/chewie.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
    home: HomePage(),
    );
  }
}
class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Video Player"),
      ),
      body: ListView(
        children: <Widget>[
          ChewieList(
            videoPlayerController: VideoPlayerController.asset('assets/videos/soccer.mp4'),
            looping: true,
          ),
          ChewieList(
            videoPlayerController: VideoPlayerController.network(
                'https://file-examples.com/wp-content/uploads/2017/04/file_example_MP4_480_1_5MG.mp4'),
          ),
          /*
          ChewieList(
            videoPlayerController: VideoPlayerController.network(
                'http://file-examples.com/wp-content/uploads/2017/04/file_example_MP4_480_1_5MG.mp4'),
          )
           */
        ],
      ),
    );
  }
}




class ChewieList extends StatefulWidget {
  ChewieList({@required this.videoPlayerController,this.looping,Key key,}) : super(key:key);
  final VideoPlayerController videoPlayerController;
  final bool looping;

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

class _ChewieListState extends State<ChewieList> {
  ChewieController _chewieController;
  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    _chewieController = ChewieController(
        videoPlayerController: widget.videoPlayerController,
        aspectRatio: 16/9,
        autoInitialize: true,
        looping: widget.looping,
        errorBuilder: (context,errMsg){
          return Center(
            child:Column(
              mainAxisSize: MainAxisSize.min,
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Icon(Icons.warning,color: Colors.yellowAccent,),
                Text("!خطایی در برقراری ارتباط رخ داده است",style: TextStyle(color: Colors.white),)
              ],
            ),
          );
        }
    );
  }

  @override
  void dispose() {
    // TODO: implement dispose
    super.dispose();
    widget.videoPlayerController.dispose();
    _chewieController.dispose();
  }
  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: EdgeInsets.all(8.0),
      child: Chewie(
        controller: _chewieController,
      ),
    );
  }
}


这快把我逼疯了!!!!伙计们,请帮帮我。

共有1个答案

钮誉
2023-03-14

您使用了错误的url。您发布的url不是真正的视频url,只是一个重定向url。

尝试:

VideoPlayerController。网络('https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_480_1_5MG.mp4),

(请记住,iOS模拟器和其他模拟器并不总是支持视频播放。)

 类似资料:
  • 在我的应用程序中,我想显示来自服务器URI路径的视频,在这里,第一次播放视频,当我想第二次播放视频时,视频没有播放,并显示一个弹出窗口,如无法播放此视频 下面是我的错误 提前谢谢。

  • 我将在android上播放Vimeo在线流媒体的视频。为此,我现在正在使用VideoView。现在,我想控制视频播放速度控制功能,如:0.5x、1x、1,5x、2x和视频缓存支持。Android VideoView是否可以实现这两个功能,或者我是否可以使用第三个播放器?帮助

  • 本文向大家介绍java制作仿微信视频播放控件,包括了java制作仿微信视频播放控件的使用技巧和注意事项,需要的朋友参考一下 此控件继承自 SurfaceView,利用 MediaPlayer 播放视频。 小视频播放界面 MoviePlayerView.java 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 本文向大家介绍Opencv实现视频播放与进度控制,包括了Opencv实现视频播放与进度控制的使用技巧和注意事项,需要的朋友参考一下 视频画面本质上是由一帧一帧的连续图像组成的,播放视频其实就是在播放窗口把一系列连续图像按一定的时间间隔一幅幅贴上去实现的。 人眼在连续图像的刷新最少达到每秒24帧的时候,就分辨不出来图像间的闪动了,使人感觉呈现出来的是连续的画面,视频的播放就是利用了这一点。我们知道,

  • 我正在开发一个应用程序,它使用webview来显示网页,如果url是视频链接(youtube)或作为网页一部分的视频,我想播放视频。我试着把url直接添加到webview中,但它连youtube链接都不播放,我已经在webview中启用了插件和javascript.....有谁能在这个问题上帮我,

  • 我正在开发一个音频播放器,它可以在后台播放音频文件。我的问题是,当录像机或视频播放器启动时,我需要暂停音频播放器。 有什么方法可以处理这个任务吗?例如,我有来处理这些调用。当我接到呼叫或wnat呼叫时,我们可以使用呼叫状态暂停播放器。我想为录像机或视频播放器以及相同的场景。当视频/录制开始时,我需要暂停音频播放器。