我将颤振更新到1.22.0,现在我的video_player给了我异常错误。在我将颤振升级到1.22.0之前,它运行得很好。
以下是我的错误:
'package:flutter/src/services/message_codec.dart':E/
( 8545):错误:flutter/lib/ui/ui_dart_state.cc(177)未处理异常:失败断言:第111行pos 15:'code != null':不是真。E/颤振( 8545):#0
_AssertionError._doThrowNew (飞镖:核心补丁/错误补丁:46:39)E/颤振(85 45):#1 _AssertionError._throwNew (飞镖:核心补丁/错误补丁:36:5)E/颤振(85 45):#2
新(package:flutter/src/services/message_codec.dart:111:15) E/颤振(85 45):#3 VideoPlayerApi.create (package:video_player_platform_interface/messages.dart:205:13) E/颤振(85 45):E/颤振(85 45):#4
(package:video_player_platform_interface/method_channel_video_player.dart:46:42) E/颤振(85 45):#5 VideoPlayerController.initialize (package:video_player/video_player.dart:275:45) E/颤振(85 45):#6 _ScreenBackgroundVideoState.initState (package:flow/widget/background/screen_background_video.dart:17:9) E/颤振(85 45):#7 StatefulElement._firstBuild (软件包:flutter/src/widget/)E/颤振(85 45):#8 (package:flutter/src/widgets/framework.dart:4601:5) E/颤振(85 45):#9 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14) E/颤振(85 45):#10 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6236:32) E/颤振(85 45):#11 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14) E/颤振(85 45):#12 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18) E/颤振(85 45):#13 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14) E/颤振(85 45):#14 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14) E/颤振(85 45):#15 (package:flutter/src/widgets/framework.dart:3327:18) E/颤振(85 45):#16 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16) E/颤振(85 45):#17 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5) E/颤振(85 45):#18 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)E/颤振(85 45):#19 (package:flutter/src/widgets/framework.dart:4601:5) E/ ComponentElement.mount (85 45):#20 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3327:18) E/颤振(85 45):#21 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)E/颤振(85 45):#22 SingleChildRenderObjectElement.mount (封装:flutter/src/widget)E/颤振(85 45):#23 (package:flutter/src/widgets/framework.dart:3569:14) E/颤振(85 45):#24 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18) E/颤振(85 45):#25 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14) E/颤振(85 45):#26 Element.inflateWidget(package:flutter/src/widgets/framework.dart:3569:14) E/颤振(85 45):#27 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18) E/颤振(85 45):#28 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14) E/颤振(85 45):#29 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14) E/颤振(85 45):#30 (package:flutter/src/widgets/framework.dart:3327:18) E/颤振(85 45):#31 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14) E/颤振(85 45):#32 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14) E/颤振(85 45):#33 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)E/颤振(85 45):#34 (package:flutter/src/widgets/framework.dart:4652:16) E/颤振(85 45):#35 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5) E/颤振(85 45):#36 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5) E/颤振(85 45):#37 ComponentElement.mount (包装:Element.rebuild/src/widgets/Frawork.Dart:4601:5)E/ (package:flutter/src/widgets/framework.dart:3327:18) ( 8545):#38 Element.inflateWidget (package:flutter/src/widgets/framework.dart:6118:14) E/颤振(85 45):#39 Element.updateChild (package:flutter/src/widgets/framework.dart:6118:14)E/颤振(85 45):#40 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14)E/颤振(85 45):#41元素。(package:flutter/src/widgets/framework.dart:3569:14) E/颤振(85 45):#42 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18) E/颤振(85 45):#43 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
这是我的代码:
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';
class ScreenBackgroundVideo extends StatefulWidget {
@override
_ScreenBackgroundVideoState createState() => _ScreenBackgroundVideoState();
}
class _ScreenBackgroundVideoState extends State<ScreenBackgroundVideo> {
VideoPlayerController _controller;
@override
void initState() {
super.initState();
_controller = VideoPlayerController.asset('assets/vid/login.mp4')
// set background video using assets for login screen
..initialize().then((_) {
// Ensure the first frame is shown after the video is initialized, even before the play button has been pressed.
setState(() {});
}); // background video will play as soon as the splashscreen is closed
_controller.play();
_controller
.setLooping(true); // looping set to true for the background video
_controller.setVolume(0); // volume set to 0 for background video
}
@override
void dispose() {
super.dispose();
// TODO: implement dispose
_controller.dispose(); // Dispose the controller after play is done.
}
@override
Widget build(BuildContext context) {
return Container(
child: _controller.value.initialized
? AspectRatio(
aspectRatio: _controller.value.aspectRatio,
child: VideoPlayer(_controller),
)
: Container(),
);
}
}需要帮助才能解决这个问题。
发布于 2020-10-06 06:45:33
为了让我的video_player工作,我不得不将我的颤振版本降到1.20.2。
如果有其他解决办法,请告诉我。
发布于 2020-10-06 11:28:38
或者,如果您没有在视频播放器插件中使用任何新功能,则可以将视频播放器降级为0.10.11+2,而不是降级颤振。
您可以在这里找到更多详细信息:https://github.com/flutter/flutter/issues/66627
发布于 2020-12-23 07:23:32
同样的问题--我刚刚升级了颤振版本1.22.5,它起了作用
https://stackoverflow.com/questions/64191623
复制相似问题