Plugin video_player không thể phát video - Flutter
Tôi đã cập nhật sự rung động của mình lên 1.22.0 và giờ đây video_player của tôi đã cho tôi lỗi Ngoại lệ. Nó đã hoạt động tốt trước khi tôi cập nhật bộ rung của mình lên 1.22.0.
Đây là lỗi của tôi:
E / flating (8545): [ERROR: flashing / lib / ui / ui_dart_state.cc (177)] Unhandled Exception: 'package: flashing / src / services / message_codec.dart': Xác nhận không thành công: dòng 111 pos 15: 'code ! = null ': không đúng. E /
flaming (8545): # 0 _AssertionError._doThrowNew (dart: core-patch / error_patch.dart: 46: 39) E / flashing (8545): # 1 _AssertionError._throwNew (dart: core-patch / error_patch.dart: 36: 5) E / flashing (8545): # 2
PlatformException mới (gói: flashing / src / services / message_codec.dart: 111: 15) E / flashing (8545): # 3 VideoPlayerApi.create (gói: video_player_platform_interface / messages .dart: 205: 13) E / rung (8545): E / rung (8545): # 4
MethodChannelVideoPlayer.create (gói: video_player_platform_interface / method_channel_video_player.dart: 46: 42) E / flashing (8545): # 5 VideoPlayerController.initialize (package: video_player / video_player.dart: 275: 45) E / flashing (8545): # 6 _ScreenBackgroundVideoState.initState (package: flow / widget / background / screen_background_video.dart: 17: 9) E / flashing (8545): # 7 StatefulElement._firstBuild (package: flashing / src / widgets / framework.dart: 4765: 58) E / flay (8545): # 8 ComponentElement.mount (gói: flay / src / widgets / framework.dart: 4601: 5) E / flashing (8545): # 9 Element.inflateWidget (gói: flay / src / widgets / framework .dart: 3569: 14) E / flashing (8545): # 10 MultiChildRenderObjectElement.mount (gói: flay / src / widgets / framework.dart: 6236: 32) E / flay (8545): # 11 Element.inflateWidget (gói : flay / src / widgets / framework.dart: 3569: 14) E / flashing (8545): # 12 Element.updateChild (gói: flay / src / widgets / framework.dart: 3327: 18) E / flashing (8545) : # 13 SingleChildRenderObjectElement. mount (package: Flagship / src / widgets / framework.dart: 6118: 14) E / flashing (8545): # 14 Element.inflateWidget (package: flay / src / widgets / framework.dart: 3569: 14) E / flashing (8545): # 15 Element.updateChild (gói: Flagship / src / widgets / framework.dart: 3327: 18) E / Flaming (8545): # 16 ComponentElement.performRebuild (package: flaming / src / widgets / framework.dart : 4652: 16) E / flay (8545): # 17 Element.rebuild (gói: Flagship / src / widgets / framework.dart: 4343: 5) E / flay (8545): # 18 ComponentElement._firstBuild (gói: flaming /src/widgets/framework.dart:4606:5) E / flashing (8545): # 19 ComponentElement.mount (package: flashing / src / widgets / framework.dart: 4601: 5) E / flashing (8545): # 20 Element.inflateWidget (gói: flay / src / widgets / framework.dart: 3569: 14) E / flashing (8545): # 21 Element.updateChild (gói: flay / src / widgets / framework.dart: 3327: 18) E / Flaming (8545): # 22 SingleChildRenderObjectElement.mount (package: flashing / src / widgets / framework.dart: 6118: 14) E / flashing (8545): # 23 Element.inflateW idget (gói: flay / src / widgets / framework.dart: 3569: 14) E / flashing (8545): # 24 Element.updateChild (package: flay / src / widgets / framework.dart: 3327: 18) (8545): # 25 SingleChildRenderObjectElement.mount (gói: flay / src / widgets / framework.dart: 6118: 14) E / flashing (8545): # 26 Element.inflateWidget (gói: flaming / src / widgets / framework.dart : 3569: 14) E / Flaming (8545): # 27 Element.updateChild (package: flashing / src / widgets / framework.dart: 3327: 18) E / flashing (8545): # 28 SingleChildRenderObjectElement.mount (package: flaming /src/widgets/framework.dart:6118:14) E / Flaming (8545): # 29 Element.inflateWidget (package: Flaming / src / widgets / framework.dart: 3569: 14) E / Flaming (8545): # 30 Element.updateChild (gói: Flagship / src / widgets / framework.dart: 3327: 18) E / Flaming (8545): # 31 SingleChildRenderObjectElement.mount (package: flaming / src / widgets / framework.dart: 6118: 14) E / Flaming (8545): # 32 Element.inflateWidget (package: flashing / src / widgets / framework.dart: 3569: 14) E / flashing (8545): # 33 Element.updateChild (package: flay / src / widgets / framework.dart: 3327: 18) E / flashing (8545): # 34 ComponentElement.performRebuild (package: flashing / src / widgets / framework.dart: 4652: 16) E / Flaming (8545): # 35 Element.rebuild (package: Flagship / src / widgets / framework.dart: 4343: 5) E / flashing (8545): # 36 ComponentElement._firstBuild (package: flaming / src / widgets / framework.dart: 4606: 5) E / flashing (8545): # 37 ComponentElement.mount (package: flashing / src / widgets / framework.dart: 4601: 5) E / flashing (8545): # 38 Element.inflateWidget ( package: Flagship / src / widgets / framework.dart: 3569: 14) E / flashing (8545): # 39 Element.updateChild (package: flay / src / widgets / framework.dart: 3327: 18) E / flashing (8545 ): # 40 SingleChildRenderObjectElement.mount (gói: Flagship / src / widgets / framework.dart: 6118: 14) E / flashing (8545): # 41 Element.inflateWidget (gói: flashing / src / widgets / framework.dart: 3569 : 14) E / Flaming (8545): # 42 Element.updateChild (package: Flaming / src / widgets / framework.dart: 3327: 18) E / Flaming (8545): # 43 ComponentElement.performRebuild (gói: Flagship / src / widgets / framework.dart: 4652: 16)
Đây là mã của tôi:
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(),
);
}
}
Cần giúp đỡ để sửa lỗi này.
Trả lời
Tôi đã phải hạ cấp phiên bản Flagship xuống 1.20.2 để video_player của tôi hoạt động.
Nếu có bất kỳ giải pháp nào khác, xin vui lòng cho tôi biết.
Ngoài ra, bạn có thể hạ cấp trình phát video xuống 0.10.11 + 2 thay vì hạ cấp rung nếu bạn không sử dụng bất kỳ tính năng mới nào bên trong plugin trình phát video.
Bạn có thể tìm thêm thông tin chi tiết tại đây: https://github.com/flutter/flutter/issues/66627
Vấn đề tương tự, tôi vừa nâng cấp phiên bản Flagship 1.22.5 và nó hoạt động